Just remove all items and re-add them on index
authorJack Miller <jack@codezen.org>
Mon, 24 Nov 2014 21:46:23 +0000 (15:46 -0600)
committerJack Miller <jack@codezen.org>
Mon, 24 Nov 2014 21:46:23 +0000 (15:46 -0600)
- Less code, and keeps items on life support (i.e. not in the feed but
  kept around via keep_time or keep_unread ) toward the end instead of
the beginning so tag[0] is always the most recent top item.

canto_next/feed.py

index 65f000c..11c45f4 100644 (file)
@@ -180,19 +180,6 @@ class CantoFeed(PluginHandler):
 
         allfeeds.add_feed(URL, self)
 
-    # Identify items that are no longer being recorded.
-
-    def old_ids(self, olditems):
-        r = []
-        for olditem in olditems:
-            for item in self.shelf[self.URL]["entries"]:
-                if item["id"] == olditem["id"]:
-                    break
-            else:
-                cache_id = self._cacheitem(olditem)["id"]
-                r.append(cache_id)
-        return r
-
     # Return { id : { attribute : value .. } .. }
 
     def get_attributes(self, items, attributes):
@@ -410,7 +397,7 @@ class CantoFeed(PluginHandler):
 
             self.shelf[self.URL] = update_contents
 
-            to_remove = self.old_ids(old_contents["entries"])
+            to_remove = [ self._cacheitem(x)["id"] for x in old_contents["entries"] ]
 
             self.lock.release_write()