summaryrefslogtreecommitdiff
path: root/src/etcd
diff options
context:
space:
mode:
authorSergio Castaño Arteaga <sarteaga@ipowow.com>2014-12-18 15:43:20 +1100
committerSergio Castaño Arteaga <sarteaga@ipowow.com>2014-12-18 15:43:20 +1100
commit620876fd0001b13237d0113e525a8ecc2d37272f (patch)
tree9ade5cf75cf1947206737e046f4abb77b89923e5 /src/etcd
parentb0dd619fce24dd608b86bd01941aeabd930eb0e0 (diff)
parent6ccabd858fe6f47618151ef44c6e3f9160979233 (diff)
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/etcd')
-rw-r--r--src/etcd/client.py13
-rw-r--r--src/etcd/tests/unit/test_client.py8
2 files changed, 17 insertions, 4 deletions
diff --git a/src/etcd/client.py b/src/etcd/client.py
index f73c667..271d85e 100644
--- a/src/etcd/client.py
+++ b/src/etcd/client.py
@@ -30,6 +30,7 @@ class Client(object):
self,
host='127.0.0.1',
port=4001,
+ version_prefix='/v2',
read_timeout=60,
allow_redirect=True,
protocol='http',
@@ -47,6 +48,8 @@ class Client(object):
port (int): Port used to connect to etcd.
+ version_prefix (str): Url or version prefix in etcd url (default=/v2).
+
read_timeout (int): max seconds to wait for a read.
allow_redirect (bool): allow the client to connect to other nodes.
@@ -81,7 +84,7 @@ class Client(object):
self._base_uri = uri(self._protocol, self._host, self._port)
- self.version_prefix = '/v2'
+ self.version_prefix = version_prefix
self._read_timeout = read_timeout
self._allow_redirect = allow_redirect
@@ -452,7 +455,7 @@ class Client(object):
"""
return self.read(key)
- def watch(self, key, index=None, timeout=None):
+ def watch(self, key, index=None, timeout=None, recursive=None):
"""
Blocks until a new event has been received, starting at index 'index'
@@ -476,9 +479,11 @@ class Client(object):
"""
if index:
- return self.read(key, wait=True, waitIndex=index, timeout=timeout)
+ return self.read(key, wait=True, waitIndex=index, timeout=timeout,
+ recursive=recursive)
else:
- return self.read(key, wait=True, timeout=timeout)
+ return self.read(key, wait=True, timeout=timeout,
+ recursive=recursive)
def eternal_watch(self, key, index=None):
"""
diff --git a/src/etcd/tests/unit/test_client.py b/src/etcd/tests/unit/test_client.py
index 4d83161..7ed00ee 100644
--- a/src/etcd/tests/unit/test_client.py
+++ b/src/etcd/tests/unit/test_client.py
@@ -19,6 +19,10 @@ class TestClient(unittest.TestCase):
client = etcd.Client()
assert client.port == 4001
+ def test_default_prefix(self):
+ client = etcd.Client()
+ assert client.version_prefix == '/v2'
+
def test_default_protocol(self):
""" default protocol is http"""
client = etcd.Client()
@@ -44,6 +48,10 @@ class TestClient(unittest.TestCase):
client = etcd.Client(port=4002)
assert client.port == 4002
+ def test_default_prefix(self):
+ client = etcd.Client(version_prefix='/etcd')
+ assert client.version_prefix == '/etcd'
+
def test_set_protocol(self):
""" can change protocol """
client = etcd.Client(protocol='https')