IMPORTANT: these changes will require dateutil or pytz
[diaspy.git] / diaspy / notifications.py
index d3ef64529e1bdbd753f5bd2b06fd71965b321b07..1fbd44f98c5e9b3e808a594dee0667fc9dec710c 100644 (file)
@@ -50,38 +50,36 @@ class Notifications():
             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