Merge lp:~laney/unity-lens-photos/handle-libaccounts-failure into lp:unity-lens-photos

Proposed by Iain Lane
Status: Merged
Approved by: David Callé
Approved revision: 101
Merged at revision: 101
Proposed branch: lp:~laney/unity-lens-photos/handle-libaccounts-failure
Merge into: lp:unity-lens-photos
Diff against target: 50 lines (+15/-3)
3 files modified
src/facebook_scope.py (+5/-1)
src/flickr_scope.py (+5/-1)
src/picasa_scope.py (+5/-1)
To merge this branch: bzr merge lp:~laney/unity-lens-photos/handle-libaccounts-failure
Reviewer Review Type Date Requested Status
David Callé (community) Approve
Review via email: mp+129255@code.launchpad.net

Description of the change

We need to handle failure to open the accounts database otherwise the lens crashes. This code seems to be mostly duplicated between scopes already.

Perhaps some refactoring to attempt the DB opening sooner could make us return earlier, freeing up resources in the case where it fails.

(I also noticed quite a few unused imports that you may want to clean up).

To post a comment you must log in.
Revision history for this message
David Callé (davidc3) wrote :

Looking good. Thanks Iain.

I will push some cleaning in another branch.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/facebook_scope.py'
--- src/facebook_scope.py 2012-09-27 09:21:29 +0000
+++ src/facebook_scope.py 2012-10-11 16:57:43 +0000
@@ -93,7 +93,11 @@
93 def _get_accounts_for_service (self, service):93 def _get_accounts_for_service (self, service):
94 """Get online accounts matching the scope service"""94 """Get online accounts matching the scope service"""
95 self._accounts = []95 self._accounts = []
96 self._account_manager = Accounts.Manager.new_for_service_type("sharing")96 try:
97 self._account_manager = Accounts.Manager.new_for_service_type("sharing")
98 except TypeError as e:
99 print ("Error (facebook): Unable to initialise accounts manager: %s" % e)
100 return
97 self._account_manager.connect("enabled-event", self._on_enabled_event)101 self._account_manager.connect("enabled-event", self._on_enabled_event)
98 self._account_manager.connect("account-deleted", self._on_deleted_event)102 self._account_manager.connect("account-deleted", self._on_deleted_event)
99 for account_service in self._account_manager.get_enabled_account_services():103 for account_service in self._account_manager.get_enabled_account_services():
100104
=== modified file 'src/flickr_scope.py'
--- src/flickr_scope.py 2012-09-27 08:45:38 +0000
+++ src/flickr_scope.py 2012-10-11 16:57:43 +0000
@@ -94,7 +94,11 @@
94 def _get_accounts_for_service (self, service):94 def _get_accounts_for_service (self, service):
95 """Get online accounts matching the scope service"""95 """Get online accounts matching the scope service"""
96 self._accounts = []96 self._accounts = []
97 self._account_manager = Accounts.Manager.new_for_service_type("sharing")97 try:
98 self._account_manager = Accounts.Manager.new_for_service_type("sharing")
99 except TypeError as e:
100 print ("Error (flickr): Unable to initialise accounts manager: %s" % e)
101 return
98 self._account_manager.connect("enabled-event", self._on_enabled_event)102 self._account_manager.connect("enabled-event", self._on_enabled_event)
99 self._account_manager.connect("account-deleted", self._on_deleted_event)103 self._account_manager.connect("account-deleted", self._on_deleted_event)
100 for account_service in self._account_manager.get_enabled_account_services():104 for account_service in self._account_manager.get_enabled_account_services():
101105
=== modified file 'src/picasa_scope.py'
--- src/picasa_scope.py 2012-09-27 08:47:07 +0000
+++ src/picasa_scope.py 2012-10-11 16:57:43 +0000
@@ -76,7 +76,11 @@
76 def _get_accounts_for_service (self, service):76 def _get_accounts_for_service (self, service):
77 """Get online accounts matching the scope service"""77 """Get online accounts matching the scope service"""
78 self._accounts = []78 self._accounts = []
79 self._account_manager = Accounts.Manager.new_for_service_type("sharing")79 try:
80 self._account_manager = Accounts.Manager.new_for_service_type("sharing")
81 except TypeError as e:
82 print ("Error (google): Unable to initialise accounts manager: %s" % e)
83 return
80 self._account_manager.connect("enabled-event", self._on_enabled_event)84 self._account_manager.connect("enabled-event", self._on_enabled_event)
81 self._account_manager.connect("account-deleted", self._on_deleted_event)85 self._account_manager.connect("account-deleted", self._on_deleted_event)
82 for account_service in self._account_manager.get_enabled_account_services():86 for account_service in self._account_manager.get_enabled_account_services():

Subscribers

People subscribed via source and target branches

to all changes: