summaryrefslogtreecommitdiff
path: root/inbox_for_todoist.widget/todoistinbox.py
blob: c49d3f59d6ae1cfa4681d24379f8036726bc41a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# -*-coding:utf-8 -*
import online
import pickle
import os

def main():
    with open('todoist_API.txt') as f:  # Opens the API key file
    token = f.readline()  # Sets the first line of the txt file as your API Key

    if online.main() == False:
        with open("todoist.cache", "rb") as myFile:
            loaded_cache = pickle.load(myFile)
        rank = 0
        for i in loaded_cache:  #going through all the items in todoist
            if i['project_id'] == 170911352:  # if an item is in the inbox
                if i['checked'] == 0:  # if the item is incomplete
                    if i['priority'] == 1:
                        pri = "<p class='priority4'>"
                    elif i['priority'] == 2:
                        pri = "<p class='priority3'>"
                    elif i['priority'] == 3:
                        pri = "<p class='priority2'>"
                    elif i['priority'] == 4:
                        pri = "<p class='priority1'>"
                    rank += 1
                    print(pri, "<b>", rank, '- </b>', i['content'], "</p>")  # print name and id


    elif online.main() == True:
        from todoist.api import TodoistAPI
        api = TodoistAPI(token)
        api.sync()  # initial sync

        if os.path.exists("todoist.cache"):  # Delete old cache
            os.remove("todoist.cache")
        open("todoist.cache", 'a').close()  # Initialise new cache
        # https://stackoverflow.com/questions/17322273/store-a-dictionary-in-a-file-for-later-retrieval
        with open("todoist.cache", "wb") as myFile:
            pickle.dump(api.state['items'], myFile)

        rank = 0
        for i in api.state['items']:  #going through all the items in todoist
            if i['project_id'] == 170911352:  # if an item is in the inbox
                if i['checked'] == 0:  # if the item is incomplete
                    if i['priority'] == 1:
                        pri = "<p class='priority4'>"
                    elif i['priority'] == 2:
                        pri = "<p class='priority3'>"
                    elif i['priority'] == 3:
                        pri = "<p class='priority2'>"
                    elif i['priority'] == 4:
                        pri = "<p class='priority1'>"  # FIXME: Color coding not working...
                    rank += 1
                    print(pri, "<b>", rank, '- </b>', i['content'], "</p>")  # print name and id

if __name__ == '__main__':
    main()