Merge lp:~verterok/ubuntuone-client/fix-632439 into lp:ubuntuone-client

Proposed by Guillermo Gonzalez
Status: Merged
Approved by: Guillermo Gonzalez
Approved revision: 682
Merged at revision: 690
Proposed branch: lp:~verterok/ubuntuone-client/fix-632439
Merge into: lp:ubuntuone-client
Diff against target: 41 lines (+4/-4)
2 files modified
tests/syncdaemon/test_vm.py (+1/-1)
ubuntuone/syncdaemon/volume_manager.py (+3/-3)
To merge this branch: bzr merge lp:~verterok/ubuntuone-client/fix-632439
Reviewer Review Type Date Requested Status
Lucio Torre (community) Approve
John O'Brien (community) Approve
Review via email: mp+34911@code.launchpad.net

This proposal supersedes a proposal from 2010-09-08.

Commit message

Remove multiple returns in VolumeManager.subscribe_udf method.

Description of the change

Fix a bug in volume manager subscribe_udf method, also improve error handling and propagate it in as a deferred with a failure.

To post a comment you must log in.
Revision history for this message
John O'Brien (jdobrien) wrote : Posted in a previous version of this proposal

Looks good, nice catch

review: Approve
Revision history for this message
Lucio Torre (lucio.torre) wrote : Posted in a previous version of this proposal

simple and nice fix. i wonder if
d = defer.fail(error)
and just one point of exit "return d" would have been better.

review: Approve
682. By Guillermo Gonzalez

remove print

Revision history for this message
John O'Brien (jdobrien) :
review: Approve
Revision history for this message
Lucio Torre (lucio.torre) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'tests/syncdaemon/test_vm.py'
2--- tests/syncdaemon/test_vm.py 2010-09-07 15:39:13 +0000
3+++ tests/syncdaemon/test_vm.py 2010-09-08 21:16:42 +0000
4@@ -1223,7 +1223,7 @@
5 self.assertEquals('DOES_NOT_EXIST', e.args[0])
6 self.assertEquals('invalid_udf_id', e.args[1])
7 else:
8- self.fail('Must get a KeyError!')
9+ self.fail('Must get a VolumeDoesNotExist!')
10
11 @defer.inlineCallbacks
12 def _test_subscribe_udf_generations(self, udf):
13
14=== modified file 'ubuntuone/syncdaemon/volume_manager.py'
15--- ubuntuone/syncdaemon/volume_manager.py 2010-09-07 15:39:13 +0000
16+++ ubuntuone/syncdaemon/volume_manager.py 2010-09-08 21:16:42 +0000
17@@ -1093,7 +1093,7 @@
18 udf = self.udfs[udf_id]
19 except KeyError:
20 push_error("DOES_NOT_EXIST")
21- return defer.fail(VolumeDoesNotExist(udf_id))
22+ d = defer.fail(VolumeDoesNotExist(udf_id))
23 else:
24 if not os.path.exists(udf.path):
25 # the udf path isn't there, create it!
26@@ -1112,13 +1112,13 @@
27 d = self._scan_udf(udf)
28 except KeyError, e:
29 push_error("METADATA_DOES_NOT_EXIST")
30- return defer.fail(e)
31+ d = defer.fail(e)
32 else:
33 d.addCallback(subscribe)
34 d.addCallbacks(
35 lambda _: self.m.event_q.push('VM_UDF_SUBSCRIBED', udf),
36 lambda f: push_error(f.getErrorMessage()))
37- return d
38+ return d
39
40 def _scan_udf(self, udf):
41 """Local and server rescan of a UDF."""

Subscribers

People subscribed via source and target branches