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-12-03 09:49:46 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2008-12-03 09:49:46 (GMT)
commit5705d4b086775db95dfab5b305a2696570bc7970 (patch)
tree6a0882d26e029ea4ce5d32e5b37505e1a1ca8fd0
parenta488a1f039968851b324c1aead4a697d3606e8cd (diff)
Improve error reporting
-rw-r--r--src/olpc/datastore/datastore.py19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/olpc/datastore/datastore.py b/src/olpc/datastore/datastore.py
index 213e74e..95f4bad 100644
--- a/src/olpc/datastore/datastore.py
+++ b/src/olpc/datastore/datastore.py
@@ -19,6 +19,7 @@ import logging
import uuid
import time
import os
+import traceback
import dbus
import gobject
@@ -63,8 +64,9 @@ class DataStore(dbus.service.Object):
self._index_store = IndexStore()
try:
self._index_store.open_index()
- except Exception, e:
- logging.error('Failed to open index, will rebuild: %r', e)
+ except Exception:
+ logging.error('Failed to open index, will rebuild\n%r' \
+ % traceback.format_exc())
layout_manager.index_updated = False
self._index_store.remove_index()
self._index_store.open_index()
@@ -91,8 +93,12 @@ class DataStore(dbus.service.Object):
(uid, len(uids)))
if not self._index_store.contains(uid):
- props = self._metadata_store.retrieve(uid)
- self._index_store.store(uid, props)
+ try:
+ props = self._metadata_store.retrieve(uid)
+ self._index_store.store(uid, props)
+ except Exception:
+ logging.error('Error processing %r\n%s.' \
+ % (uid, traceback.format_exc())
if not uids:
logging.debug('Finished updating index.')
@@ -197,8 +203,9 @@ class DataStore(dbus.service.Object):
else:
try:
uids, count = self._index_store.find(query)
- except Exception, e:
- logging.error('Failed to query index, will rebuild: %r', e)
+ except Exception:
+ logging.error('Failed to query index, will rebuild\n%r' \
+ % traceback.format_exc())
layoutmanager.get_instance().index_updated = False
self._index_store.close_index()
self._index_store.remove_index()