1
1
# -*- coding: utf-8 -*-
2
2
""" Implements a Todoist synchronisation task.
3
3
"""
4
- # Ensure backwards compatibility with Python 2
5
- from __future__ import (
6
- absolute_import ,
7
- division ,
8
- print_function ,
9
- unicode_literals )
10
- from builtins import *
11
- from datetime import datetime
12
- from tzlocal import get_localzone
13
-
14
-
4
+ from datetime import datetime , timedelta
5
+ import pytz
6
+ from dateutil import parser
7
+ import main
15
8
#from .dates import parse_date_utc
16
9
#from .task import CharacterAttribute, ChecklistItem, Difficulty, Task
17
10
18
11
"""
19
12
So what if I did todoist work a sliiiightly different way, using all my task IDs?
20
13
"""
21
14
22
- class TodTask (object ):
15
+
16
+ class TodTask ():
17
+ '''Hold a Todoist task '''
23
18
def __init__ (self , task = None ):
24
19
""" Initialise the task.
25
20
@@ -70,7 +65,6 @@ def id(self):
70
65
@property
71
66
#task name
72
67
def history (self ):
73
- import main
74
68
tod_user = main .tod_login ('auth.cfg' )
75
69
activity = tod_user .activity .get (object_type = 'item' , object_id = self .__task_dict ['id' ], event_type = 'completed' )
76
70
return activity
@@ -125,20 +119,17 @@ def due_date(self, date):
125
119
@property
126
120
#due date
127
121
def due (self ):
128
- from dateutil import parser
129
- import datetime
130
122
if self .__task_dict ['due' ] is not None :
131
- date = parser .parse (self .__task_dict ['due' ]['date' ])
123
+ if isinstance (self .__task_dict ['due' ], dict ):
124
+ date = parser .parse (self .__task_dict ['due' ]['date' ])
125
+ else :
126
+ date = self .__task_dict ['due' ]
132
127
return date
133
128
return ''
134
129
135
130
@property
136
131
#is it due TODAY?
137
132
def dueToday (self ):
138
- from dateutil import parser
139
- from datetime import datetime
140
- from datetime import timedelta
141
- import pytz
142
133
today = datetime .utcnow ().replace (tzinfo = pytz .UTC )
143
134
try :
144
135
# that datetime thing is pulling todoist's due dates to my time zone
@@ -163,10 +154,7 @@ def date_string(self):
163
154
@property
164
155
#should it be due today?
165
156
def dueLater (self ):
166
- from dateutil import parser
167
- import datetime
168
- import pytz
169
- today = datetime .datetime .utcnow ().replace (tzinfo = pytz .UTC )
157
+ today = datetime .utcnow ().replace (tzinfo = pytz .UTC )
170
158
try :
171
159
wobble = parser .parse (self .__task_dict ['due' ])
172
160
dueDate = wobble .date ()
0 commit comments