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
1=== modified file 'src/facebook_scope.py'
2--- src/facebook_scope.py 2012-09-27 09:21:29 +0000
3+++ src/facebook_scope.py 2012-10-11 16:57:43 +0000
4@@ -93,7 +93,11 @@
5 def _get_accounts_for_service (self, service):
6 """Get online accounts matching the scope service"""
7 self._accounts = []
8- self._account_manager = Accounts.Manager.new_for_service_type("sharing")
9+ try:
10+ self._account_manager = Accounts.Manager.new_for_service_type("sharing")
11+ except TypeError as e:
12+ print ("Error (facebook): Unable to initialise accounts manager: %s" % e)
13+ return
14 self._account_manager.connect("enabled-event", self._on_enabled_event)
15 self._account_manager.connect("account-deleted", self._on_deleted_event)
16 for account_service in self._account_manager.get_enabled_account_services():
17
18=== modified file 'src/flickr_scope.py'
19--- src/flickr_scope.py 2012-09-27 08:45:38 +0000
20+++ src/flickr_scope.py 2012-10-11 16:57:43 +0000
21@@ -94,7 +94,11 @@
22 def _get_accounts_for_service (self, service):
23 """Get online accounts matching the scope service"""
24 self._accounts = []
25- self._account_manager = Accounts.Manager.new_for_service_type("sharing")
26+ try:
27+ self._account_manager = Accounts.Manager.new_for_service_type("sharing")
28+ except TypeError as e:
29+ print ("Error (flickr): Unable to initialise accounts manager: %s" % e)
30+ return
31 self._account_manager.connect("enabled-event", self._on_enabled_event)
32 self._account_manager.connect("account-deleted", self._on_deleted_event)
33 for account_service in self._account_manager.get_enabled_account_services():
34
35=== modified file 'src/picasa_scope.py'
36--- src/picasa_scope.py 2012-09-27 08:47:07 +0000
37+++ src/picasa_scope.py 2012-10-11 16:57:43 +0000
38@@ -76,7 +76,11 @@
39 def _get_accounts_for_service (self, service):
40 """Get online accounts matching the scope service"""
41 self._accounts = []
42- self._account_manager = Accounts.Manager.new_for_service_type("sharing")
43+ try:
44+ self._account_manager = Accounts.Manager.new_for_service_type("sharing")
45+ except TypeError as e:
46+ print ("Error (google): Unable to initialise accounts manager: %s" % e)
47+ return
48 self._account_manager.connect("enabled-event", self._on_enabled_event)
49 self._account_manager.connect("account-deleted", self._on_deleted_event)
50 for account_service in self._account_manager.get_enabled_account_services():

Subscribers

People subscribed via source and target branches

to all changes: