Merge lp:~nataliabidart/magicicada-gui/ugly-betty into lp:magicicada-gui
- ugly-betty
- Merge into trunk
Proposed by
Natalia Bidart
Status: | Merged |
---|---|
Approved by: | Natalia Bidart |
Approved revision: | 135 |
Merged at revision: | 133 |
Proposed branch: | lp:~nataliabidart/magicicada-gui/ugly-betty |
Merge into: | lp:magicicada-gui |
Diff against target: |
1081 lines (+253/-164) 16 files modified
magicicada/dbusiface.py (+8/-9) magicicada/gui/gtk/listings.py (+12/-7) magicicada/gui/gtk/operations.py (+3/-3) magicicada/gui/gtk/tests/__init__.py (+6/-6) magicicada/gui/gtk/tests/test_listings.py (+6/-3) magicicada/gui/gtk/tests/test_operations.py (+3/-3) magicicada/gui/gtk/tests/test_status.py (+3/-3) magicicada/magicicadaconfig.py (+1/-1) magicicada/queue_content.py (+2/-2) magicicada/syncdaemon.py (+18/-13) magicicada/tests/test_code_style.py (+73/-0) magicicada/tests/test_dbusiface.py (+5/-5) magicicada/tests/test_queue_content.py (+80/-76) magicicada/tests/test_syncdaemon.py (+28/-28) setup.py (+5/-4) test (+0/-1) |
To merge this branch: | bzr merge lp:~nataliabidart/magicicada-gui/ugly-betty |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Facundo Batista | Approve | ||
Review via email: mp+122942@code.launchpad.net |
Commit message
- Added test case for code style, and fixed all latest PEP8 issues.
Description of the change
To post a comment you must log in.
- 134. By Natalia Bidart
-
Fixes.
Revision history for this message
Facundo Batista (facundo) : | # |
review:
Approve
- 135. By Natalia Bidart
-
Improves as per review.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'magicicada/dbusiface.py' |
2 | --- magicicada/dbusiface.py 2012-01-29 23:32:29 +0000 |
3 | +++ magicicada/dbusiface.py 2012-09-06 18:57:19 +0000 |
4 | @@ -33,14 +33,13 @@ |
5 | |
6 | # we use here camel case names, because this variables are used later as |
7 | # classes, so pylint: disable=C0103 |
8 | -FolderData = collections.namedtuple('FolderData', |
9 | - 'node path suggested_path subscribed volume') |
10 | -ShareData = collections.namedtuple('ShareData', 'accepted access_level ' |
11 | - 'free_bytes name node_id other_username ' |
12 | - 'other_visible_name path volume_id ' |
13 | - 'subscribed') |
14 | -PublicFilesData = collections.namedtuple('PublicFilesData', |
15 | - 'volume node path public_url') |
16 | +FolderData = collections.namedtuple( |
17 | + 'FolderData', 'node path suggested_path subscribed volume') |
18 | +ShareData = collections.namedtuple( |
19 | + 'ShareData', 'accepted access_level free_bytes name node_id ' |
20 | + 'other_username other_visible_name path volume_id subscribed') |
21 | +PublicFilesData = collections.namedtuple( |
22 | + 'PublicFilesData', 'volume node path public_url') |
23 | |
24 | # DBus exceptions store the type inside, as a string :| |
25 | DBUSERR_NOREPLY = 'org.freedesktop.DBus.Error.NoReply' |
26 | @@ -512,7 +511,7 @@ |
27 | share_name, access_level) |
28 | try: |
29 | yield self.sync_daemon_tool.send_share_invitation( |
30 | - path, mail_address, share_name, access_level) |
31 | + path, mail_address, share_name, access_level) |
32 | except dbus.exceptions.DBusException, e: |
33 | error = str(e.args[0]) |
34 | logger.debug("Send share invitation crashed: %s (path=%r " |
35 | |
36 | === modified file 'magicicada/gui/gtk/listings.py' |
37 | --- magicicada/gui/gtk/listings.py 2012-08-21 23:25:19 +0000 |
38 | +++ magicicada/gui/gtk/listings.py 2012-09-06 18:57:19 +0000 |
39 | @@ -37,10 +37,12 @@ |
40 | ADD_NEW_FOLDER = _(u'Add a new folder') |
41 | ARE_YOU_SURE = _(u'Are you sure?') |
42 | ARE_YOU_SURE_REMOVE_FOLDER = _(u'Are you sure you want to stop syncing ' |
43 | - 'the folder %s?') |
44 | -ARE_YOU_SURE_REMOVE_FOLDER_SECONDARY_TEXT = _(u'You will not loose any local ' |
45 | - ' data, but the contents of this folder will no longer be synced to/from ' |
46 | - ' your cloud in any of your registered devices.') |
47 | + u'the folder %s?') |
48 | +ARE_YOU_SURE_REMOVE_FOLDER_SECONDARY_TEXT = _( |
49 | + u'You will not loose any local ' |
50 | + u' data, but the contents of this folder will no longer be synced to/from ' |
51 | + u' your cloud in any of your registered devices.' |
52 | +) |
53 | ERROR_MESSAGE_MARKUP = u'<span foreground="red" font_weight="bold">%s</span>' |
54 | ERROR_MESSAGE = _(u'Oops! Something went wrong%(details)s') |
55 | |
56 | @@ -220,7 +222,8 @@ |
57 | |
58 | def on_subscribed_renderer_toggled(self, renderer, path, *args, **kwargs): |
59 | """The subscribed flag was toggled.""" |
60 | - self._value_toggled(path, column_id=2, column_value=1, |
61 | + self._value_toggled( |
62 | + path, column_id=2, column_value=1, |
63 | activate_op=self.sd.subscribe_folder, |
64 | deactivate_op=self.sd.unsubscribe_folder) |
65 | |
66 | @@ -275,13 +278,15 @@ |
67 | |
68 | def on_accepted_renderer_toggled(self, renderer, path, *args, **kwargs): |
69 | """The accepted flag was toggled.""" |
70 | - self._value_toggled(path, column_id=7, column_value=2, |
71 | + self._value_toggled( |
72 | + path, column_id=7, column_value=2, |
73 | activate_op=self.sd.accept_share, |
74 | deactivate_op=self.sd.reject_share) |
75 | |
76 | def on_subscribed_renderer_toggled(self, renderer, path, *args, **kwargs): |
77 | """The subscribed flag was toggled.""" |
78 | - self._value_toggled(path, column_id=7, column_value=3, |
79 | + self._value_toggled( |
80 | + path, column_id=7, column_value=3, |
81 | activate_op=self.sd.subscribe_share, |
82 | deactivate_op=self.sd.unsubscribe_share) |
83 | |
84 | |
85 | === modified file 'magicicada/gui/gtk/operations.py' |
86 | --- magicicada/gui/gtk/operations.py 2012-08-21 23:25:19 +0000 |
87 | +++ magicicada/gui/gtk/operations.py 2012-09-06 18:57:19 +0000 |
88 | @@ -183,9 +183,9 @@ |
89 | self._can_clear = False |
90 | |
91 | for root_kind, root_info in items: |
92 | - icon_name = HOME_ICON_NAME \ |
93 | - if root_kind == queue_content.ROOT_HOME \ |
94 | - else REMOTE_ICON_NAME |
95 | + icon_name = (HOME_ICON_NAME |
96 | + if root_kind == queue_content.ROOT_HOME |
97 | + else REMOTE_ICON_NAME) |
98 | row = ('', '', None, icon_name, Gtk.IconSize.LARGE_TOOLBAR) |
99 | parent = self._append_row(None, row) |
100 | self._append_root_row(root_info, parent) |
101 | |
102 | === modified file 'magicicada/gui/gtk/tests/__init__.py' |
103 | --- magicicada/gui/gtk/tests/__init__.py 2012-08-21 23:25:19 +0000 |
104 | +++ magicicada/gui/gtk/tests/__init__.py 2012-09-06 18:57:19 +0000 |
105 | @@ -177,8 +177,8 @@ |
106 | self.quit = lambda: setattr(self.current_state, 'is_started', False) |
107 | self.connect = lambda: setattr(self.current_state, |
108 | 'is_connected', True) |
109 | - self.disconnect = lambda: \ |
110 | - setattr(self.current_state, 'is_connected', False) |
111 | + self.disconnect = (lambda: |
112 | + setattr(self.current_state, 'is_connected', False)) |
113 | self.get_metadata = self._meta_paths.append |
114 | |
115 | def accept_share(self, share_id): |
116 | @@ -228,8 +228,8 @@ |
117 | self.addCleanup(self.ui.destroy) |
118 | |
119 | self._called = False |
120 | - self._set_called = lambda *args, **kwargs: \ |
121 | - setattr(self, '_called', (args, kwargs)) |
122 | + self._set_called = (lambda *args, **kwargs: |
123 | + setattr(self, '_called', (args, kwargs))) |
124 | |
125 | if getattr(self.ui, 'logger', None) is not None: |
126 | self.memento = MementoHandler() |
127 | @@ -291,8 +291,8 @@ |
128 | print self.store.get(store_iter, *range(columns)) |
129 | store_iter = self.store.iter_next(store_iter) |
130 | |
131 | - def assert_dialog_properties(self, dialog, title=None, modal=True, |
132 | - position=Gtk.WindowPosition.CENTER_ON_PARENT): |
133 | + def assert_dialog_properties(self, dialog, title=None, modal=True, |
134 | + position=Gtk.WindowPosition.CENTER_ON_PARENT): |
135 | """The dialog has correct properties.""" |
136 | msg = 'Must %sbe modal.' |
137 | self.assertEqual(modal, dialog.get_modal(), |
138 | |
139 | === modified file 'magicicada/gui/gtk/tests/test_listings.py' |
140 | --- magicicada/gui/gtk/tests/test_listings.py 2012-08-21 23:25:19 +0000 |
141 | +++ magicicada/gui/gtk/tests/test_listings.py 2012-09-06 18:57:19 +0000 |
142 | @@ -445,7 +445,8 @@ |
143 | path = '1' |
144 | subscribed = self.items[int(path)].subscribed |
145 | item_id = self.items[int(path)].volume |
146 | - self.assert_on_toggle_renderer_toggled(path=path, column=1, |
147 | + self.assert_on_toggle_renderer_toggled( |
148 | + path=path, column=1, |
149 | value=subscribed, item_id=item_id, |
150 | activate_op='subscribe_folder', deactivate_op='unsubscribe_folder', |
151 | toggled_cb=self.ui.on_subscribed_renderer_toggled) |
152 | @@ -585,7 +586,8 @@ |
153 | path = '0' |
154 | accepted = self.items[int(path)].accepted |
155 | item_id = self.items[int(path)].volume_id |
156 | - self.assert_on_toggle_renderer_toggled(path=path, column=2, |
157 | + self.assert_on_toggle_renderer_toggled( |
158 | + path=path, column=2, |
159 | value=accepted, item_id=item_id, |
160 | activate_op='accept_share', deactivate_op='reject_share', |
161 | toggled_cb=self.ui.on_accepted_renderer_toggled) |
162 | @@ -595,7 +597,8 @@ |
163 | path = '0' |
164 | subscribed = self.items[int(path)].subscribed |
165 | item_id = self.items[int(path)].volume_id |
166 | - self.assert_on_toggle_renderer_toggled(path=path, column=3, |
167 | + self.assert_on_toggle_renderer_toggled( |
168 | + path=path, column=3, |
169 | value=subscribed, item_id=item_id, |
170 | activate_op='subscribe_share', |
171 | deactivate_op='unsubscribe_share', |
172 | |
173 | === modified file 'magicicada/gui/gtk/tests/test_operations.py' |
174 | --- magicicada/gui/gtk/tests/test_operations.py 2012-08-21 23:25:19 +0000 |
175 | +++ magicicada/gui/gtk/tests/test_operations.py 2012-09-06 18:57:19 +0000 |
176 | @@ -122,12 +122,12 @@ |
177 | def test_on_node_ops_changed_dir_and_file(self): |
178 | """On on_node_ops_changed the view is updated.""" |
179 | file_node = Node(name=u'a_file.txt', parent=None, |
180 | - kind=operations.queue_content.KIND_FILE) |
181 | + kind=operations.queue_content.KIND_FILE) |
182 | file_node.operations = [(object(), u'foo', UNDONE_OPS), |
183 | (object(), u'bar', DONE_OPS), |
184 | (object(), u'baz', UNDONE_OPS)] |
185 | dir_node = Node(name=u'a_dir', parent=None, |
186 | - kind=operations.queue_content.KIND_DIR) |
187 | + kind=operations.queue_content.KIND_DIR) |
188 | dir_node.operations = [(object(), u'doo', UNDONE_OPS), |
189 | (object(), u'bar', UNDONE_OPS)] |
190 | node = Node(name=u'some node', parent=None, |
191 | @@ -156,7 +156,7 @@ |
192 | self.patch(operations.time, 'time', lambda: fixed_time) |
193 | delta = fixed_time - (60 * 60 * 5) |
194 | file_node = Node(name=u'a_file.txt', parent=None, last_modified=delta, |
195 | - kind=operations.queue_content.KIND_FILE) |
196 | + kind=operations.queue_content.KIND_FILE) |
197 | long_op_name = u'x' * (operations.MAX_OP_LEN + 1) |
198 | file_node.operations = [(object(), u'foo', DONE_OPS), |
199 | (object(), u'bar', DONE_OPS), |
200 | |
201 | === modified file 'magicicada/gui/gtk/tests/test_status.py' |
202 | --- magicicada/gui/gtk/tests/test_status.py 2012-08-21 23:25:19 +0000 |
203 | +++ magicicada/gui/gtk/tests/test_status.py 2012-09-06 18:57:19 +0000 |
204 | @@ -401,13 +401,13 @@ |
205 | |
206 | self.ui.on_metadata_clicked(self.ui.metadata) |
207 | |
208 | - self.assertFalse(self._called, |
209 | - 'get_metadata should not be called if no file chosen.') |
210 | + msg = 'get_metadata should not be called if no file chosen.' |
211 | + self.assertFalse(self._called, msg) |
212 | |
213 | def test_filename_is_stored_if_open_was_clicked(self): |
214 | """Filename is stored in the metadata dicts if user clicked open.""" |
215 | self.assertEqual(self.ui._metadata_dialogs, {}, |
216 | - 'no dialogs in the ui.') |
217 | + 'no dialogs in the ui.') |
218 | |
219 | self.ui._u1_root = os.path.dirname(TEST_FILE) |
220 | self.ui.file_chooser.set_filename(TEST_FILE) |
221 | |
222 | === modified file 'magicicada/magicicadaconfig.py' |
223 | --- magicicada/magicicadaconfig.py 2011-06-14 01:02:13 +0000 |
224 | +++ magicicada/magicicadaconfig.py 2012-09-06 18:57:19 +0000 |
225 | @@ -25,7 +25,7 @@ |
226 | 'ProjectPathNotFound', |
227 | 'get_data_file', |
228 | 'get_data_path', |
229 | - ] |
230 | +] |
231 | |
232 | # Where your project will look for your data (for instance, images and ui |
233 | # files). By default, this is ../data, relative your trunk layout |
234 | |
235 | === modified file 'magicicada/queue_content.py' |
236 | --- magicicada/queue_content.py 2011-09-22 20:20:14 +0000 |
237 | +++ magicicada/queue_content.py 2012-09-06 18:57:19 +0000 |
238 | @@ -130,8 +130,8 @@ |
239 | |
240 | def set_shares_dirs(self, share_link, share_real): |
241 | """Set shares dirs.""" |
242 | - if not share_link.startswith(self.home) or \ |
243 | - not share_real.startswith(self.home): |
244 | + if (not share_link.startswith(self.home) or |
245 | + not share_real.startswith(self.home)): |
246 | raise ValueError("Both shares directories need to be under home") |
247 | self.share_real = share_real |
248 | self.share_link = share_link |
249 | |
250 | === modified file 'magicicada/syncdaemon.py' |
251 | --- magicicada/syncdaemon.py 2012-08-21 23:39:43 +0000 |
252 | +++ magicicada/syncdaemon.py 2012-09-06 18:57:19 +0000 |
253 | @@ -40,17 +40,22 @@ |
254 | TRANSFER_POLL_INTERVAL = 5 |
255 | |
256 | # status of the node |
257 | -CHANGED_NONE, CHANGED_SERVER, CHANGED_LOCAL = \ |
258 | - "synchronized downloading uploading".split() |
259 | +CHANGED_LOCAL = u"uploading" |
260 | +CHANGED_NONE = u"synchronized" |
261 | +CHANGED_SERVER = u"downloading" |
262 | |
263 | # state of SD |
264 | -STATE_STOPPED, STATE_IDLE, STATE_WORKING, STATE_CONNECTING, STATE_STARTING, \ |
265 | -STATE_DISCONNECTED = \ |
266 | - "stopped idle working connecting starting disconnected".split() |
267 | +STATE_CONNECTING = u"connecting" |
268 | +STATE_DISCONNECTED = u"disconnected" |
269 | +STATE_IDLE = u"idle" |
270 | +STATE_STARTING = u"starting" |
271 | +STATE_STOPPED = u"stopped" |
272 | +STATE_WORKING = u"working" |
273 | |
274 | |
275 | def mandatory_callback(function_name): |
276 | """Log that the callback was not overwritten.""" |
277 | + |
278 | def f(*a, **k): |
279 | """Fake callback.""" |
280 | logger.warning("Callback called but was not assigned! " |
281 | @@ -165,15 +170,15 @@ |
282 | self.on_shares_to_others_changed_callback = NO_OP |
283 | self.on_public_files_changed_callback = NO_OP |
284 | self.on_metadata_ready_callback = mandatory_callback( |
285 | - 'on_metadata_ready_callback') |
286 | + 'on_metadata_ready_callback') |
287 | self.on_initial_data_ready_callback = NO_OP |
288 | self.on_initial_online_data_ready_callback = NO_OP |
289 | self.on_share_op_error_callback = mandatory_callback( |
290 | - 'on_share_op_error_callback') |
291 | + 'on_share_op_error_callback') |
292 | self.on_folder_op_error_callback = mandatory_callback( |
293 | - 'on_folder_op_error_callback') |
294 | + 'on_folder_op_error_callback') |
295 | self.on_public_op_error_callback = mandatory_callback( |
296 | - 'on_public_op_error_callback') |
297 | + 'on_public_op_error_callback') |
298 | self.on_node_ops_changed_callback = NO_OP |
299 | self.on_internal_ops_changed_callback = NO_OP |
300 | self.on_transfers_callback = NO_OP |
301 | @@ -338,19 +343,19 @@ |
302 | self.on_node_ops_changed_callback(self.queue_content.node_ops) |
303 | elif r == INTERNAL_OP: |
304 | self.on_internal_ops_changed_callback( |
305 | - self.queue_content.internal_ops) |
306 | + self.queue_content.internal_ops) |
307 | self.transfers_poller.run(self.queue_content.transferring) |
308 | |
309 | def on_sd_queue_removed(self, op_name, op_id, op_data): |
310 | """A command was removed from the Request Queue.""" |
311 | - logger.info("Queue content: removed %r [%s] %s", op_name, |
312 | - op_id, op_data) |
313 | + logger.info("Queue content: removed %r [%s] %s", |
314 | + op_name, op_id, op_data) |
315 | r = self.queue_content.remove(op_name, op_id, op_data) |
316 | if r == NODE_OP: |
317 | self.on_node_ops_changed_callback(self.queue_content.node_ops) |
318 | elif r == INTERNAL_OP: |
319 | self.on_internal_ops_changed_callback( |
320 | - self.queue_content.internal_ops) |
321 | + self.queue_content.internal_ops) |
322 | self.transfers_poller.run(self.queue_content.transferring) |
323 | |
324 | def start(self): |
325 | |
326 | === added file 'magicicada/tests/test_code_style.py' |
327 | --- magicicada/tests/test_code_style.py 1970-01-01 00:00:00 +0000 |
328 | +++ magicicada/tests/test_code_style.py 2012-09-06 18:57:19 +0000 |
329 | @@ -0,0 +1,73 @@ |
330 | +"""The test suite that performs code style checks.""" |
331 | + |
332 | +import os |
333 | +import pep8 |
334 | +from collections import defaultdict |
335 | +from cStringIO import StringIO |
336 | +from unittest import TestCase |
337 | + |
338 | +from mock import patch |
339 | +from pyflakes.scripts.pyflakes import checkPath |
340 | + |
341 | +import magicicada |
342 | + |
343 | + |
344 | +class PackagePep8TestCase(TestCase): |
345 | + """PEP8 checker.""" |
346 | + |
347 | + maxDiff = None |
348 | + packages = [] |
349 | + exclude = [] |
350 | + |
351 | + def setUp(self): |
352 | + self.errors = {} |
353 | + self.pep8style = pep8.StyleGuide( |
354 | + counters=defaultdict(int), |
355 | + doctest='', |
356 | + exclude=self.exclude, |
357 | + filename=['*.py'], |
358 | + ignore=[], |
359 | + messages=self.errors, |
360 | + repeat=True, |
361 | + select=[], |
362 | + show_pep8=False, |
363 | + show_source=False, |
364 | + max_line_length=79, |
365 | + quiet=0, |
366 | + statistics=False, |
367 | + testsuite='', |
368 | + verbose=0, |
369 | + ) |
370 | + |
371 | + def message(self, text): |
372 | + """Gather messages.""" |
373 | + self.errors.append(text) |
374 | + |
375 | + def test_all_code(self): |
376 | + """Check all the code.""" |
377 | + for package in self.packages: |
378 | + self.pep8style.input_dir(os.path.dirname(package.__file__)) |
379 | + self.assertEqual(self.pep8style.options.report.total_errors, 0) |
380 | + |
381 | + |
382 | +class MagicicadaPep8TestCase(PackagePep8TestCase): |
383 | + """PEP8 checker for Magicicada.""" |
384 | + packages = [magicicada] |
385 | + |
386 | + |
387 | +class PyFlakesTestCase(TestCase): |
388 | + """PyFlakes checker.""" |
389 | + |
390 | + def test_pyflakes(self): |
391 | + """Check all the code.""" |
392 | + stdout = StringIO() |
393 | + with patch('sys.stdout', stdout): |
394 | + for dirpath, _, filenames in os.walk('src'): |
395 | + for filename in filenames: |
396 | + if filename.endswith('.py'): |
397 | + checkPath(os.path.join(dirpath, filename)) |
398 | + |
399 | + errors = [line.strip() for line in stdout.getvalue().splitlines() |
400 | + if line.strip()] |
401 | + if errors: |
402 | + self.fail('\n'.join(errors)) |
403 | |
404 | === modified file 'magicicada/tests/test_dbusiface.py' |
405 | --- magicicada/tests/test_dbusiface.py 2012-08-21 20:55:00 +0000 |
406 | +++ magicicada/tests/test_dbusiface.py 2012-09-06 18:57:19 +0000 |
407 | @@ -452,7 +452,7 @@ |
408 | def test_info_bad(self): |
409 | """Test get metadata and get the error.""" |
410 | exc = dbus.exceptions.DBusException( |
411 | - name='org.freedesktop.DBus.Python.KeyError') |
412 | + name='org.freedesktop.DBus.Python.KeyError') |
413 | self.fake_sdt_response('get_metadata', exc) |
414 | rcv = yield self.dbus.get_metadata('not a real path') |
415 | self.assertEqual(rcv, dbusiface.NOT_SYNCHED_PATH) |
416 | @@ -880,8 +880,8 @@ |
417 | def test_folder_unsubscribed_changed(self): |
418 | """Test folder unsubscribed changed callback.""" |
419 | self.dbus._on_folder_unsubscribed("foo") |
420 | - self.assertTrue(self.handler.check_info( |
421 | - "Received Folder unsubscribed")) |
422 | + self.assertTrue( |
423 | + self.handler.check_info("Received Folder unsubscribed")) |
424 | |
425 | def test_share_created(self): |
426 | """Test share created callback.""" |
427 | @@ -976,7 +976,7 @@ |
428 | self.limit = limit |
429 | if excep is None: |
430 | self.excep = dbus.exceptions.DBusException( |
431 | - name='org.freedesktop.DBus.Error.NoReply') |
432 | + name='org.freedesktop.DBus.Error.NoReply') |
433 | else: |
434 | self.excep = excep |
435 | |
436 | @@ -1004,7 +1004,7 @@ |
437 | def test_retryexcep_dbusretry(self): |
438 | """Test _is_retry_exception with DBus exception, retry.""" |
439 | err = dbus.exceptions.DBusException( |
440 | - name='org.freedesktop.DBus.Error.NoReply') |
441 | + name='org.freedesktop.DBus.Error.NoReply') |
442 | self.assertTrue(dbusiface._is_retry_exception(err)) |
443 | |
444 | def get_decorated_func(self, func): |
445 | |
446 | === modified file 'magicicada/tests/test_queue_content.py' |
447 | --- magicicada/tests/test_queue_content.py 2012-08-21 20:55:00 +0000 |
448 | +++ magicicada/tests/test_queue_content.py 2012-09-06 18:57:19 +0000 |
449 | @@ -97,7 +97,7 @@ |
450 | def test_set_mixed_ops(self): |
451 | """Set a couple of node and internal ops.""" |
452 | self.qc.set_content([('MakeFile', '123', {'path': 'foo'}), |
453 | - ('ListShares', '456', {})]) |
454 | + ('ListShares', '456', {})]) |
455 | self.assertTrue(self.qc._node_ops) |
456 | self.assertTrue(self.qc.internal_ops) |
457 | |
458 | @@ -106,7 +106,7 @@ |
459 | called = [] |
460 | self.qc.add = lambda *a: called.append(a) |
461 | self.qc.set_content([('MakeFile', '123', {'path': 'foo'}), |
462 | - ('ListShares', '456', {})]) |
463 | + ('ListShares', '456', {})]) |
464 | self.assertTrue(called[0], ('MakeFile', '123', {'path': 'foo'})) |
465 | self.assertTrue(called[1], ('ListShares', '456', {})) |
466 | |
467 | @@ -176,8 +176,9 @@ |
468 | node = node.children['foo'] |
469 | self.assertTrue(isinstance(node.last_modified, float)) |
470 | self.assertEqual(node.kind, KIND_FILE) |
471 | - self.assertEqual(node.operations, |
472 | - [('123', 'MakeFile', {'path': '/a/b/foo', '__done__': False})]) |
473 | + expected = [('123', 'MakeFile', |
474 | + {'path': '/a/b/foo', '__done__': False})] |
475 | + self.assertEqual(node.operations, expected) |
476 | self.assertEqual(node.done, False) |
477 | self.assertEqual(len(node.children), 0) |
478 | |
479 | @@ -196,8 +197,8 @@ |
480 | node = node.children['boo'] |
481 | self.assertTrue(isinstance(node.last_modified, float)) |
482 | self.assertEqual(node.kind, KIND_DIR) |
483 | - self.assertEqual(node.operations, |
484 | - [('123', 'MakeDir', {'path': '/a/boo', '__done__': False})]) |
485 | + expected = [('123', 'MakeDir', {'path': '/a/boo', '__done__': False})] |
486 | + self.assertEqual(node.operations, expected) |
487 | self.assertEqual(node.done, False) |
488 | self.assertEqual(len(node.children), 0) |
489 | |
490 | @@ -216,8 +217,8 @@ |
491 | node = node.children['boo'] |
492 | self.assertTrue(isinstance(node.last_modified, float)) |
493 | self.assertEqual(node.kind, KIND_UNKNOWN) |
494 | - self.assertEqual(node.operations, |
495 | - [('123', 'Unlink', {'path': '/a/boo', '__done__': False})]) |
496 | + expected = [('123', 'Unlink', {'path': '/a/boo', '__done__': False})] |
497 | + self.assertEqual(node.operations, expected) |
498 | self.assertEqual(node.done, False) |
499 | self.assertEqual(len(node.children), 0) |
500 | |
501 | @@ -229,8 +230,8 @@ |
502 | node = self.qc._node_ops[''].children['a'] |
503 | self.assertTrue(isinstance(node.last_modified, float)) |
504 | self.assertEqual(node.kind, KIND_FILE) |
505 | - self.assertEqual(node.operations, |
506 | - [('123', 'MakeFile', {'path': '/a', '__done__': False})]) |
507 | + expected = [('123', 'MakeFile', {'path': '/a', '__done__': False})] |
508 | + self.assertEqual(node.operations, expected) |
509 | self.assertEqual(node.done, False) |
510 | self.assertEqual(len(node.children), 0) |
511 | |
512 | @@ -240,9 +241,9 @@ |
513 | node = self.qc._node_ops[''].children['a'] |
514 | self.assertTrue(isinstance(node.last_modified, float)) |
515 | self.assertEqual(node.kind, KIND_FILE) |
516 | - self.assertEqual(node.operations, |
517 | - [('123', 'MakeFile', {'path': '/a', '__done__': False}), |
518 | - ('456', 'Unlink', {'path': '/a', '__done__': False})]) |
519 | + expected = [('123', 'MakeFile', {'path': '/a', '__done__': False}), |
520 | + ('456', 'Unlink', {'path': '/a', '__done__': False})] |
521 | + self.assertEqual(node.operations, expected) |
522 | self.assertEqual(node.done, False) |
523 | self.assertEqual(len(node.children), 0) |
524 | |
525 | @@ -254,8 +255,8 @@ |
526 | node = self.qc._node_ops[''].children['a'] |
527 | self.assertTrue(isinstance(node.last_modified, float)) |
528 | self.assertEqual(node.kind, KIND_UNKNOWN) |
529 | - self.assertEqual(node.operations, |
530 | - [('123', 'Unlink', {'path': '/a', '__done__': False})]) |
531 | + expected = [('123', 'Unlink', {'path': '/a', '__done__': False})] |
532 | + self.assertEqual(node.operations, expected) |
533 | self.assertEqual(node.done, False) |
534 | self.assertEqual(len(node.children), 0) |
535 | |
536 | @@ -265,9 +266,9 @@ |
537 | node = self.qc._node_ops[''].children['a'] |
538 | self.assertTrue(isinstance(node.last_modified, float)) |
539 | self.assertEqual(node.kind, KIND_DIR) |
540 | - self.assertEqual(node.operations, |
541 | - [('123', 'Unlink', {'path': '/a', '__done__': False}), |
542 | - ('456', 'MakeDir', {'path': '/a', '__done__': False})]) |
543 | + expected = [('123', 'Unlink', {'path': '/a', '__done__': False}), |
544 | + ('456', 'MakeDir', {'path': '/a', '__done__': False})] |
545 | + self.assertEqual(node.operations, expected) |
546 | self.assertEqual(node.done, False) |
547 | self.assertEqual(len(node.children), 0) |
548 | |
549 | @@ -287,8 +288,8 @@ |
550 | node = node.children['b'] |
551 | self.assertTrue(isinstance(node.last_modified, float)) |
552 | self.assertEqual(node.kind, KIND_DIR) |
553 | - self.assertEqual(node.operations, |
554 | - [('12', 'MakeDir', {'path': '/a/b', '__done__': False})]) |
555 | + expected = [('12', 'MakeDir', {'path': '/a/b', '__done__': False})] |
556 | + self.assertEqual(node.operations, expected) |
557 | self.assertEqual(node.done, False) |
558 | self.assertEqual(len(node.children), 0) |
559 | |
560 | @@ -299,16 +300,16 @@ |
561 | node = node.children['b'] |
562 | self.assertTrue(isinstance(node.last_modified, float)) |
563 | self.assertEqual(node.kind, KIND_DIR) |
564 | - self.assertEqual(node.operations, |
565 | - [('12', 'MakeDir', {'path': '/a/b', '__done__': False})]) |
566 | + expected = [('12', 'MakeDir', {'path': '/a/b', '__done__': False})] |
567 | + self.assertEqual(node.operations, expected) |
568 | self.assertEqual(node.done, False) |
569 | self.assertEqual(len(node.children), 1) |
570 | |
571 | node = node.children['foo'] |
572 | self.assertTrue(isinstance(node.last_modified, float)) |
573 | self.assertEqual(node.kind, KIND_DIR) |
574 | - self.assertEqual(node.operations, |
575 | - [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})]) |
576 | + expected = [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})] |
577 | + self.assertEqual(node.operations, expected) |
578 | self.assertEqual(node.done, False) |
579 | self.assertEqual(len(node.children), 0) |
580 | |
581 | @@ -319,16 +320,16 @@ |
582 | node = node.children['b'] |
583 | self.assertTrue(isinstance(node.last_modified, float)) |
584 | self.assertEqual(node.kind, KIND_DIR) |
585 | - self.assertEqual(node.operations, |
586 | - [('12', 'MakeDir', {'path': '/a/b', '__done__': False})]) |
587 | + expected = [('12', 'MakeDir', {'path': '/a/b', '__done__': False})] |
588 | + self.assertEqual(node.operations, expected) |
589 | self.assertEqual(node.done, False) |
590 | self.assertEqual(len(node.children), 2) |
591 | |
592 | node = node.children['bar'] |
593 | self.assertTrue(isinstance(node.last_modified, float)) |
594 | self.assertEqual(node.kind, KIND_DIR) |
595 | - self.assertEqual(node.operations, |
596 | - [('45', 'MakeDir', {'path': '/a/b/bar', '__done__': False})]) |
597 | + expected = [('45', 'MakeDir', {'path': '/a/b/bar', '__done__': False})] |
598 | + self.assertEqual(node.operations, expected) |
599 | self.assertEqual(node.done, False) |
600 | self.assertEqual(len(node.children), 0) |
601 | |
602 | @@ -340,24 +341,25 @@ |
603 | node = node.children['b'] |
604 | self.assertTrue(isinstance(node.last_modified, float)) |
605 | self.assertEqual(node.kind, KIND_DIR) |
606 | - self.assertEqual(node.operations, |
607 | - [('12', 'MakeDir', {'path': '/a/b', '__done__': False})]) |
608 | + expected = [('12', 'MakeDir', {'path': '/a/b', '__done__': False})] |
609 | + self.assertEqual(node.operations, expected) |
610 | self.assertEqual(node.done, False) |
611 | self.assertEqual(len(node.children), 2) |
612 | |
613 | node = node.children['foo'] |
614 | self.assertTrue(isinstance(node.last_modified, float)) |
615 | self.assertEqual(node.kind, KIND_DIR) |
616 | - self.assertEqual(node.operations, |
617 | - [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})]) |
618 | + expected = [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})] |
619 | + self.assertEqual(node.operations, expected) |
620 | self.assertEqual(node.done, False) |
621 | self.assertEqual(len(node.children), 1) |
622 | |
623 | node = node.children['fighters'] |
624 | self.assertTrue(isinstance(node.last_modified, float)) |
625 | self.assertEqual(node.kind, KIND_FILE) |
626 | - self.assertEqual(node.operations, [('67', 'MakeFile', |
627 | - {'path': '/a/b/foo/fighters', '__done__': False})]) |
628 | + expected = [('67', 'MakeFile', |
629 | + {'path': '/a/b/foo/fighters', '__done__': False})] |
630 | + self.assertEqual(node.operations, expected) |
631 | self.assertEqual(node.done, False) |
632 | self.assertEqual(len(node.children), 0) |
633 | |
634 | @@ -368,16 +370,16 @@ |
635 | node = node.children['b'] |
636 | self.assertTrue(isinstance(node.last_modified, float)) |
637 | self.assertEqual(node.kind, KIND_DIR) |
638 | - self.assertEqual(node.operations, |
639 | - [('12', 'MakeDir', {'path': '/a/b', '__done__': False})]) |
640 | + expected = [('12', 'MakeDir', {'path': '/a/b', '__done__': False})] |
641 | + self.assertEqual(node.operations, expected) |
642 | self.assertEqual(node.done, False) |
643 | self.assertEqual(len(node.children), 2) |
644 | |
645 | node = node.children['foo'] |
646 | self.assertTrue(isinstance(node.last_modified, float)) |
647 | self.assertEqual(node.kind, KIND_DIR) |
648 | - self.assertEqual(node.operations, |
649 | - [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})]) |
650 | + expected = [('34', 'MakeDir', {'path': '/a/b/foo', '__done__': False})] |
651 | + self.assertEqual(node.operations, expected) |
652 | self.assertEqual(node.done, False) |
653 | self.assertEqual(len(node.children), 1) |
654 | |
655 | @@ -385,9 +387,9 @@ |
656 | self.assertTrue(isinstance(node.last_modified, float)) |
657 | self.assertEqual(node.kind, KIND_FILE) |
658 | p = '/a/b/foo/fighters' |
659 | - self.assertEqual(node.operations, |
660 | - [('67', 'MakeFile', {'path': p, '__done__': False}), |
661 | - ('89', 'Unlink', {'path': p, '__done__': False})]) |
662 | + expected = [('67', 'MakeFile', {'path': p, '__done__': False}), |
663 | + ('89', 'Unlink', {'path': p, '__done__': False})] |
664 | + self.assertEqual(node.operations, expected) |
665 | self.assertEqual(node.done, False) |
666 | self.assertEqual(len(node.children), 0) |
667 | |
668 | @@ -430,7 +432,7 @@ |
669 | """Add some nodes with different combinations.""" |
670 | # create two dirs |
671 | self.qc.set_content([('MakeDir', '12', {'path': '/a/foo'}), |
672 | - ('MakeDir', '34', {'path': '/a/bar'})]) |
673 | + ('MakeDir', '34', {'path': '/a/bar'})]) |
674 | self.assertEqual(len(self.qc._node_ops), 1) |
675 | |
676 | # all inited properly |
677 | @@ -444,8 +446,8 @@ |
678 | node = root.children['foo'] |
679 | self.assertTrue(isinstance(node.last_modified, float)) |
680 | self.assertEqual(node.kind, KIND_DIR) |
681 | - self.assertEqual(node.operations, |
682 | - [('12', 'MakeDir', {'path': '/a/foo', '__done__': False})]) |
683 | + expected = [('12', 'MakeDir', {'path': '/a/foo', '__done__': False})] |
684 | + self.assertEqual(node.operations, expected) |
685 | self.assertEqual(node.done, False) |
686 | self.assertEqual(len(node.children), 0) |
687 | |
688 | @@ -453,8 +455,8 @@ |
689 | bar_created_timestamp = node.last_modified |
690 | self.assertTrue(isinstance(node.last_modified, float)) |
691 | self.assertEqual(node.kind, KIND_DIR) |
692 | - self.assertEqual(node.operations, |
693 | - [('34', 'MakeDir', {'path': '/a/bar', '__done__': False})]) |
694 | + expected = [('34', 'MakeDir', {'path': '/a/bar', '__done__': False})] |
695 | + self.assertEqual(node.operations, expected) |
696 | self.assertEqual(node.done, False) |
697 | self.assertEqual(len(node.children), 0) |
698 | |
699 | @@ -463,8 +465,8 @@ |
700 | self.assertTrue(node.last_modified > bar_created_timestamp) |
701 | self.assertTrue(isinstance(node.last_modified, float)) |
702 | self.assertEqual(node.kind, KIND_DIR) |
703 | - self.assertEqual(node.operations, |
704 | - [('34', 'MakeDir', {'path': '/a/bar', '__done__': True})]) |
705 | + expected = [('34', 'MakeDir', {'path': '/a/bar', '__done__': True})] |
706 | + self.assertEqual(node.operations, expected) |
707 | self.assertEqual(node.done, True) |
708 | self.assertEqual(len(node.children), 0) |
709 | |
710 | @@ -472,7 +474,7 @@ |
711 | """Add two ops to the same node and finish both.""" |
712 | # create two dirs |
713 | self.qc.set_content([('MakeFile', '12', {'path': '/a'}), |
714 | - ('Upload', '34', {'path': '/a'})]) |
715 | + ('Upload', '34', {'path': '/a'})]) |
716 | self.assertEqual(len(self.qc._node_ops), 1) |
717 | |
718 | # all inited properly |
719 | @@ -480,9 +482,9 @@ |
720 | node_created_tstamp = node.last_modified |
721 | self.assertTrue(isinstance(node.last_modified, float)) |
722 | self.assertEqual(node.kind, KIND_FILE) |
723 | - self.assertEqual(node.operations, |
724 | - [('12', 'MakeFile', {'path': '/a', '__done__': False}), |
725 | - ('34', 'Upload', {'path': '/a', '__done__': False})]) |
726 | + expected = [('12', 'MakeFile', {'path': '/a', '__done__': False}), |
727 | + ('34', 'Upload', {'path': '/a', '__done__': False})] |
728 | + self.assertEqual(node.operations, expected) |
729 | self.assertEqual(node.done, False) |
730 | self.assertEqual(len(node.children), 0) |
731 | |
732 | @@ -490,17 +492,17 @@ |
733 | self.qc.remove('MakeFile', '12', {'path': '/a'}) |
734 | node_changed_tstamp = node.last_modified |
735 | self.assertTrue(node.last_modified > node_created_tstamp) |
736 | - self.assertEqual(node.operations, |
737 | - [('12', 'MakeFile', {'path': '/a', '__done__': True}), |
738 | - ('34', 'Upload', {'path': '/a', '__done__': False})]) |
739 | + expected = [('12', 'MakeFile', {'path': '/a', '__done__': True}), |
740 | + ('34', 'Upload', {'path': '/a', '__done__': False})] |
741 | + self.assertEqual(node.operations, expected) |
742 | self.assertEqual(node.done, False) |
743 | |
744 | # finish the second |
745 | self.qc.remove('Upload', '34', {'path': '/a'}) |
746 | self.assertTrue(node.last_modified > node_changed_tstamp) |
747 | - self.assertEqual(node.operations, |
748 | - [('12', 'MakeFile', {'path': '/a', '__done__': True}), |
749 | - ('34', 'Upload', {'path': '/a', '__done__': True})]) |
750 | + expected = [('12', 'MakeFile', {'path': '/a', '__done__': True}), |
751 | + ('34', 'Upload', {'path': '/a', '__done__': True})] |
752 | + self.assertEqual(node.operations, expected) |
753 | self.assertEqual(node.done, True) |
754 | |
755 | def test_one_op_finishes_startsagain(self): |
756 | @@ -513,8 +515,8 @@ |
757 | node_created_tstamp = node.last_modified |
758 | self.assertTrue(isinstance(node.last_modified, float)) |
759 | self.assertEqual(node.kind, KIND_FILE) |
760 | - self.assertEqual(node.operations, |
761 | - [('12', 'MakeFile', {'path': '/a', '__done__': False})]) |
762 | + expected = [('12', 'MakeFile', {'path': '/a', '__done__': False})] |
763 | + self.assertEqual(node.operations, expected) |
764 | self.assertEqual(node.done, False) |
765 | self.assertEqual(len(node.children), 0) |
766 | |
767 | @@ -522,15 +524,15 @@ |
768 | self.qc.remove('MakeFile', '12', {'path': '/a'}) |
769 | node_changed_tstamp = node.last_modified |
770 | self.assertTrue(node.last_modified > node_created_tstamp) |
771 | - self.assertEqual(node.operations, |
772 | - [('12', 'MakeFile', {'path': '/a', '__done__': True})]) |
773 | + expected = [('12', 'MakeFile', {'path': '/a', '__done__': True})] |
774 | + self.assertEqual(node.operations, expected) |
775 | self.assertEqual(node.done, True) |
776 | |
777 | # send other one to the same node |
778 | self.qc.add('Upload', '34', {'path': '/a'}) |
779 | self.assertTrue(node.last_modified > node_changed_tstamp) |
780 | - self.assertEqual(node.operations, |
781 | - [('34', 'Upload', {'path': '/a', '__done__': False})]) |
782 | + expected = [('34', 'Upload', {'path': '/a', '__done__': False})] |
783 | + self.assertEqual(node.operations, expected) |
784 | self.assertEqual(node.done, False) |
785 | |
786 | |
787 | @@ -607,15 +609,15 @@ |
788 | |
789 | node = self.qc._node_ops[''].children['a'] |
790 | self.assertEqual(node.kind, KIND_DIR) |
791 | - self.assertEqual(node.operations, |
792 | - [('12', 'MakeDir', {'path': '/a', '__done__': True})]) |
793 | + expected = [('12', 'MakeDir', {'path': '/a', '__done__': True})] |
794 | + self.assertEqual(node.operations, expected) |
795 | self.assertEqual(node.done, True) |
796 | self.assertEqual(len(node.children), 1) |
797 | |
798 | node = node.children['b'] |
799 | self.assertEqual(node.kind, KIND_FILE) |
800 | - self.assertEqual(node.operations, |
801 | - [('23', 'MakeFile', {'path': '/a/b', '__done__': False})]) |
802 | + expected = [('23', 'MakeFile', {'path': '/a/b', '__done__': False})] |
803 | + self.assertEqual(node.operations, expected) |
804 | self.assertEqual(node.done, False) |
805 | |
806 | # clear and check again |
807 | @@ -628,8 +630,8 @@ |
808 | |
809 | node = node.children['b'] |
810 | self.assertEqual(node.kind, KIND_FILE) |
811 | - self.assertEqual(node.operations, |
812 | - [('23', 'MakeFile', {'path': '/a/b', '__done__': False})]) |
813 | + expected = [('23', 'MakeFile', {'path': '/a/b', '__done__': False})] |
814 | + self.assertEqual(node.operations, expected) |
815 | self.assertEqual(node.done, False) |
816 | |
817 | def test_one_fixed_and_two_to_clear(self): |
818 | @@ -680,12 +682,12 @@ |
819 | def test_share_link_inside_home(self): |
820 | """Assure the share link is inside home.""" |
821 | self.assertRaises(ValueError, self.qc.set_shares_dirs, |
822 | - share_link='/a/k', share_real='/a/b/r') |
823 | + share_link='/a/k', share_real='/a/b/r') |
824 | |
825 | def test_share_real_inside_home(self): |
826 | """Assure the share real is inside home.""" |
827 | self.assertRaises(ValueError, self.qc.set_shares_dirs, |
828 | - share_link='/a/b/r', share_real='/a/k') |
829 | + share_link='/a/b/r', share_real='/a/k') |
830 | |
831 | def test_none(self): |
832 | """Test getting with nothing.""" |
833 | @@ -723,8 +725,9 @@ |
834 | node = self.qc.node_ops[0][1]['bar'] |
835 | self.assertTrue(isinstance(node.last_modified, float)) |
836 | self.assertEqual(node.kind, KIND_FILE) |
837 | - self.assertEqual(node.operations, |
838 | - [('99', 'MakeFile', {'path': '/a/b/bar', '__done__': False})]) |
839 | + expected = [('99', 'MakeFile', |
840 | + {'path': '/a/b/bar', '__done__': False})] |
841 | + self.assertEqual(node.operations, expected) |
842 | self.assertEqual(node.done, False) |
843 | self.assertEqual(len(node.children), 0) |
844 | |
845 | @@ -743,8 +746,9 @@ |
846 | node = node.children['foo'] |
847 | self.assertTrue(isinstance(node.last_modified, float)) |
848 | self.assertEqual(node.kind, KIND_FILE) |
849 | - self.assertEqual(node.operations, [('12', 'MakeFile', |
850 | - {'path': '/a/b/real/foo', '__done__': False})]) |
851 | + expected = [('12', 'MakeFile', |
852 | + {'path': '/a/b/real/foo', '__done__': False})] |
853 | + self.assertEqual(node.operations, expected) |
854 | self.assertEqual(node.done, False) |
855 | self.assertEqual(len(node.children), 0) |
856 | |
857 | |
858 | === modified file 'magicicada/tests/test_syncdaemon.py' |
859 | --- magicicada/tests/test_syncdaemon.py 2012-08-21 23:39:43 +0000 |
860 | +++ magicicada/tests/test_syncdaemon.py 2012-09-06 18:57:19 +0000 |
861 | @@ -172,11 +172,11 @@ |
862 | self.sd = SyncDaemon(FakeDBusInterface) |
863 | |
864 | self.offline_called = False |
865 | - self.sd.on_initial_data_ready_callback = lambda: setattr(self, |
866 | - 'offline_called', True) |
867 | + self.sd.on_initial_data_ready_callback = \ |
868 | + lambda: setattr(self, 'offline_called', True) |
869 | self.online_called = False |
870 | - self.sd.on_initial_online_data_ready_callback = lambda: setattr(self, |
871 | - 'online_called', True) |
872 | + self.sd.on_initial_online_data_ready_callback = \ |
873 | + lambda: setattr(self, 'online_called', True) |
874 | |
875 | def tearDown(self): |
876 | """Tear down the test.""" |
877 | @@ -307,7 +307,7 @@ |
878 | """Fake method.""" |
879 | called.append(True) |
880 | return defer.succeed(('fakename', 'fakedescrip', False, True, |
881 | - False, 'fakequeues', 'fakeconnection')) |
882 | + False, 'fakequeues', 'fakeconnection')) |
883 | |
884 | self.sd.dbus.get_status = fake |
885 | yield self.sd._get_initial_data() |
886 | @@ -605,7 +605,7 @@ |
887 | "is_online=False", |
888 | "queues='IDLE'", |
889 | "connection='connection'", |
890 | - "state='idle'", |
891 | + "state=u'idle'", |
892 | ) |
893 | self.assertTrue(self.hdlr.check_debug(*should)) |
894 | |
895 | @@ -627,7 +627,7 @@ |
896 | internal_cback = [] |
897 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
898 | self.sd.on_internal_ops_changed_callback = \ |
899 | - lambda a: internal_cback.append(a) |
900 | + lambda a: internal_cback.append(a) |
901 | self.sd.queue_content.add = lambda *a: NODE_OP |
902 | self.sd.on_sd_queue_added('node', 'id', {}) |
903 | self.assertEqual(node_cback, [self.sd.queue_content.node_ops]) |
904 | @@ -639,7 +639,7 @@ |
905 | internal_cback = [] |
906 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
907 | self.sd.on_internal_ops_changed_callback = \ |
908 | - lambda a: internal_cback.append(a) |
909 | + lambda a: internal_cback.append(a) |
910 | self.sd.queue_content.add = lambda *a: INTERNAL_OP |
911 | self.sd.on_sd_queue_added('internal', 'id', {}) |
912 | self.assertEqual(internal_cback, [self.sd.queue_content.internal_ops]) |
913 | @@ -651,7 +651,7 @@ |
914 | internal_cback = [] |
915 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
916 | self.sd.on_internal_ops_changed_callback = \ |
917 | - lambda a: internal_cback.append(a) |
918 | + lambda a: internal_cback.append(a) |
919 | self.sd.queue_content.add = lambda *a: None |
920 | self.sd.on_sd_queue_added('dont care', 'id', {}) |
921 | self.assertFalse(node_cback) |
922 | @@ -663,7 +663,7 @@ |
923 | internal_cback = [] |
924 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
925 | self.sd.on_internal_ops_changed_callback = \ |
926 | - lambda a: internal_cback.append(a) |
927 | + lambda a: internal_cback.append(a) |
928 | self.sd.queue_content.remove = lambda *a: NODE_OP |
929 | self.sd.on_sd_queue_removed('node', 'id', {}) |
930 | self.assertEqual(node_cback, [self.sd.queue_content.node_ops]) |
931 | @@ -675,7 +675,7 @@ |
932 | internal_cback = [] |
933 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
934 | self.sd.on_internal_ops_changed_callback = \ |
935 | - lambda a: internal_cback.append(a) |
936 | + lambda a: internal_cback.append(a) |
937 | self.sd.queue_content.remove = lambda *a: INTERNAL_OP |
938 | self.sd.on_sd_queue_removed('internal', 'id', {}) |
939 | self.assertEqual(internal_cback, [self.sd.queue_content.internal_ops]) |
940 | @@ -687,7 +687,7 @@ |
941 | internal_cback = [] |
942 | self.sd.on_node_ops_changed_callback = lambda a: node_cback.append(a) |
943 | self.sd.on_internal_ops_changed_callback = \ |
944 | - lambda a: internal_cback.append(a) |
945 | + lambda a: internal_cback.append(a) |
946 | self.sd.queue_content.remove = lambda *a: None |
947 | self.sd.on_sd_queue_removed('dont care', 'id', {}) |
948 | self.assertFalse(node_cback) |
949 | @@ -894,10 +894,10 @@ |
950 | self.sd.on_sd_status_changed('name', 'description', False, True, |
951 | False, 'queues', 'connection') |
952 | self.assertTrue(self.hdlr.check_info("SD Status changed")) |
953 | - expected = u" new status: connection='connection', " \ |
954 | - "description='description', is_connected=True, " \ |
955 | - "is_error=False, is_online=False, name='name', " \ |
956 | - "queues='queues'" |
957 | + expected = (u" new status: connection='connection', " |
958 | + u"description='description', is_connected=True, " |
959 | + u"is_error=False, is_online=False, name='name', " |
960 | + u"queues='queues'") |
961 | self.assertTrue(self.hdlr.check_debug(expected)) |
962 | |
963 | def test_queue_added(self): |
964 | @@ -1143,8 +1143,8 @@ |
965 | def test_create_folder_ok(self): |
966 | """Creating a folder finishes ok.""" |
967 | folder_data = FolderData(path='path', subscribed=True, |
968 | - node='node_id', volume='vol_id', |
969 | - suggested_path='sug_path') |
970 | + node='node_id', volume='vol_id', |
971 | + suggested_path='sug_path') |
972 | self.sd.dbus.fake_folder_response = defer.succeed(folder_data) |
973 | self.sd.on_folder_op_error_callback = lambda *a: None |
974 | self.sd.dbus.get_folders = lambda: defer.succeed([folder_data]) |
975 | @@ -1153,7 +1153,7 @@ |
976 | # execute and test |
977 | yield self.sd.create_folder('path') |
978 | self.assertTrue(self.hdlr.check_info("Create folder ok", "path='path'", |
979 | - "volume=vol_id")) |
980 | + "volume=vol_id")) |
981 | self.assertEqual(self.sd.folders, [folder_data]) |
982 | |
983 | @defer.inlineCallbacks |
984 | @@ -1174,8 +1174,8 @@ |
985 | def test_delete_folder_ok(self): |
986 | """Deleting a folder finishes ok.""" |
987 | folder_data = FolderData(path='path', subscribed=True, |
988 | - node='node_id', volume='vol_id', |
989 | - suggested_path='sug_path') |
990 | + node='node_id', volume='vol_id', |
991 | + suggested_path='sug_path') |
992 | self.sd.dbus.fake_folder_response = defer.succeed(folder_data) |
993 | self.sd.on_folder_op_error_callback = lambda *a: None |
994 | self.sd.dbus.get_folders = lambda: defer.succeed([]) |
995 | @@ -1184,7 +1184,7 @@ |
996 | # execute and test |
997 | yield self.sd.delete_folder('vol_id') |
998 | self.assertTrue(self.hdlr.check_info("Delete folder ok", "path='path'", |
999 | - "volume=vol_id")) |
1000 | + "volume=vol_id")) |
1001 | self.assertEqual(self.sd.folders, []) |
1002 | |
1003 | @defer.inlineCallbacks |
1004 | @@ -1205,8 +1205,8 @@ |
1005 | def test_subscribe_folder_ok(self): |
1006 | """Subscribing a folder finishes ok.""" |
1007 | folder_data = FolderData(path='path', subscribed=True, |
1008 | - node='node_id', volume='vol_id', |
1009 | - suggested_path='sug_path') |
1010 | + node='node_id', volume='vol_id', |
1011 | + suggested_path='sug_path') |
1012 | self.sd.dbus.fake_folder_response = defer.succeed(folder_data) |
1013 | self.sd.on_folder_op_error_callback = lambda *a: None |
1014 | self.sd.dbus.get_folders = lambda: defer.succeed([folder_data]) |
1015 | @@ -1236,8 +1236,8 @@ |
1016 | def test_unsubscribe_folder_ok(self): |
1017 | """Unsubscribing a folder finishes ok.""" |
1018 | folder_data = FolderData(path='path', subscribed=True, |
1019 | - node='node_id', volume='vol_id', |
1020 | - suggested_path='sug_path') |
1021 | + node='node_id', volume='vol_id', |
1022 | + suggested_path='sug_path') |
1023 | self.sd.dbus.fake_folder_response = defer.succeed(folder_data) |
1024 | self.sd.on_folder_op_error_callback = lambda *a: None |
1025 | self.sd.dbus.get_folders = lambda: defer.succeed([folder_data]) |
1026 | @@ -1427,7 +1427,7 @@ |
1027 | e = ShareOperationError(share_id='foo', error='bar') |
1028 | self.sd.dbus.fake_share_response = defer.fail(e) |
1029 | self.sd.on_share_op_error_callback = \ |
1030 | - lambda sid, e: called.append((sid, e)) |
1031 | + lambda sid, e: called.append((sid, e)) |
1032 | |
1033 | # execute and test |
1034 | self.sd.accept_share('share_id') |
1035 | @@ -1472,7 +1472,7 @@ |
1036 | e = ShareOperationError(share_id='foo', error='bar') |
1037 | self.sd.dbus.fake_share_response = defer.fail(e) |
1038 | self.sd.on_share_op_error_callback = \ |
1039 | - lambda sid, e: called.append((sid, e)) |
1040 | + lambda sid, e: called.append((sid, e)) |
1041 | |
1042 | # execute and test |
1043 | self.sd.reject_share('share_id') |
1044 | |
1045 | === modified file 'setup.py' |
1046 | --- setup.py 2012-08-23 13:57:04 +0000 |
1047 | +++ setup.py 2012-09-06 18:57:19 +0000 |
1048 | @@ -25,8 +25,9 @@ |
1049 | url = 'https://launchpad.net/python-distutils-extra' |
1050 | print >> sys.stderr, 'To build magicicada you need', url |
1051 | sys.exit(1) |
1052 | -assert DistUtilsExtra.auto.__version__ >= '2.18', \ |
1053 | - 'needs DistUtilsExtra.auto >= 2.18' |
1054 | + |
1055 | +msg = 'needs DistUtilsExtra.auto >= 2.18' |
1056 | +assert DistUtilsExtra.auto.__version__ >= '2.18', msg |
1057 | |
1058 | |
1059 | def update_data_path(prefix, oldvalue=None): |
1060 | @@ -95,8 +96,8 @@ |
1061 | author='Natalia Bidart', |
1062 | author_email='nataliabidart@gmail.com', |
1063 | description='GTK+ frontend for Ubuntu One File Sync service.', |
1064 | - long_description='This application provides a GTK frontend to manage ' \ |
1065 | - 'the file synchronisation service from Ubuntu One.', |
1066 | + long_description=('This application provides a GTK frontend to manage ' |
1067 | + 'the file synchronisation service from Ubuntu One.'), |
1068 | url='http://launchpad.net/magicicada', |
1069 | packages=['magicicada', 'magicicada.tests', 'magicicada.gui', |
1070 | 'magicicada.gui.gtk', 'magicicada.gui.gtk.tests'], |
1071 | |
1072 | === modified file 'test' |
1073 | --- test 2012-08-21 20:55:00 +0000 |
1074 | +++ test 2012-09-06 18:57:19 +0000 |
1075 | @@ -27,6 +27,5 @@ |
1076 | echo "Running test suite for ""$MODULE" |
1077 | `which xvfb-run` trial -r gi "$MODULE" |
1078 | pylint magicicada |
1079 | -pep8 --repeat . |
1080 | rm -rf _trial_temp |
1081 | rm -rf _logs_temp |