if n.id not in ids:
if n.unread:
data['unread_count'] +=1
- data['unread_count_by_type'][n.type] +=1
+ data['unread_count_by_type'][n.type] +=1
notifications.append(n)
ids.append(n.id)
self._notifications = notifications
self._data = data
-
+
def _update(self, new_notifications):
ids = [notification.id for notification in self._notifications]
notifications = self._notifications
data = self._data
-
+
update = False
- if new_notifications[len(new_notifications)].id not in ids:
+ if new_notifications[len(new_notifications)-1].id not in ids:
update = True
-
+
for i in range(len(new_notifications)):
if new_notifications[-i].id not in ids:
if new_notifications[-i].unread:
- data[new_notifications[-i].type].unread_count +=1
- data[new_notifications[-i].type].unread_count_by_type +=1
+ 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
self._data = data
- if update:
- self.update() # if there is a gap
+ if update: self.update() # if there is a gap
def update(self, per_page=5, page=1):
result = self.get(per_page=per_page, page=page)
- if result:
- self._expand( result )
-
+ if result: self._update( result )
+
def more(self, per_page=5, page=0):
if not page: page = self.page + 1
self.page = page