11# -*- coding: utf-8 -*-
22""" Implements a Todoist synchronisation task.
33"""
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
158#from .dates import parse_date_utc
169#from .task import CharacterAttribute, ChecklistItem, Difficulty, Task
1710
1811"""
1912So what if I did todoist work a sliiiightly different way, using all my task IDs?
2013"""
2114
22- class TodTask (object ):
15+
16+ class TodTask ():
17+ '''Hold a Todoist task '''
2318 def __init__ (self , task = None ):
2419 """ Initialise the task.
2520
@@ -70,7 +65,6 @@ def id(self):
7065 @property
7166 #task name
7267 def history (self ):
73- import main
7468 tod_user = main .tod_login ('auth.cfg' )
7569 activity = tod_user .activity .get (object_type = 'item' , object_id = self .__task_dict ['id' ], event_type = 'completed' )
7670 return activity
@@ -125,20 +119,17 @@ def due_date(self, date):
125119 @property
126120 #due date
127121 def due (self ):
128- from dateutil import parser
129- import datetime
130122 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' ]
132127 return date
133128 return ''
134129
135130 @property
136131 #is it due TODAY?
137132 def dueToday (self ):
138- from dateutil import parser
139- from datetime import datetime
140- from datetime import timedelta
141- import pytz
142133 today = datetime .utcnow ().replace (tzinfo = pytz .UTC )
143134 try :
144135 # that datetime thing is pulling todoist's due dates to my time zone
@@ -163,10 +154,7 @@ def date_string(self):
163154 @property
164155 #should it be due today?
165156 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 )
170158 try :
171159 wobble = parser .parse (self .__task_dict ['due' ])
172160 dueDate = wobble .date ()
0 commit comments