Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2008-09-25 13:45:49 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-09-25 13:45:49 (GMT)
commit1895422a3bb49cc31ab5220056b1b960986eb611 (patch)
tree9d4560ff8e5ea6d400c8566555a31feafd5e530f
parentd9c4fe721e9b83bc2015f387654db4a42270a353 (diff)
Handle the new datastore case
-rw-r--r--src/olpc/datastore/datastore.py16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py
index 95ea4da..1b8af7a 100644
--- a/src/olpc/datastore/datastore.py
+++ b/src/olpc/datastore/datastore.py
@@ -62,19 +62,21 @@ class DataStore(dbus.service.Object):
def _rebuild_index(self):
uids = layoutmanager.get_instance().find_all()
gobject.idle_add(lambda: self.__rebuild_index_cb(uids),
- priority=gobject.PRIORITY_LOW)
+ priority=gobject.PRIORITY_LOW)
def __rebuild_index_cb(self, uids):
- uid = uids.pop()
+ if uids:
+ uid = uids.pop()
- logging.debug('Updating entry %r in index. %d to go.' % \
- (uid, len(uids)))
+ logging.debug('Updating entry %r in index. %d to go.' % \
+ (uid, len(uids)))
- if not self._index_store.contains(uid):
- props = self._metadata_store.retrieve(uid)
- self._index_store.store(uid, props)
+ if not self._index_store.contains(uid):
+ props = self._metadata_store.retrieve(uid)
+ self._index_store.store(uid, props)
if not uids:
+ logging.debug('Finished updating index.')
layoutmanager.get_instance().index_updated = True
return False
else: