Merge lp:~nataliabidart/magicicada-protocol/change-python-namespace into lp:magicicada-protocol
- change-python-namespace
- Merge into trunk
Proposed by
Natalia Bidart
Status: | Merged |
---|---|
Approved by: | Natalia Bidart |
Approved revision: | 173 |
Merged at revision: | 173 |
Proposed branch: | lp:~nataliabidart/magicicada-protocol/change-python-namespace |
Merge into: | lp:magicicada-protocol |
Diff against target: |
665 lines (+61/-148) 36 files modified
.bzrignore (+0/-4) HACKING (+0/-33) MANIFEST.in (+2/-5) Makefile (+3/-3) README (+2/-15) magicicadaprotocol/__init__.py (+1/-1) magicicadaprotocol/client.py (+2/-2) magicicadaprotocol/delta.py (+1/-1) magicicadaprotocol/dircontent.proto (+2/-2) magicicadaprotocol/dircontent.py (+2/-1) magicicadaprotocol/errors.py (+2/-2) magicicadaprotocol/protocol.proto (+2/-2) magicicadaprotocol/request.py (+2/-2) magicicadaprotocol/sharersp.py (+1/-1) magicicadaprotocol/tests/__init__.py (+1/-1) magicicadaprotocol/tests/test_bytesproducer.py (+1/-1) magicicadaprotocol/tests/test_client.py (+3/-4) magicicadaprotocol/tests/test_context.py (+1/-1) magicicadaprotocol/tests/test_delta_info.py (+1/-1) magicicadaprotocol/tests/test_dircontent.py (+4/-3) magicicadaprotocol/tests/test_errors.py (+1/-1) magicicadaprotocol/tests/test_hashes.py (+1/-1) magicicadaprotocol/tests/test_proxy_tunnel.py (+2/-1) magicicadaprotocol/tests/test_public_file_info.py (+1/-1) magicicadaprotocol/tests/test_putcontent.py (+3/-4) magicicadaprotocol/tests/test_query.py (+1/-1) magicicadaprotocol/tests/test_request.py (+2/-2) magicicadaprotocol/tests/test_sharersp.py (+2/-2) magicicadaprotocol/tests/test_throttling.py (+1/-1) magicicadaprotocol/tests/test_volumes.py (+1/-1) magicicadaprotocol/validators.py (+2/-2) magicicadaprotocol/volumes.py (+1/-1) samples/easy_client.py (+4/-4) samples/ping_client.py (+2/-3) setup.py (+4/-5) ubuntuone/__init__.py (+0/-33) |
To merge this branch: | bzr merge lp:~nataliabidart/magicicada-protocol/change-python-namespace |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Facundo Batista | Approve | ||
Review via email: mp+343269@code.launchpad.net |
Commit message
- Renamed python module to magicicadaprotocol, removing the need of the namespace package "ubuntuone".
Description of the change
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file '.bzrignore' | |||
2 | --- .bzrignore 2018-04-08 19:22:33 +0000 | |||
3 | +++ .bzrignore 2018-04-14 22:31:56 +0000 | |||
4 | @@ -1,11 +1,7 @@ | |||
5 | 1 | MANIFEST | 1 | MANIFEST |
6 | 2 | build | 2 | build |
7 | 3 | debian/files | ||
8 | 4 | debian/ubuntuone-storage-protocol | ||
9 | 5 | dist | 3 | dist |
10 | 6 | _trial_temp | 4 | _trial_temp |
11 | 7 | *.debhelper* | ||
12 | 8 | *.substvars | ||
13 | 9 | *_pb2.py | 5 | *_pb2.py |
14 | 10 | *.pyc | 6 | *.pyc |
15 | 11 | *.egg-info | 7 | *.egg-info |
16 | 12 | 8 | ||
17 | === removed file 'HACKING' | |||
18 | --- HACKING 2010-11-12 14:36:58 +0000 | |||
19 | +++ HACKING 1970-01-01 00:00:00 +0000 | |||
20 | @@ -1,33 +0,0 @@ | |||
21 | 1 | Ubuntu One requires acceptance of the Canonical Contributor Agreement. You | ||
22 | 2 | will need to follow the instructions at: | ||
23 | 3 | |||
24 | 4 | http://www.canonical.com/contributors | ||
25 | 5 | |||
26 | 6 | Once the agreement is accepted, you will be added to the Ubuntu One Contributor | ||
27 | 7 | Agreement team on Launchpad, so that your branches may be merged in upstream. | ||
28 | 8 | |||
29 | 9 | |||
30 | 10 | In order to run tests in ubuntuone-storage-protocol, you will first need | ||
31 | 11 | to build the portion of code which uses Google Protocol Buffers. | ||
32 | 12 | |||
33 | 13 | $: ./setup.py build | ||
34 | 14 | |||
35 | 15 | Then you will need to run the tests. This will run lint and style checkers, | ||
36 | 16 | and the unit tests for the package. | ||
37 | 17 | |||
38 | 18 | $: ./run-tests | ||
39 | 19 | |||
40 | 20 | |||
41 | 21 | Ubuntu One uses branch based development on Launchpad, and bugs to track | ||
42 | 22 | features and issues. Make sure a bug is filed for the piece of code you wish | ||
43 | 23 | to work on. When committing your changes, be sure to specify the bug # it | ||
44 | 24 | fixes using the --fixes option in bzr. | ||
45 | 25 | |||
46 | 26 | $: bzr commit --fixes=lp:<BUGNUMBER> | ||
47 | 27 | |||
48 | 28 | If you forget to do this, you can link the branch manually on the Launchpad | ||
49 | 29 | web page. After pushing your branch to Launchpad, you will need to propose it | ||
50 | 30 | for merging into the parent branch. You can do this from the Launchpad web | ||
51 | 31 | page for your branch. In order for your branch to be accepted, you will have | ||
52 | 32 | to have accepted the Canonical Contributor Agreement as stated above, and | ||
53 | 33 | there will need to be at least two approvals from Ubuntu One developers. | ||
54 | 34 | 0 | ||
55 | === modified file 'MANIFEST.in' | |||
56 | --- MANIFEST.in 2013-05-23 18:58:06 +0000 | |||
57 | +++ MANIFEST.in 2018-04-14 22:31:56 +0000 | |||
58 | @@ -1,8 +1,5 @@ | |||
59 | 1 | include MANIFEST.in | 1 | include MANIFEST.in |
61 | 2 | include COPYING HACKING README README.windows | 2 | include COPYING README |
62 | 3 | include LICENSE LICENSE.OpenSSL | 3 | include LICENSE LICENSE.OpenSSL |
66 | 4 | include run-tests | 4 | recursive-include magicicadaprotocol *.proto |
64 | 5 | include *.pth | ||
65 | 6 | recursive-include ubuntuone *.proto | ||
67 | 7 | recursive-include samples *.py | 5 | recursive-include samples *.py |
68 | 8 | recursive-include tests *.py | ||
69 | 9 | 6 | ||
70 | === modified file 'Makefile' | |||
71 | --- Makefile 2018-04-08 19:22:33 +0000 | |||
72 | +++ Makefile 2018-04-14 22:31:56 +0000 | |||
73 | @@ -16,7 +16,7 @@ | |||
74 | 16 | # For further info, check http://launchpad.net/magicicada-protocol | 16 | # For further info, check http://launchpad.net/magicicada-protocol |
75 | 17 | 17 | ||
76 | 18 | ENV = $(CURDIR)/.env | 18 | ENV = $(CURDIR)/.env |
78 | 19 | SRC_DIR = $(CURDIR)/ubuntuone | 19 | SRC_DIR = $(CURDIR)/magicicadaprotocol |
79 | 20 | PATH := $(ENV)/bin:$(PATH) | 20 | PATH := $(ENV)/bin:$(PATH) |
80 | 21 | PYTHON = $(ENV)/bin/python | 21 | PYTHON = $(ENV)/bin/python |
81 | 22 | PYTHONPATH := $(ENV)/lib/python2.7:$(ENV)/lib/python2.7/site-packages:$(SRC_DIR):$(PYTHONPATH) | 22 | PYTHONPATH := $(ENV)/lib/python2.7:$(ENV)/lib/python2.7/site-packages:$(SRC_DIR):$(PYTHONPATH) |
82 | @@ -49,12 +49,12 @@ | |||
83 | 49 | $(ENV)/bin/twine upload dist/*.whl | 49 | $(ENV)/bin/twine upload dist/*.whl |
84 | 50 | 50 | ||
85 | 51 | test: lint | 51 | test: lint |
87 | 52 | SSL_CERTIFICATES_DIR=ubuntuone/storageprotocol/tests/certs PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python $(ENV)/bin/trial ubuntuone | 52 | SSL_CERTIFICATES_DIR=$(SRC_DIR)/tests/certs PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python $(ENV)/bin/trial magicicadaprotocol |
88 | 53 | 53 | ||
89 | 54 | clean: | 54 | clean: |
90 | 55 | $(PYTHON) setup.py clean | 55 | $(PYTHON) setup.py clean |
91 | 56 | find -name '*.pyc' -delete | 56 | find -name '*.pyc' -delete |
93 | 57 | rm -rf build dist sdist _trial_temp ubuntuone_storageprotocol.egg-info | 57 | rm -rf build dist sdist _trial_temp magicicadaprotocol.egg-info |
94 | 58 | 58 | ||
95 | 59 | lint: $(ENV) | 59 | lint: $(ENV) |
96 | 60 | $(ENV)/bin/flake8 --filename='*.py' --exclude='$(ENV),*_pb2.py,build' | 60 | $(ENV)/bin/flake8 --filename='*.py' --exclude='$(ENV),*_pb2.py,build' |
97 | 61 | 61 | ||
98 | === modified file 'README' | |||
99 | --- README 2009-06-06 01:25:56 +0000 | |||
100 | +++ README 2018-04-14 22:31:56 +0000 | |||
101 | @@ -1,18 +1,5 @@ | |||
102 | 1 | This package contains definitions for the protocol messages used by the | 1 | This package contains definitions for the protocol messages used by the |
117 | 2 | Ubuntu One file storage/sharing service, as well as python code for a | 2 | Magicicada file storage/sharing service (open source fork of Ubuntu One). |
104 | 3 | minimal client to talk directly to the storage servers. Python code for | ||
105 | 4 | local/offline functionality may be found in the ubuntuone-client package | ||
106 | 5 | instead, as part of the official clients. | ||
107 | 6 | |||
108 | 7 | This protocol applies only to the file storage service and not other | ||
109 | 8 | Ubuntu One services. | ||
110 | 9 | |||
111 | 10 | === | ||
112 | 11 | |||
113 | 12 | Note: contributions to this package are accepted only from those who have | ||
114 | 13 | signed the Ubuntu One Contributor agreement: | ||
115 | 14 | |||
116 | 15 | https://launchpad.net/~ubuntuone-contributor-agreement | ||
118 | 16 | 3 | ||
119 | 17 | === | 4 | === |
120 | 18 | 5 | ||
121 | @@ -29,7 +16,7 @@ | |||
122 | 29 | doing, if you are installing on an Ubuntu system it is probably better | 16 | doing, if you are installing on an Ubuntu system it is probably better |
123 | 30 | to build and install a Debian package. Recent versions of Ubuntu do not | 17 | to build and install a Debian package. Recent versions of Ubuntu do not |
124 | 31 | load python modules from /usr/local by default, and you are likely to | 18 | load python modules from /usr/local by default, and you are likely to |
126 | 32 | already have an installed ubuntuone-storage-protocol package in any case. | 19 | already have an installed magicicadaprotocol package in any case. |
127 | 33 | 20 | ||
128 | 34 | Protocol Overview: | 21 | Protocol Overview: |
129 | 35 | 22 | ||
130 | 36 | 23 | ||
131 | === renamed directory 'ubuntuone/storageprotocol' => 'magicicadaprotocol' | |||
132 | === modified file 'magicicadaprotocol/__init__.py' | |||
133 | --- ubuntuone/storageprotocol/__init__.py 2018-04-08 19:38:42 +0000 | |||
134 | +++ magicicadaprotocol/__init__.py 2018-04-14 22:31:56 +0000 | |||
135 | @@ -28,4 +28,4 @@ | |||
136 | 28 | # version. If you delete this exception statement from all source | 28 | # version. If you delete this exception statement from all source |
137 | 29 | # files in the program, then also delete it here. | 29 | # files in the program, then also delete it here. |
138 | 30 | 30 | ||
140 | 31 | """ubuntuone.storageprotocol package.""" | 31 | """magicicadaprotocol package.""" |
141 | 32 | 32 | ||
142 | === modified file 'magicicadaprotocol/client.py' | |||
143 | --- ubuntuone/storageprotocol/client.py 2018-04-08 19:38:42 +0000 | |||
144 | +++ magicicadaprotocol/client.py 2018-04-14 22:31:56 +0000 | |||
145 | @@ -40,7 +40,7 @@ | |||
146 | 40 | from twisted.internet import reactor, defer | 40 | from twisted.internet import reactor, defer |
147 | 41 | from twisted.python import log | 41 | from twisted.python import log |
148 | 42 | 42 | ||
150 | 43 | from ubuntuone.storageprotocol import ( | 43 | from magicicadaprotocol import ( |
151 | 44 | delta, | 44 | delta, |
152 | 45 | protocol_pb2, | 45 | protocol_pb2, |
153 | 46 | public_file_info, | 46 | public_file_info, |
154 | @@ -1896,7 +1896,7 @@ | |||
155 | 1896 | # ssl.ClientContextFactory()) | 1896 | # ssl.ClientContextFactory()) |
156 | 1897 | 1897 | ||
157 | 1898 | # using ssl over a proxy | 1898 | # using ssl over a proxy |
159 | 1899 | # from ubuntuone.storageprotocol import proxy_tunnel | 1899 | # from magicicadaprotocol import proxy_tunnel |
160 | 1900 | # proxy_tunnel.connectHTTPS('localhost', 3128, | 1900 | # proxy_tunnel.connectHTTPS('localhost', 3128, |
161 | 1901 | # 'localhost', 20101, StorageClientFactory(), | 1901 | # 'localhost', 20101, StorageClientFactory(), |
162 | 1902 | # user="test", passwd="test") | 1902 | # user="test", passwd="test") |
163 | 1903 | 1903 | ||
164 | === modified file 'magicicadaprotocol/delta.py' | |||
165 | --- ubuntuone/storageprotocol/delta.py 2018-04-08 19:38:42 +0000 | |||
166 | +++ magicicadaprotocol/delta.py 2018-04-14 22:31:56 +0000 | |||
167 | @@ -30,7 +30,7 @@ | |||
168 | 30 | 30 | ||
169 | 31 | """Provides wrapper classes for delta nodes messages.""" | 31 | """Provides wrapper classes for delta nodes messages.""" |
170 | 32 | 32 | ||
172 | 33 | from ubuntuone.storageprotocol import protocol_pb2 | 33 | from magicicadaprotocol import protocol_pb2 |
173 | 34 | 34 | ||
174 | 35 | FILE = 0 | 35 | FILE = 0 |
175 | 36 | DIRECTORY = 1 | 36 | DIRECTORY = 1 |
176 | 37 | 37 | ||
177 | === modified file 'magicicadaprotocol/dircontent.proto' | |||
178 | --- ubuntuone/storageprotocol/dircontent.proto 2018-04-08 19:38:42 +0000 | |||
179 | +++ magicicadaprotocol/dircontent.proto 2018-04-14 22:31:56 +0000 | |||
180 | @@ -27,9 +27,9 @@ | |||
181 | 27 | version. If you delete this exception statement from all source | 27 | version. If you delete this exception statement from all source |
182 | 28 | files in the program, then also delete it here. | 28 | files in the program, then also delete it here. |
183 | 29 | */ | 29 | */ |
185 | 30 | package ubuntuone.storageprotocol; | 30 | package magicicadaprotocol; |
186 | 31 | 31 | ||
188 | 32 | option java_package = "com.ubuntuone.storageprotocol"; | 32 | option java_package = "com.magicicadaprotocol"; |
189 | 33 | option java_outer_classname = "DirectoryContentProtocol"; | 33 | option java_outer_classname = "DirectoryContentProtocol"; |
190 | 34 | 34 | ||
191 | 35 | enum NodeType { | 35 | enum NodeType { |
192 | 36 | 36 | ||
193 | === modified file 'magicicadaprotocol/dircontent.py' | |||
194 | --- ubuntuone/storageprotocol/dircontent.py 2018-04-08 19:38:42 +0000 | |||
195 | +++ magicicadaprotocol/dircontent.py 2018-04-14 22:31:56 +0000 | |||
196 | @@ -31,7 +31,8 @@ | |||
197 | 31 | """Standard routines for working with directory content.""" | 31 | """Standard routines for working with directory content.""" |
198 | 32 | 32 | ||
199 | 33 | import re | 33 | import re |
201 | 34 | from ubuntuone.storageprotocol.dircontent_pb2 import DirectoryContent | 34 | |
202 | 35 | from magicicadaprotocol.dircontent_pb2 import DirectoryContent | ||
203 | 35 | 36 | ||
204 | 36 | ILLEGAL_FILENAMES = [u".", u".."] | 37 | ILLEGAL_FILENAMES = [u".", u".."] |
205 | 37 | ILLEGAL_FILENAME_CHARS_RE_SOURCE = r'[\000/]' | 38 | ILLEGAL_FILENAME_CHARS_RE_SOURCE = r'[\000/]' |
206 | 38 | 39 | ||
207 | === modified file 'magicicadaprotocol/errors.py' | |||
208 | --- ubuntuone/storageprotocol/errors.py 2018-04-08 19:38:42 +0000 | |||
209 | +++ magicicadaprotocol/errors.py 2018-04-14 22:31:56 +0000 | |||
210 | @@ -32,7 +32,7 @@ | |||
211 | 32 | 32 | ||
212 | 33 | import uuid | 33 | import uuid |
213 | 34 | 34 | ||
215 | 35 | from ubuntuone.storageprotocol import protocol_pb2 | 35 | from magicicadaprotocol import protocol_pb2 |
216 | 36 | 36 | ||
217 | 37 | 37 | ||
218 | 38 | class StorageProtocolError(Exception): | 38 | class StorageProtocolError(Exception): |
219 | @@ -149,7 +149,7 @@ | |||
220 | 149 | share_id will be None if we got the exception without free space info. | 149 | share_id will be None if we got the exception without free space info. |
221 | 150 | """ | 150 | """ |
222 | 151 | # to avoid circular dependencies | 151 | # to avoid circular dependencies |
224 | 152 | from ubuntuone.storageprotocol.request import ROOT | 152 | from magicicadaprotocol.request import ROOT |
225 | 153 | super(QuotaExceededError, self).__init__(request, message) | 153 | super(QuotaExceededError, self).__init__(request, message) |
226 | 154 | self.free_bytes = message.free_space_info.free_bytes | 154 | self.free_bytes = message.free_space_info.free_bytes |
227 | 155 | if message.free_space_info.share_id: | 155 | if message.free_space_info.share_id: |
228 | 156 | 156 | ||
229 | === modified file 'magicicadaprotocol/protocol.proto' | |||
230 | --- ubuntuone/storageprotocol/protocol.proto 2018-04-08 19:38:42 +0000 | |||
231 | +++ magicicadaprotocol/protocol.proto 2018-04-14 22:31:56 +0000 | |||
232 | @@ -27,9 +27,9 @@ | |||
233 | 27 | version. If you delete this exception statement from all source | 27 | version. If you delete this exception statement from all source |
234 | 28 | files in the program, then also delete it here. | 28 | files in the program, then also delete it here. |
235 | 29 | */ | 29 | */ |
237 | 30 | package ubuntuone.storageprotocol; | 30 | package magicicadaprotocol; |
238 | 31 | 31 | ||
240 | 32 | option java_package = "com.ubuntuone.storageprotocol"; | 32 | option java_package = "com.magicicadaprotocol"; |
241 | 33 | option java_outer_classname = "StorageProtocol"; | 33 | option java_outer_classname = "StorageProtocol"; |
242 | 34 | 34 | ||
243 | 35 | message Message { | 35 | message Message { |
244 | 36 | 36 | ||
245 | === modified file 'magicicadaprotocol/request.py' | |||
246 | --- ubuntuone/storageprotocol/request.py 2018-04-08 19:38:42 +0000 | |||
247 | +++ magicicadaprotocol/request.py 2018-04-14 22:31:56 +0000 | |||
248 | @@ -43,8 +43,8 @@ | |||
249 | 43 | from twisted.internet import defer | 43 | from twisted.internet import defer |
250 | 44 | from zope.interface import implements | 44 | from zope.interface import implements |
251 | 45 | 45 | ||
254 | 46 | from ubuntuone.storageprotocol import protocol_pb2, validators | 46 | from magicicadaprotocol import protocol_pb2, validators |
255 | 47 | from ubuntuone.storageprotocol.errors import ( | 47 | from magicicadaprotocol.errors import ( |
256 | 48 | StorageProtocolError, StorageProtocolErrorSizeTooBig, | 48 | StorageProtocolError, StorageProtocolErrorSizeTooBig, |
257 | 49 | StorageProtocolProtocolError, StorageRequestError, | 49 | StorageProtocolProtocolError, StorageRequestError, |
258 | 50 | RequestCancelledError, error_to_exception) | 50 | RequestCancelledError, error_to_exception) |
259 | 51 | 51 | ||
260 | === modified file 'magicicadaprotocol/sharersp.py' | |||
261 | --- ubuntuone/storageprotocol/sharersp.py 2018-04-08 19:38:42 +0000 | |||
262 | +++ magicicadaprotocol/sharersp.py 2018-04-14 22:31:56 +0000 | |||
263 | @@ -32,7 +32,7 @@ | |||
264 | 32 | 32 | ||
265 | 33 | import uuid | 33 | import uuid |
266 | 34 | 34 | ||
268 | 35 | from ubuntuone.storageprotocol import volumes | 35 | from magicicadaprotocol import volumes |
269 | 36 | 36 | ||
270 | 37 | 37 | ||
271 | 38 | class ShareResponse(object): | 38 | class ShareResponse(object): |
272 | 39 | 39 | ||
273 | === modified file 'magicicadaprotocol/tests/__init__.py' | |||
274 | --- ubuntuone/storageprotocol/tests/__init__.py 2018-04-08 19:38:42 +0000 | |||
275 | +++ magicicadaprotocol/tests/__init__.py 2018-04-14 22:31:56 +0000 | |||
276 | @@ -26,4 +26,4 @@ | |||
277 | 26 | # version. If you delete this exception statement from all source | 26 | # version. If you delete this exception statement from all source |
278 | 27 | # files in the program, then also delete it here. | 27 | # files in the program, then also delete it here. |
279 | 28 | 28 | ||
281 | 29 | """Tests for ubuntuone.storageprotocol.""" | 29 | """Tests for magicicadaprotocol.""" |
282 | 30 | 30 | ||
283 | === modified file 'magicicadaprotocol/tests/test_bytesproducer.py' | |||
284 | --- ubuntuone/storageprotocol/tests/test_bytesproducer.py 2018-04-08 19:38:42 +0000 | |||
285 | +++ magicicadaprotocol/tests/test_bytesproducer.py 2018-04-14 22:31:56 +0000 | |||
286 | @@ -38,7 +38,7 @@ | |||
287 | 38 | from twisted.internet import defer, task | 38 | from twisted.internet import defer, task |
288 | 39 | from twisted.trial.unittest import TestCase as TwistedTestCase | 39 | from twisted.trial.unittest import TestCase as TwistedTestCase |
289 | 40 | 40 | ||
291 | 41 | from ubuntuone.storageprotocol import client, protocol_pb2 | 41 | from magicicadaprotocol import client, protocol_pb2 |
292 | 42 | 42 | ||
293 | 43 | 43 | ||
294 | 44 | class FakeRequest(object): | 44 | class FakeRequest(object): |
295 | 45 | 45 | ||
296 | === modified file 'magicicadaprotocol/tests/test_client.py' | |||
297 | --- ubuntuone/storageprotocol/tests/test_client.py 2018-04-08 19:38:42 +0000 | |||
298 | +++ magicicadaprotocol/tests/test_client.py 2018-04-14 22:31:56 +0000 | |||
299 | @@ -42,8 +42,8 @@ | |||
300 | 42 | from twisted.trial.unittest import TestCase as TwistedTestCase | 42 | from twisted.trial.unittest import TestCase as TwistedTestCase |
301 | 43 | from twisted.web import server, resource | 43 | from twisted.web import server, resource |
302 | 44 | 44 | ||
305 | 45 | from ubuntuone.storageprotocol import protocol_pb2, sharersp, delta, request | 45 | from magicicadaprotocol import delta, protocol_pb2, request, sharersp, volumes |
306 | 46 | from ubuntuone.storageprotocol.client import ( | 46 | from magicicadaprotocol.client import ( |
307 | 47 | Authenticate, | 47 | Authenticate, |
308 | 48 | BytesMessageProducer, | 48 | BytesMessageProducer, |
309 | 49 | ChangePublicAccess, | 49 | ChangePublicAccess, |
310 | @@ -60,8 +60,7 @@ | |||
311 | 60 | Unlink, | 60 | Unlink, |
312 | 61 | ) | 61 | ) |
313 | 62 | 62 | ||
316 | 63 | from ubuntuone.storageprotocol import volumes | 63 | from magicicadaprotocol.tests import test_delta_info |
315 | 64 | from ubuntuone.storageprotocol.tests import test_delta_info | ||
317 | 65 | 64 | ||
318 | 66 | 65 | ||
319 | 67 | PATH = u'~/Documents/pdfs/moño/' | 66 | PATH = u'~/Documents/pdfs/moño/' |
320 | 68 | 67 | ||
321 | === modified file 'magicicadaprotocol/tests/test_context.py' | |||
322 | --- ubuntuone/storageprotocol/tests/test_context.py 2018-04-08 19:38:42 +0000 | |||
323 | +++ magicicadaprotocol/tests/test_context.py 2018-04-14 22:31:56 +0000 | |||
324 | @@ -35,7 +35,7 @@ | |||
325 | 35 | from twisted.trial import unittest | 35 | from twisted.trial import unittest |
326 | 36 | from twisted.web import client, resource, server | 36 | from twisted.web import client, resource, server |
327 | 37 | 37 | ||
329 | 38 | from ubuntuone.storageprotocol import context | 38 | from magicicadaprotocol import context |
330 | 39 | 39 | ||
331 | 40 | 40 | ||
332 | 41 | class FakeCerts(object): | 41 | class FakeCerts(object): |
333 | 42 | 42 | ||
334 | === modified file 'magicicadaprotocol/tests/test_delta_info.py' | |||
335 | --- ubuntuone/storageprotocol/tests/test_delta_info.py 2018-04-08 19:38:42 +0000 | |||
336 | +++ magicicadaprotocol/tests/test_delta_info.py 2018-04-14 22:31:56 +0000 | |||
337 | @@ -32,7 +32,7 @@ | |||
338 | 32 | 32 | ||
339 | 33 | import unittest | 33 | import unittest |
340 | 34 | 34 | ||
342 | 35 | from ubuntuone.storageprotocol import ( | 35 | from magicicadaprotocol import ( |
343 | 36 | protocol_pb2, | 36 | protocol_pb2, |
344 | 37 | delta, | 37 | delta, |
345 | 38 | content_hash, | 38 | content_hash, |
346 | 39 | 39 | ||
347 | === modified file 'magicicadaprotocol/tests/test_dircontent.py' | |||
348 | --- ubuntuone/storageprotocol/tests/test_dircontent.py 2018-04-08 19:38:42 +0000 | |||
349 | +++ magicicadaprotocol/tests/test_dircontent.py 2018-04-14 22:31:56 +0000 | |||
350 | @@ -33,11 +33,12 @@ | |||
351 | 33 | from __future__ import with_statement | 33 | from __future__ import with_statement |
352 | 34 | 34 | ||
353 | 35 | from cStringIO import StringIO | 35 | from cStringIO import StringIO |
355 | 36 | from ubuntuone.storageprotocol.dircontent import ( | 36 | from unittest import TestCase |
356 | 37 | |||
357 | 38 | from magicicadaprotocol.dircontent import ( | ||
358 | 37 | parse_dir_content, write_dir_content, DirEntry, | 39 | parse_dir_content, write_dir_content, DirEntry, |
359 | 38 | normalize_filename, validate_filename, InvalidFilename) | 40 | normalize_filename, validate_filename, InvalidFilename) |
362 | 39 | from ubuntuone.storageprotocol.dircontent_pb2 import (DIRECTORY, FILE) | 41 | from magicicadaprotocol.dircontent_pb2 import DIRECTORY, FILE |
361 | 40 | from unittest import TestCase | ||
363 | 41 | 42 | ||
364 | 42 | 43 | ||
365 | 43 | class TestFilenames(TestCase): | 44 | class TestFilenames(TestCase): |
366 | 44 | 45 | ||
367 | === modified file 'magicicadaprotocol/tests/test_errors.py' | |||
368 | --- ubuntuone/storageprotocol/tests/test_errors.py 2018-04-08 19:38:42 +0000 | |||
369 | +++ magicicadaprotocol/tests/test_errors.py 2018-04-14 22:31:56 +0000 | |||
370 | @@ -33,7 +33,7 @@ | |||
371 | 33 | import unittest | 33 | import unittest |
372 | 34 | import uuid | 34 | import uuid |
373 | 35 | 35 | ||
375 | 36 | from ubuntuone.storageprotocol import errors, protocol_pb2 | 36 | from magicicadaprotocol import errors, protocol_pb2 |
376 | 37 | 37 | ||
377 | 38 | REQ_ARGS = dict(request=None, message=protocol_pb2.Message()) | 38 | REQ_ARGS = dict(request=None, message=protocol_pb2.Message()) |
378 | 39 | 39 | ||
379 | 40 | 40 | ||
380 | === modified file 'magicicadaprotocol/tests/test_hashes.py' | |||
381 | --- ubuntuone/storageprotocol/tests/test_hashes.py 2018-04-08 19:38:42 +0000 | |||
382 | +++ magicicadaprotocol/tests/test_hashes.py 2018-04-14 22:31:56 +0000 | |||
383 | @@ -35,7 +35,7 @@ | |||
384 | 35 | import pickle | 35 | import pickle |
385 | 36 | import unittest | 36 | import unittest |
386 | 37 | 37 | ||
388 | 38 | from ubuntuone.storageprotocol.content_hash import ( | 38 | from magicicadaprotocol.content_hash import ( |
389 | 39 | MagicContentHash, | 39 | MagicContentHash, |
390 | 40 | SHA1ContentHash, | 40 | SHA1ContentHash, |
391 | 41 | content_hash_factory, | 41 | content_hash_factory, |
392 | 42 | 42 | ||
393 | === modified file 'magicicadaprotocol/tests/test_proxy_tunnel.py' | |||
394 | --- ubuntuone/storageprotocol/tests/test_proxy_tunnel.py 2018-04-08 19:38:42 +0000 | |||
395 | +++ magicicadaprotocol/tests/test_proxy_tunnel.py 2018-04-14 22:31:56 +0000 | |||
396 | @@ -36,7 +36,8 @@ | |||
397 | 36 | from twisted.internet import defer | 36 | from twisted.internet import defer |
398 | 37 | from twisted.trial.unittest import TestCase as TwistedTestCase | 37 | from twisted.trial.unittest import TestCase as TwistedTestCase |
399 | 38 | from twisted.test.proto_helpers import StringTransport | 38 | from twisted.test.proto_helpers import StringTransport |
401 | 39 | from ubuntuone.storageprotocol.proxy_tunnel import ProxyTunnelFactory | 39 | |
402 | 40 | from magicicadaprotocol.proxy_tunnel import ProxyTunnelFactory | ||
403 | 40 | 41 | ||
404 | 41 | 42 | ||
405 | 42 | class FakeTransport(StringTransport): | 43 | class FakeTransport(StringTransport): |
406 | 43 | 44 | ||
407 | === modified file 'magicicadaprotocol/tests/test_public_file_info.py' | |||
408 | --- ubuntuone/storageprotocol/tests/test_public_file_info.py 2018-04-08 19:38:42 +0000 | |||
409 | +++ magicicadaprotocol/tests/test_public_file_info.py 2018-04-14 22:31:56 +0000 | |||
410 | @@ -31,7 +31,7 @@ | |||
411 | 31 | 31 | ||
412 | 32 | import unittest | 32 | import unittest |
413 | 33 | 33 | ||
415 | 34 | from ubuntuone.storageprotocol import protocol_pb2, public_file_info, request | 34 | from magicicadaprotocol import protocol_pb2, public_file_info, request |
416 | 35 | 35 | ||
417 | 36 | SHARE = "share_id" | 36 | SHARE = "share_id" |
418 | 37 | NODE = "node_id" | 37 | NODE = "node_id" |
419 | 38 | 38 | ||
420 | === modified file 'magicicadaprotocol/tests/test_putcontent.py' | |||
421 | --- ubuntuone/storageprotocol/tests/test_putcontent.py 2018-04-08 19:38:42 +0000 | |||
422 | +++ magicicadaprotocol/tests/test_putcontent.py 2018-04-14 22:31:56 +0000 | |||
423 | @@ -34,12 +34,11 @@ | |||
424 | 34 | 34 | ||
425 | 35 | from StringIO import StringIO | 35 | from StringIO import StringIO |
426 | 36 | 36 | ||
427 | 37 | from mocker import Mocker, ANY | ||
428 | 37 | from twisted.test.proto_helpers import StringTransport | 38 | from twisted.test.proto_helpers import StringTransport |
429 | 38 | 39 | ||
434 | 39 | from ubuntuone.storageprotocol.client import PutContent, StorageClient | 40 | from magicicadaprotocol import protocol_pb2, request |
435 | 40 | from ubuntuone.storageprotocol import request | 41 | from magicicadaprotocol.client import PutContent, StorageClient |
432 | 41 | from ubuntuone.storageprotocol import protocol_pb2 | ||
433 | 42 | from mocker import Mocker, ANY | ||
436 | 43 | 42 | ||
437 | 44 | 43 | ||
438 | 45 | class TestOffset(unittest.TestCase): | 44 | class TestOffset(unittest.TestCase): |
439 | 46 | 45 | ||
440 | === modified file 'magicicadaprotocol/tests/test_query.py' | |||
441 | --- ubuntuone/storageprotocol/tests/test_query.py 2018-04-08 19:38:42 +0000 | |||
442 | +++ magicicadaprotocol/tests/test_query.py 2018-04-14 22:31:56 +0000 | |||
443 | @@ -33,7 +33,7 @@ | |||
444 | 33 | import os | 33 | import os |
445 | 34 | import unittest | 34 | import unittest |
446 | 35 | 35 | ||
448 | 36 | from ubuntuone.storageprotocol.client import MultiQuery | 36 | from magicicadaprotocol.client import MultiQuery |
449 | 37 | 37 | ||
450 | 38 | 38 | ||
451 | 39 | class TestQuery10(unittest.TestCase): | 39 | class TestQuery10(unittest.TestCase): |
452 | 40 | 40 | ||
453 | === modified file 'magicicadaprotocol/tests/test_request.py' | |||
454 | --- ubuntuone/storageprotocol/tests/test_request.py 2018-04-08 19:38:42 +0000 | |||
455 | +++ magicicadaprotocol/tests/test_request.py 2018-04-14 22:31:56 +0000 | |||
456 | @@ -38,8 +38,8 @@ | |||
457 | 38 | from twisted.python.failure import Failure | 38 | from twisted.python.failure import Failure |
458 | 39 | from twisted.trial.unittest import TestCase as TwistedTestCase | 39 | from twisted.trial.unittest import TestCase as TwistedTestCase |
459 | 40 | 40 | ||
462 | 41 | from ubuntuone.storageprotocol import errors, protocol_pb2 | 41 | from magicicadaprotocol import errors, protocol_pb2 |
463 | 42 | from ubuntuone.storageprotocol.request import ( | 42 | from magicicadaprotocol.request import ( |
464 | 43 | RequestHandler, Request, RequestResponse) | 43 | RequestHandler, Request, RequestResponse) |
465 | 44 | 44 | ||
466 | 45 | 45 | ||
467 | 46 | 46 | ||
468 | === modified file 'magicicadaprotocol/tests/test_sharersp.py' | |||
469 | --- ubuntuone/storageprotocol/tests/test_sharersp.py 2018-04-08 19:38:42 +0000 | |||
470 | +++ magicicadaprotocol/tests/test_sharersp.py 2018-04-14 22:31:56 +0000 | |||
471 | @@ -35,8 +35,8 @@ | |||
472 | 35 | from twisted.internet import defer | 35 | from twisted.internet import defer |
473 | 36 | from twisted.trial.unittest import TestCase | 36 | from twisted.trial.unittest import TestCase |
474 | 37 | 37 | ||
477 | 38 | from ubuntuone.storageprotocol.sharersp import ShareResponse | 38 | from magicicadaprotocol import protocol_pb2 |
478 | 39 | from ubuntuone.storageprotocol import protocol_pb2 | 39 | from magicicadaprotocol.sharersp import ShareResponse |
479 | 40 | 40 | ||
480 | 41 | 41 | ||
481 | 42 | class ShareResponseFromParamsTest(TestCase): | 42 | class ShareResponseFromParamsTest(TestCase): |
482 | 43 | 43 | ||
483 | === modified file 'magicicadaprotocol/tests/test_throttling.py' | |||
484 | --- ubuntuone/storageprotocol/tests/test_throttling.py 2018-04-08 19:38:42 +0000 | |||
485 | +++ magicicadaprotocol/tests/test_throttling.py 2018-04-14 22:31:56 +0000 | |||
486 | @@ -35,7 +35,7 @@ | |||
487 | 35 | from twisted.internet import defer, task | 35 | from twisted.internet import defer, task |
488 | 36 | from twisted.trial.unittest import TestCase as TwistedTestCase | 36 | from twisted.trial.unittest import TestCase as TwistedTestCase |
489 | 37 | 37 | ||
491 | 38 | from ubuntuone.storageprotocol import client | 38 | from magicicadaprotocol import client |
492 | 39 | 39 | ||
493 | 40 | 40 | ||
494 | 41 | class FakeClient(object): | 41 | class FakeClient(object): |
495 | 42 | 42 | ||
496 | === modified file 'magicicadaprotocol/tests/test_volumes.py' | |||
497 | --- ubuntuone/storageprotocol/tests/test_volumes.py 2018-04-08 19:38:42 +0000 | |||
498 | +++ magicicadaprotocol/tests/test_volumes.py 2018-04-14 22:31:56 +0000 | |||
499 | @@ -35,7 +35,7 @@ | |||
500 | 35 | 35 | ||
501 | 36 | from copy import copy | 36 | from copy import copy |
502 | 37 | 37 | ||
504 | 38 | from ubuntuone.storageprotocol import protocol_pb2, volumes | 38 | from magicicadaprotocol import protocol_pb2, volumes |
505 | 39 | 39 | ||
506 | 40 | PATH = u'~/Documents/pdfs/moño/' | 40 | PATH = u'~/Documents/pdfs/moño/' |
507 | 41 | NAME = u'What a beatiful volume' | 41 | NAME = u'What a beatiful volume' |
508 | 42 | 42 | ||
509 | === modified file 'magicicadaprotocol/validators.py' | |||
510 | --- ubuntuone/storageprotocol/validators.py 2018-04-08 19:38:42 +0000 | |||
511 | +++ magicicadaprotocol/validators.py 2018-04-14 22:31:56 +0000 | |||
512 | @@ -84,7 +84,7 @@ | |||
513 | 84 | 84 | ||
514 | 85 | """ | 85 | """ |
515 | 86 | # circular import | 86 | # circular import |
517 | 87 | from ubuntuone.storageprotocol import request | 87 | from magicicadaprotocol import request |
518 | 88 | is_valid = (a_hash == '' or a_hash == request.UNKNOWN_HASH or | 88 | is_valid = (a_hash == '' or a_hash == request.UNKNOWN_HASH or |
519 | 89 | is_valid_sha1(a_hash)) | 89 | is_valid_sha1(a_hash)) |
520 | 90 | return is_valid | 90 | return is_valid |
521 | @@ -95,7 +95,7 @@ | |||
522 | 95 | Recursively validate a message's fields | 95 | Recursively validate a message's fields |
523 | 96 | """ | 96 | """ |
524 | 97 | is_invalid = [] | 97 | is_invalid = [] |
526 | 98 | from ubuntuone.storageprotocol import validators # this is us! | 98 | from magicicadaprotocol import validators # this is us! |
527 | 99 | for descriptor, submsg in message.ListFields(): | 99 | for descriptor, submsg in message.ListFields(): |
528 | 100 | if isinstance(submsg, CONTAINER_CLASSES): | 100 | if isinstance(submsg, CONTAINER_CLASSES): |
529 | 101 | # containers are iterables that have messages in them | 101 | # containers are iterables that have messages in them |
530 | 102 | 102 | ||
531 | === modified file 'magicicadaprotocol/volumes.py' | |||
532 | --- ubuntuone/storageprotocol/volumes.py 2018-04-08 19:38:42 +0000 | |||
533 | +++ magicicadaprotocol/volumes.py 2018-04-14 22:31:56 +0000 | |||
534 | @@ -32,7 +32,7 @@ | |||
535 | 32 | 32 | ||
536 | 33 | import uuid | 33 | import uuid |
537 | 34 | 34 | ||
539 | 35 | from ubuntuone.storageprotocol import protocol_pb2 | 35 | from magicicadaprotocol import protocol_pb2 |
540 | 36 | 36 | ||
541 | 37 | _direction_prot2nice = { | 37 | _direction_prot2nice = { |
542 | 38 | protocol_pb2.Shares.FROM_ME: "from_me", | 38 | protocol_pb2.Shares.FROM_ME: "from_me", |
543 | 39 | 39 | ||
544 | === modified file 'samples/easy_client.py' | |||
545 | --- samples/easy_client.py 2018-04-08 19:38:42 +0000 | |||
546 | +++ samples/easy_client.py 2018-04-14 22:31:56 +0000 | |||
547 | @@ -38,10 +38,10 @@ | |||
548 | 38 | 38 | ||
549 | 39 | from twisted.internet import reactor, defer | 39 | from twisted.internet import reactor, defer |
550 | 40 | 40 | ||
552 | 41 | from ubuntuone.storageprotocol.client import ( | 41 | from magicicadaprotocol import request, protocol_pb2 |
553 | 42 | from magicicadaprotocol.client import ( | ||
554 | 42 | StorageClientFactory, StorageClient) | 43 | StorageClientFactory, StorageClient) |
557 | 43 | from ubuntuone.storageprotocol import request, protocol_pb2 | 44 | from magicicadaprotocol.dircontent_pb2 import ( |
556 | 44 | from ubuntuone.storageprotocol.dircontent_pb2 import ( | ||
558 | 45 | DirectoryContent, DIRECTORY) | 45 | DirectoryContent, DIRECTORY) |
559 | 46 | 46 | ||
560 | 47 | 47 | ||
561 | @@ -302,7 +302,7 @@ | |||
562 | 302 | NUM_CLIENTS = 200 | 302 | NUM_CLIENTS = 200 |
563 | 303 | NUM_FILES = 50 | 303 | NUM_FILES = 50 |
564 | 304 | 304 | ||
566 | 305 | port_num = int(open("tmp/ubuntuone-api.port").read()) | 305 | port_num = int(open("tmp/magicicada-api.port").read()) |
567 | 306 | deferred = authenticated_client("localhost", int(port_num)) | 306 | deferred = authenticated_client("localhost", int(port_num)) |
568 | 307 | deferred.addCallback(create_dirs, NUM_CLIENTS) | 307 | deferred.addCallback(create_dirs, NUM_CLIENTS) |
569 | 308 | 308 | ||
570 | 309 | 309 | ||
571 | === modified file 'samples/ping_client.py' | |||
572 | --- samples/ping_client.py 2018-04-08 19:38:42 +0000 | |||
573 | +++ samples/ping_client.py 2018-04-14 22:31:56 +0000 | |||
574 | @@ -32,8 +32,7 @@ | |||
575 | 32 | 32 | ||
576 | 33 | from twisted.internet import reactor | 33 | from twisted.internet import reactor |
577 | 34 | 34 | ||
580 | 35 | from ubuntuone.storageprotocol.client import ( | 35 | from magicicadaprotocol.client import StorageClientFactory, StorageClient |
579 | 36 | StorageClientFactory, StorageClient) | ||
581 | 37 | 36 | ||
582 | 38 | 37 | ||
583 | 39 | class PingClient(StorageClient): | 38 | class PingClient(StorageClient): |
584 | @@ -83,7 +82,7 @@ | |||
585 | 83 | # ssl.ClientContextFactory()) | 82 | # ssl.ClientContextFactory()) |
586 | 84 | 83 | ||
587 | 85 | # using ssl over a proxy | 84 | # using ssl over a proxy |
589 | 86 | # from ubuntuone.storageprotocol import proxy_tunnel | 85 | # from magicicadaprotocol import proxy_tunnel |
590 | 87 | # proxy_tunnel.connectHTTPS('localhost', 3128, | 86 | # proxy_tunnel.connectHTTPS('localhost', 3128, |
591 | 88 | # 'localhost', 20101, StorageClientFactory(), | 87 | # 'localhost', 20101, StorageClientFactory(), |
592 | 89 | # user="test", passwd="test") | 88 | # user="test", passwd="test") |
593 | 90 | 89 | ||
594 | === modified file 'setup.py' | |||
595 | --- setup.py 2018-04-14 22:08:27 +0000 | |||
596 | +++ setup.py 2018-04-14 22:31:56 +0000 | |||
597 | @@ -39,7 +39,7 @@ | |||
598 | 39 | " package installed?\n") | 39 | " package installed?\n") |
599 | 40 | sys.exit(-1) | 40 | sys.exit(-1) |
600 | 41 | 41 | ||
602 | 42 | for source in glob.glob('ubuntuone/storageprotocol/*.proto'): | 42 | for source in glob.glob('magicicadaprotocol/*.proto'): |
603 | 43 | # glob works with unix and does not like \ in the search path, | 43 | # glob works with unix and does not like \ in the search path, |
604 | 44 | # we use / and correct the issue on windows when appropiate | 44 | # we use / and correct the issue on windows when appropiate |
605 | 45 | if sys.platform == "win32": | 45 | if sys.platform == "win32": |
606 | @@ -58,7 +58,7 @@ | |||
607 | 58 | 58 | ||
608 | 59 | def run(self): | 59 | def run(self): |
609 | 60 | """Do the clean up""" | 60 | """Do the clean up""" |
611 | 61 | for source in glob.glob("ubuntuone/storageprotocol/*_pb2.py"): | 61 | for source in glob.glob("magicicadaprotocol/*_pb2.py"): |
612 | 62 | os.unlink(source) | 62 | os.unlink(source) |
613 | 63 | 63 | ||
614 | 64 | # Call the parent class clean command | 64 | # Call the parent class clean command |
615 | @@ -66,9 +66,8 @@ | |||
616 | 66 | 66 | ||
617 | 67 | 67 | ||
618 | 68 | setup( | 68 | setup( |
622 | 69 | name='ubuntuone-storageprotocol', | 69 | name='magicicadaprotocol', |
623 | 70 | namespace_packages=['ubuntuone'], | 70 | version='2.0', |
621 | 71 | version='1.0', | ||
624 | 72 | description=( | 71 | description=( |
625 | 73 | 'The protocol implementation for the Magicicada filesync server ' | 72 | 'The protocol implementation for the Magicicada filesync server ' |
626 | 74 | '(open source fork of the Ubuntu One filesync).'), | 73 | '(open source fork of the Ubuntu One filesync).'), |
627 | 75 | 74 | ||
628 | === removed directory 'ubuntuone' | |||
629 | === removed file 'ubuntuone/__init__.py' | |||
630 | --- ubuntuone/__init__.py 2018-04-08 19:38:42 +0000 | |||
631 | +++ ubuntuone/__init__.py 1970-01-01 00:00:00 +0000 | |||
632 | @@ -1,33 +0,0 @@ | |||
633 | 1 | # -*- coding: utf-8 -*- | ||
634 | 2 | # | ||
635 | 3 | # Copyright 2009-2012 Canonical Ltd. | ||
636 | 4 | # Copyright 2015-2018 Chicharreros (https://launchpad.net/~chicharreros) | ||
637 | 5 | # | ||
638 | 6 | # This program is free software: you can redistribute it and/or modify it | ||
639 | 7 | # under the terms of the GNU Affero General Public License version 3, | ||
640 | 8 | # as published by the Free Software Foundation. | ||
641 | 9 | # | ||
642 | 10 | # This program is distributed in the hope that it will be useful, but | ||
643 | 11 | # WITHOUT ANY WARRANTY; without even the implied warranties of | ||
644 | 12 | # MERCHANTABILITY, SATISFACTORY QUALITY, or FITNESS FOR A PARTICULAR | ||
645 | 13 | # PURPOSE. See the GNU Affero General Public License for more details. | ||
646 | 14 | # | ||
647 | 15 | # You should have received a copy of the GNU Affero General Public License | ||
648 | 16 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
649 | 17 | # | ||
650 | 18 | # In addition, as a special exception, the copyright holders give | ||
651 | 19 | # permission to link the code of portions of this program with the | ||
652 | 20 | # OpenSSL library under certain conditions as described in each | ||
653 | 21 | # individual source file, and distribute linked combinations | ||
654 | 22 | # including the two. | ||
655 | 23 | # You must obey the GNU General Public License in all respects | ||
656 | 24 | # for all of the code used other than OpenSSL. If you modify | ||
657 | 25 | # file(s) with this exception, you may extend this exception to your | ||
658 | 26 | # version of the file(s), but you are not obligated to do so. If you | ||
659 | 27 | # do not wish to do so, delete this exception statement from your | ||
660 | 28 | # version. If you delete this exception statement from all source | ||
661 | 29 | # files in the program, then also delete it here. | ||
662 | 30 | |||
663 | 31 | """ubuntuone package.""" | ||
664 | 32 | |||
665 | 33 | __import__('pkg_resources').declare_namespace(__name__) |
Go!