diff options
Diffstat (limited to 'src/jarabe')
-rw-r--r-- | src/jarabe/model/bundleregistry.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/jarabe/model/bundleregistry.py b/src/jarabe/model/bundleregistry.py index 6a05734..62ac6e2 100644 --- a/src/jarabe/model/bundleregistry.py +++ b/src/jarabe/model/bundleregistry.py @@ -72,7 +72,15 @@ class BundleRegistry(gobject.GObject): if not one_file.get_path().endswith('.activity'): return if event_type == gio.FILE_MONITOR_EVENT_CREATED: - self.add_bundle(one_file.get_path()) + try: + bundle = ActivityBundle(one_file.get_path()) + except MalformedBundleException: + logging.error('Error loading bundle %r:\n%s' % ( + one_file.get_path(), + ''.join(traceback.format_exception(*sys.exc_info())))) + return + if not self.is_installed(bundle): + self.add_bundle(one_file.get_path()) elif event_type == gio.FILE_MONITOR_EVENT_DELETED: self.remove_bundle(one_file.get_path()) |