def __init__(self, week_range):
self.date_range = date.today() - timedelta(weeks=week_range)
self.user_obj = requests.get('https://www.toggl.com/api/v8/me?with_related_data=true', auth=(API_KEY, 'api_token')).json()
self.projects = [(x['name'], x['id']) for x in self.user_obj['data']['projects']] # comprehension returning list of (name, id) pairs
# get last [week_range] weeks of entries
self.time_entries = requests.get('https://www.toggl.com/api/v8/time_entries?start_date=' + \
str(self.date_range) + 'T00:00:00' + TIMEZONE_ENCODED, auth=(API_KEY, 'api_token')).json()
self.time_log = OrderedDict()
while self.date_range <= date.today():
self.time_log[str(self.date_range)] = LogEntry(self.date_range)
self.date_range = self.date_range + timedelta(days=1)
for entry in self.time_entries:
entry_date = entry['start'].split('T')[0] # split date from time
self.time_log[entry_date].time = self.time_log[entry_date].time + entry['duration']
for entry in self.time_log.values():
entry.toHours() # after iterating through each individual entry (many days having multiple), convert time to hours
评论列表
文章目录