diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-09-25 13:45:49 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2008-09-25 13:45:49 (GMT) |
commit | 1895422a3bb49cc31ab5220056b1b960986eb611 (patch) | |
tree | 9d4560ff8e5ea6d400c8566555a31feafd5e530f | |
parent | d9c4fe721e9b83bc2015f387654db4a42270a353 (diff) |
Handle the new datastore case
-rw-r--r-- | src/olpc/datastore/datastore.py | 16 |
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: |