diff options
Diffstat (limited to 'sugar_network/node')
-rw-r--r-- | sugar_network/node/__init__.py | 2 | ||||
-rw-r--r-- | sugar_network/node/master.py | 6 | ||||
-rw-r--r-- | sugar_network/node/slave.py | 9 |
3 files changed, 9 insertions, 8 deletions
diff --git a/sugar_network/node/__init__.py b/sugar_network/node/__init__.py index 14d675c..66bd37e 100644 --- a/sugar_network/node/__init__.py +++ b/sugar_network/node/__init__.py @@ -46,5 +46,5 @@ mode = Option( default='slave') master_api = Option( - 'master API url either to connect to (for slave or proxy nodes), or,' + 'master API url either to connect to (for slave or proxy nodes), or, ' 'to provide from (for master nodes)') diff --git a/sugar_network/node/master.py b/sugar_network/node/master.py index c94d047..d51d85b 100644 --- a/sugar_network/node/master.py +++ b/sugar_network/node/master.py @@ -19,7 +19,7 @@ from urlparse import urlsplit from sugar_network import toolkit from sugar_network.model.post import Post from sugar_network.model.report import Report -from sugar_network.node import obs, master_api, model +from sugar_network.node import obs, model from sugar_network.node.routes import NodeRoutes from sugar_network.toolkit.router import route, ACL from sugar_network.toolkit.coroutine import this @@ -33,8 +33,8 @@ _logger = logging.getLogger('node.master') class MasterRoutes(NodeRoutes): - def __init__(self, **kwargs): - NodeRoutes.__init__(self, urlsplit(master_api.value).netloc, **kwargs) + def __init__(self, master_api, **kwargs): + NodeRoutes.__init__(self, urlsplit(master_api).netloc, **kwargs) self._pulls = pylru.lrucache(1024) @route('POST', cmd='sync', arguments={'accept_length': int}) diff --git a/sugar_network/node/slave.py b/sugar_network/node/slave.py index 176defd..babf1f0 100644 --- a/sugar_network/node/slave.py +++ b/sugar_network/node/slave.py @@ -25,7 +25,7 @@ from sugar_network import toolkit from sugar_network.model.context import Context from sugar_network.model.post import Post from sugar_network.model.report import Report -from sugar_network.node import master_api, model +from sugar_network.node import model from sugar_network.node.routes import NodeRoutes from sugar_network.toolkit.router import route, ACL from sugar_network.toolkit.coroutine import this @@ -39,7 +39,7 @@ _logger = logging.getLogger('node.slave') class SlaveRoutes(NodeRoutes): - def __init__(self, volume, **kwargs): + def __init__(self, master_api, volume, **kwargs): guid_path = join(volume.root, 'etc', 'node') if exists(guid_path): with file(guid_path) as f: @@ -54,12 +54,13 @@ class SlaveRoutes(NodeRoutes): vardir = join(volume.root, 'var') self._push_r = toolkit.Bin(join(vardir, 'push.ranges'), [[1, None]]) self._pull_r = toolkit.Bin(join(vardir, 'pull.ranges'), [[1, None]]) - self._master_guid = urlsplit(master_api.value).netloc + self._master_guid = urlsplit(master_api).netloc + self._master_api = master_api @route('POST', cmd='online_sync', acl=ACL.LOCAL, arguments={'no_pull': bool}) def online_sync(self, no_pull=False): - conn = http.Connection(master_api.value) + conn = http.Connection(self._master_api) response = conn.request('POST', data=packets.encode(self._export(not no_pull), header={ 'from': self.guid, |