Merge lp:~nataliabidart/ubuntuone-client/share-autosubscribe into lp:ubuntuone-client

Proposed by Natalia Bidart
Status: Merged
Approved by: dobey
Approved revision: 829
Merged at revision: 833
Proposed branch: lp:~nataliabidart/ubuntuone-client/share-autosubscribe
Merge into: lp:ubuntuone-client
Diff against target: 211 lines (+130/-4)
5 files modified
data/syncdaemon.conf (+6/-1)
tests/platform/linux/test_dbus.py (+52/-3)
tests/syncdaemon/test_config.py (+42/-0)
ubuntuone/platform/linux/dbus_interface.py (+22/-0)
ubuntuone/syncdaemon/config.py (+8/-0)
To merge this branch: bzr merge lp:~nataliabidart/ubuntuone-client/share-autosubscribe
Reviewer Review Type Date Requested Status
dobey (community) Approve
Martin Albisetti (community) Approve
Review via email: mp+48155@code.launchpad.net

Commit message

- Adding 'share-autosubscribe' config option (part of LP: #708335).

To post a comment you must log in.
828. By Natalia Bidart

Exposing autosubscribe through dbus.

829. By Natalia Bidart

Merged trunk in.

Revision history for this message
Martin Albisetti (beuno) :
review: Approve
Revision history for this message
dobey (dobey) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'data/syncdaemon.conf'
2--- data/syncdaemon.conf 2010-12-10 19:44:18 +0000
3+++ data/syncdaemon.conf 2011-02-02 13:09:44 +0000
4@@ -64,9 +64,14 @@
5 udf_autosubscribe.help = Autosubsribe to new User Defined Folders, 'off' by default.
6 (accepted values: 1/0, on/off, true/false and yes/no)
7
8+share_autosubscribe.default = False
9+share_autosubscribe.parser = bool
10+share_autosubscribe.help = Autosubsribe to new Shares, 'off' by default.
11+ (accepted values: 1/0, on/off, true/false and yes/no)
12+
13 autoconnect.default = True
14 autoconnect.parser = bool
15-autoconnect.help = Autoconnect the syncdaemon when is ready to start file synchronization against the server, 'on' by default.
16+autoconnect.help = Autoconnect the syncdaemon when is ready to start file synchronization against the server, 'on' by default.
17 (accepted values: 1/0, on/off, true/false and yes/no)
18
19 ignore.parser = lines
20
21=== modified file 'tests/platform/linux/test_dbus.py'
22--- tests/platform/linux/test_dbus.py 2011-02-01 21:56:19 +0000
23+++ tests/platform/linux/test_dbus.py 2011-02-02 13:09:44 +0000
24@@ -2377,7 +2377,7 @@
25 error_handler=self.error_handler)
26 return d
27
28- def test_autosubscribe_enabled(self):
29+ def test_udf_autosubscribe_enabled(self):
30 """Test for Config.udf_autosubscribe_enabled."""
31 client = self.get_client()
32 d = defer.Deferred()
33@@ -2400,7 +2400,7 @@
34 error_handler=self.error_handler)
35 return d
36
37- def test_enable_autosubscribe(self):
38+ def test_enable_udf_autosubscribe(self):
39 """Test for Config.enable_udf_autosubscribe."""
40 client = self.get_client()
41 d = defer.Deferred()
42@@ -2413,7 +2413,7 @@
43 error_handler=self.error_handler)
44 return d
45
46- def test_disable_autosubscribe(self):
47+ def test_disable_udf_autosubscribe(self):
48 """Test for Config.disable_udf_autosubscribe."""
49 client = self.get_client()
50 d = defer.Deferred()
51@@ -2426,6 +2426,55 @@
52 error_handler=self.error_handler)
53 return d
54
55+ def test_share_autosubscribe_enabled(self):
56+ """Test for Config.share_autosubscribe_enabled."""
57+ client = self.get_client()
58+ d = defer.Deferred()
59+
60+ def reply_handler_disabled(result):
61+ """Handle the reply."""
62+ self.assertFalse(result)
63+ config.get_user_config().set_share_autosubscribe(not result)
64+ client.call_method('share_autosubscribe_enabled',
65+ reply_handler=reply_handler_enabled,
66+ error_handler=self.error_handler)
67+
68+ def reply_handler_enabled(result):
69+ """Handle the reply."""
70+ self.assertTrue(result)
71+ d.callback(True)
72+
73+ client.call_method('share_autosubscribe_enabled',
74+ reply_handler=reply_handler_disabled,
75+ error_handler=self.error_handler)
76+ return d
77+
78+ def test_enable_share_autosubscribe(self):
79+ """Test for Config.enable_share_autosubscribe."""
80+ client = self.get_client()
81+ d = defer.Deferred()
82+ def reply_handler(_):
83+ """Handle the reply."""
84+ self.assertTrue(config.get_user_config().get_share_autosubscribe())
85+ d.callback(True)
86+ client.call_method('enable_share_autosubscribe',
87+ reply_handler=reply_handler,
88+ error_handler=self.error_handler)
89+ return d
90+
91+ def test_disable_share_autosubscribe(self):
92+ """Test for Config.disable_share_autosubscribe."""
93+ client = self.get_client()
94+ d = defer.Deferred()
95+ def reply_handler(_):
96+ """Handle the reply."""
97+ self.assertFalse(config.get_user_config().get_share_autosubscribe())
98+ d.callback(True)
99+ client.call_method('disable_share_autosubscribe',
100+ reply_handler=reply_handler,
101+ error_handler=self.error_handler)
102+ return d
103+
104 def test_autoconnect_enabled(self):
105 """Test for Config.autoconnect_enabled."""
106 client = self.get_client()
107
108=== modified file 'tests/syncdaemon/test_config.py'
109--- tests/syncdaemon/test_config.py 2010-12-10 22:05:40 +0000
110+++ tests/syncdaemon/test_config.py 2011-02-02 13:09:44 +0000
111@@ -282,6 +282,48 @@
112 conf_1 = config._Config(conf_file)
113 self.assertEquals(True, conf_1.get_udf_autosubscribe())
114
115+ def test_load_share_autosubscribe(self):
116+ """Test load/set/override of share_autosubscribe config value."""
117+ conf_file = os.path.join(self.test_root,
118+ 'test_share_autosubscribe_config.conf')
119+ # write some throttling values to the config file
120+ with open(conf_file, 'w') as fp:
121+ fp.write('[__main__]\n')
122+ fp.write('share_autosubscribe = True\n')
123+
124+ # keep a original around
125+ conf_orig = config._Config(conf_file)
126+
127+ # load the config
128+ conf = config._Config(conf_file)
129+ self.assertTrue(conf.get_share_autosubscribe())
130+ # change it to False
131+ conf.set_share_autosubscribe(False)
132+ self.assertFalse(conf.get_share_autosubscribe())
133+ # save, load and check
134+ conf.save()
135+ conf_1 = config._Config(conf_file)
136+ self.assertFalse(conf_1.get_share_autosubscribe())
137+ # change it to True
138+ conf.set_share_autosubscribe(True)
139+ self.assertTrue(conf.get_share_autosubscribe())
140+ # save, load and check
141+ conf.save()
142+ conf_1 = config._Config(conf_file)
143+ self.assertTrue(conf_1.get_share_autosubscribe())
144+
145+ # load the config, check the override of the value
146+ conf = config._Config(conf_file)
147+ self.assertTrue(conf.get_share_autosubscribe())
148+ overridden_opts = [('__main__', 'share_autosubscribe', False)]
149+ conf.override_options(overridden_opts)
150+ self.assertFalse(conf.get_share_autosubscribe())
151+ self.assertNotEqual(conf.get_share_autosubscribe(),
152+ conf_orig.get_share_autosubscribe())
153+ conf.save()
154+ conf_1 = config._Config(conf_file)
155+ self.assertEquals(True, conf_1.get_share_autosubscribe())
156+
157 def test_load_autoconnect(self):
158 """Test load/set/override of autoconnect config value."""
159 conf_file = os.path.join(self.test_root,
160
161=== modified file 'ubuntuone/platform/linux/dbus_interface.py'
162--- ubuntuone/platform/linux/dbus_interface.py 2011-01-21 15:45:16 +0000
163+++ ubuntuone/platform/linux/dbus_interface.py 2011-02-02 13:09:44 +0000
164@@ -1403,6 +1403,28 @@
165 user_config.save()
166
167 @dbus.service.method(DBUS_IFACE_CONFIG_NAME,
168+ in_signature='', out_signature='b')
169+ def share_autosubscribe_enabled(self):
170+ """Return the share_autosubscribe config value."""
171+ return config.get_user_config().get_share_autosubscribe()
172+
173+ @dbus.service.method(DBUS_IFACE_CONFIG_NAME,
174+ in_signature='', out_signature='')
175+ def enable_share_autosubscribe(self):
176+ """Enable UDF autosubscribe."""
177+ user_config = config.get_user_config()
178+ user_config.set_share_autosubscribe(True)
179+ user_config.save()
180+
181+ @dbus.service.method(DBUS_IFACE_CONFIG_NAME,
182+ in_signature='', out_signature='')
183+ def disable_share_autosubscribe(self):
184+ """Enable UDF autosubscribe."""
185+ user_config = config.get_user_config()
186+ user_config.set_share_autosubscribe(False)
187+ user_config.save()
188+
189+ @dbus.service.method(DBUS_IFACE_CONFIG_NAME,
190 in_signature='b', out_signature='')
191 def set_files_sync_enabled(self, enabled):
192 """Enable/disable file sync service."""
193
194=== modified file 'ubuntuone/syncdaemon/config.py'
195--- ubuntuone/syncdaemon/config.py 2010-12-13 15:49:53 +0000
196+++ ubuntuone/syncdaemon/config.py 2011-02-02 13:09:44 +0000
197@@ -334,6 +334,14 @@
198 def get_udf_autosubscribe(self):
199 return self.get_parsed(MAIN, 'udf_autosubscribe')
200
201+ @requires_section(MAIN)
202+ def set_share_autosubscribe(self, enabled):
203+ self.set(MAIN, 'share_autosubscribe', str(enabled))
204+
205+ @requires_section(MAIN)
206+ def get_share_autosubscribe(self):
207+ return self.get_parsed(MAIN, 'share_autosubscribe')
208+
209 # files sync enablement get/set
210 @requires_section(MAIN)
211 def set_files_sync_enabled(self, enabled):

Subscribers

People subscribed via source and target branches