self._notifications = self.get()
self.page = 1
- def __len__(self): return len(self._notifications);
+ def __len__(self):
+ return len(self._notifications)
def __iter__(self):
return iter(self._notifications)
self._data['unread_count_by_type'] = notifications['unread_count_by_type']
return [Notification(self._connection, n) for n in notifications.get('notification_list', [])]
- def data(self): return self._data;
-
def last(self):
"""Returns list of most recent notifications.
"""
request = self._connection.get('notifications.json', headers=headers, params=params)
if request.status_code != 200:
- raise Exception('status code: {0}: cannot retreive notifications'.format(request.status_code))
+ raise Exception('status code: {0}: cannot retrieve notifications'.format(request.status_code))
return self._finalise(request.json())
def _expand(self, new_notifications):
data = self._data
for n in new_notifications:
if n.id not in ids:
+ if n.unread:
+ data['unread_count'] +=1
+ data['unread_count_by_type'][n.type] +=1
notifications.append(n)
ids.append(n.id)
self._notifications = notifications
- self._data.update(data);
+ self._data = data
def _update(self, new_notifications):
ids = [notification.id for notification in self._notifications]
for i in range(len(new_notifications)):
if new_notifications[-i].id not in ids:
+ if new_notifications[-i].unread:
+ data['unread_count'] +=1
+ data['unread_count_by_type'][new_notifications[-i].type] +=1
notifications = [new_notifications[-i]] + notifications
ids.append(new_notifications[-i].id)
self._notifications = notifications
if not page: page = self.page + 1
self.page = page
result = self.get(per_page=per_page, page=page)
- if result: self._expand( result )
+ if result:
+ self._expand( result )
def get(self, per_page=5, page=1):
"""Returns list of notifications.