Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@sugarlabs.org>2012-09-23 04:05:38 (GMT)
committer Aleksey Lim <alsroot@sugarlabs.org>2012-09-23 04:05:38 (GMT)
commitb213ba6544df29f032dc1c7383dfe50f7c4b2953 (patch)
tree6fa8cfa3de693c98ad937876e364527f56a62eb6
parentebaebc675d47fe488751ae73161e93c614066329 (diff)
Do not request sugar authentication when it useless
-rw-r--r--sugar_network/__init__.py4
-rw-r--r--sugar_network/local/mounts.py5
-rw-r--r--sugar_network/toolkit/http.py7
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')