diff options
author | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-23 04:05:38 (GMT) |
---|---|---|
committer | Aleksey Lim <alsroot@sugarlabs.org> | 2012-09-23 04:05:38 (GMT) |
commit | b213ba6544df29f032dc1c7383dfe50f7c4b2953 (patch) | |
tree | 6fa8cfa3de693c98ad937876e364527f56a62eb6 | |
parent | ebaebc675d47fe488751ae73161e93c614066329 (diff) |
Do not request sugar authentication when it useless
-rw-r--r-- | sugar_network/__init__.py | 4 | ||||
-rw-r--r-- | sugar_network/local/mounts.py | 5 | ||||
-rw-r--r-- | sugar_network/toolkit/http.py | 7 |
3 files changed, 8 insertions, 8 deletions
diff --git a/sugar_network/__init__.py b/sugar_network/__init__.py index 350e332..825ca24 100644 --- a/sugar_network/__init__.py +++ b/sugar_network/__init__.py @@ -29,11 +29,11 @@ def checkin(*args, **kwargs): return injector.checkin(*args, **kwargs) -def Client(url=None, **kwargs): +def Client(url=None, sugar_auth=True, **kwargs): from sugar_network.toolkit import http if url is None: url = api_url.value - return http.Client(url, **kwargs) + return http.Client(url, sugar_auth=sugar_auth, **kwargs) def IPCClient(**kwargs): diff --git a/sugar_network/local/mounts.py b/sugar_network/local/mounts.py index 30a2172..56c6519 100644 --- a/sugar_network/local/mounts.py +++ b/sugar_network/local/mounts.py @@ -21,10 +21,9 @@ from gettext import gettext as _ import active_document as ad from sugar_network.zerosugar import Bundle, Spec -from sugar_network.toolkit import sugar, http from sugar_network.local import activities, cache from sugar_network.resources.volume import Request -from sugar_network import local, checkin, sugar +from sugar_network import local, checkin, sugar, Client from active_toolkit import util, coroutine, enforce @@ -366,7 +365,7 @@ class RemoteMount(ad.CommandsProcessor, _Mount, _ProxyCommands): for url in self._api_urls: try: _logger.debug('Connecting to %r master', url) - self._client = http.Client(url) + self._client = Client(url) subscription = self._client.subscribe() except Exception: util.exception(_logger, 'Cannot connect to %r master', url) diff --git a/sugar_network/toolkit/http.py b/sugar_network/toolkit/http.py index c3372c1..d0fbd16 100644 --- a/sugar_network/toolkit/http.py +++ b/sugar_network/toolkit/http.py @@ -47,9 +47,10 @@ _logger = logging.getLogger('http') class Client(object): - def __init__(self, api_url, **kwargs): + def __init__(self, api_url, sugar_auth=False, **kwargs): self.api_url = api_url self.params = kwargs + self._sugar_auth = sugar_auth verify = True if local.no_check_certificate.value: @@ -58,7 +59,7 @@ class Client(object): verify = local.certfile.value headers = {'Accept-Language': ','.join(ad.default_lang())} - if not local.anonymous.value: + if self._sugar_auth: uid = sugar.uid() key_path = sugar.profile_path('owner.key') headers = { @@ -203,7 +204,7 @@ class Client(object): if response.status_code != 200: if response.status_code == 401: - enforce(not local.anonymous.value, + enforce(self._sugar_auth, 'Operation is not available in anonymous mode') _logger.info('User is not registered on the server, ' 'registering') |