Skip to content
This repository has been archived by the owner on Feb 21, 2022. It is now read-only.

Commit

Permalink
Refactor get_*() calls to return the whole object.
Browse files Browse the repository at this point in the history
  • Loading branch information
lefcha committed May 20, 2016
1 parent 3cad766 commit b01018d
Showing 1 changed file with 55 additions and 39 deletions.
94 changes: 55 additions & 39 deletions todoist/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -539,80 +539,96 @@ def get_project(self, project_id):
"""
params = {'token': self.token,
'project_id': project_id}
data = self._get('get_project', params=params)
obj = data.get('project', None)
if obj and 'error' not in obj:
self._update_state({'Projects': [obj]})
return [o for o in self.state['Projects']
if o['id'] == obj['id']][0]
return None
obj = self._get('get_project', params=params)
print(obj)
if obj and 'error' in obj:
return None
data = {'Projects': [], 'ProjectNotes': []}
if obj.get('project'):
data['Projects'].append(obj.get('project'))
if obj.get('notes'):
data['ProjectNotes'] += obj.get('notes')
self._update_state(data)
return obj

def get_item(self, item_id):
"""
Gets an existing item.
"""
params = {'token': self.token,
'item_id': item_id}
data = self._get('get_item', params=params)
obj = data.get('item', None)
if obj and 'error' not in obj:
self._update_state({'Items': [obj]})
return [o for o in self.state['Items'] if o['id'] == obj['id']][0]
return None
obj = self._get('get_item', params=params)
if obj and 'error' in obj:
return None
data = {'Projects': [], 'Items': [], 'Notes': []}
if obj.get('project'):
data['Projects'].append(obj.get('project'))
if obj.get('item'):
data['Items'].append(obj.get('item'))
if obj.get('notes'):
data['Notes'] += obj.get('notes')
self._update_state(data)
return obj

def get_label(self, label_id):
"""
Gets an existing label.
"""
params = {'token': self.token,
'label_id': label_id}
data = self._get('get_label', params=params)
obj = data.get('label', None)
if obj and 'error' not in obj:
self._update_state({'Labels': [obj]})
return [o for o in self.state['Labels'] if o['id'] == obj['id']][0]
return None
obj = self._get('get_label', params=params)
if obj and 'error' in obj:
return None
data = {'Labels': []}
if obj.get('label'):
data['Labels'].append(obj.get('label'))
self._update_state(data)
return obj

def get_note(self, note_id):
"""
Gets an existing note.
"""
params = {'token': self.token,
'note_id': note_id}
data = self._get('get_note', params=params)
obj = data.get('note', None)
if obj and 'error' not in obj:
self._update_state({'Notes': [obj]})
return [o for o in self.state['Notes'] if o['id'] == obj['id']][0]
return None
obj = self._get('get_note', params=params)
if obj and 'error' in obj:
return None
data = {'Notes': []}
if obj.get('note'):
data['Notes'].append(obj.get('note'))
self._update_state(data)
return obj

def get_filter(self, filter_id):
"""
Gets an existing filter.
"""
params = {'token': self.token,
'filter_id': filter_id}
data = self._get('get_filter', params=params)
obj = data.get('filter', None)
if obj and 'error' not in obj:
self._update_state({'Filters': [obj]})
return [o for o in self.state['Filters']
if o['id'] == obj['id']][0]
return None
obj = self._get('get_filter', params=params)
if obj and 'error' in obj:
return None
data = {'Filters': []}
if obj.get('filter'):
data['Filters'].append(obj.get('filter'))
self._update_state(data)
return obj

def get_reminder(self, reminder_id):
"""
Gets an existing reminder.
"""
params = {'token': self.token,
'reminder_id': reminder_id}
data = self._get('get_reminder', params=params)
obj = data.get('reminder', None)
if obj and 'error' not in obj:
self._update_state({'Reminders': [obj]})
return [o for o in self.state['Reminders']
if o['id'] == obj['id']][0]
return None
obj = self._get('get_reminder', params=params)
if obj and 'error' in obj:
return None
data = {'Reminders': []}
if obj.get('reminder'):
data['Reminders'].append(obj.get('reminder'))
self._update_state(data)
return obj

# Templates
def import_template_into_project(self, project_id, filename, **kwargs):
Expand Down

0 comments on commit b01018d

Please sign in to comment.