Public feed #725390

Unnamed

public text v1 · immutable
Raw Edit
·published 2007-10-04 11:29 UTC
rendered paste body
diff --git a/query.py b/query.py
index bfb7b26..12ebdd0 100644
--- a/query.py
+++ b/query.py
@@ -46,7 +46,7 @@ class _Cache(gobject.GObject):
         self._array = []
         self._dict = {}
         if jobjects is not None:
-            self.append_all(jobjects)
+            self.append(jobjects)
 
         logging.debug('_Cache.__init__: connecting signals.')
         bus = dbus.SessionBus()
@@ -59,22 +59,27 @@ class _Cache(gobject.GObject):
         self._datastore_deleted_handler = \
                 datastore.connect_to_signal('Deleted', self._datastore_deleted_cb)
 
-    def prepend_all(self, jobjects):
+    def prepend(self, jobjects):
         for jobject in jobjects[::-1]:
             self._array.insert(0, jobject)
             self._dict[jobject.object_id] = jobject
 
-    def append_all(self, jobjects):
+    def append(self, jobjects):
         for jobject in jobjects:
             self._array.append(jobject)
             self._dict[jobject.object_id] = jobject
     
-    def remove_all(self, jobjects):
+    def remove(self, jobjects):
         for jobject in jobjects:
             self._array.remove(jobject)
             del self._dict[jobject.object_id]
         self._destroy_jobjects(jobjects)
 
+    def remove_all(self):
+        self._destroy_jobjects(self._array)
+        self._array = []
+        self._dict = {}
+
     def __len__(self):
         return len(self._array)
 
@@ -89,12 +94,10 @@ class _Cache(gobject.GObject):
         self._datastore_created_handler.remove()
         self._datastore_updated_handler.remove()
         self._datastore_deleted_handler.remove()
-        self._destroy_jobjects(self._array)
+        self.remove_all()
 
     def _invalidate(self):
-        self._destroy_jobjects(self._array)
-        self._array = []
-        self._dict = {}
+        self.remove_all()
         self.emit('modified')
 
     def _destroy_jobjects(self, jobjects):
@@ -155,7 +158,7 @@ class ResultSet(gobject.GObject):
                                                          sorting=self._sorting,
                                                          limit=ResultSet._CACHE_LIMIT,
                                                          properties=PROPERTIES)
-            self._cache.append_all(jobjects)
+            self._cache.append(jobjects)
             self._offset = 0
         return self._total_count
 
@@ -194,8 +197,8 @@ class ResultSet(gobject.GObject):
                     limit=ResultSet._CACHE_LIMIT,
                     properties=PROPERTIES)
 
-            self._cache.remove_all(self._cache)
-            self._cache.append_all(jobjects)
+            self._cache.remove_all()
+            self._cache.append(jobjects)
             self._offset = offset
             
         elif remaining_forward_entries < 2 * max_count and \
@@ -208,13 +211,13 @@ class ResultSet(gobject.GObject):
                                                          offset=last_cached_entry,
                                                          limit=max_count)
             # update cache
-            self._cache.append_all(jobjects)
+            self._cache.append(jobjects)
 
             # apply the cache limit
             objects_excess = len(self._cache) - ResultSet._CACHE_LIMIT
             if objects_excess > 0:
                 self._offset += objects_excess
-                self._cache.remove_all(self._cache[:objects_excess])
+                self._cache.remove(self._cache[:objects_excess])
 
         elif remaining_backwards_entries < 2 * max_count and self._offset > 0:
 
@@ -231,12 +234,12 @@ class ResultSet(gobject.GObject):
                     properties=PROPERTIES)
 
             # update cache
-            self._cache.prepend_all(jobjects)
+            self._cache.prepend(jobjects)
 
             # apply the cache limit
             objects_excess = len(self._cache) - ResultSet._CACHE_LIMIT
             if objects_excess > 0:
-                self._cache.remove_all(self._cache[-objects_excess:])
+                self._cache.remove(self._cache[-objects_excess:])
         else:
             logging.debug('cache hit and no need to grow the cache')