Skip to content

Commit 96a9857

Browse files
authored
Merge pull request #1 from dmitry-sobolev/master
Queue module in Lua can be assigned to custom variable
2 parents e7ca339 + 62a7c9c commit 96a9857

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

asynctnt_queue/queue.py

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,13 @@
99

1010
class Queue:
1111
__slots__ = (
12-
'_conn', '_tube_cls', '_tubes'
12+
'_conn', '_tube_cls', '_tubes', '_namespace'
1313
)
1414

1515
def __init__(self,
1616
conn: asynctnt.Connection,
17-
tube_cls=Tube):
17+
tube_cls=Tube,
18+
namespace='queue'):
1819
"""
1920
Queue constructor.
2021
@@ -25,12 +26,16 @@ def __init__(self,
2526
:param tube_cls:
2627
Tube class that is used for Tube creation (default is
2728
:class:`asynctnt_queue.Tube`)
29+
:param namespace:
30+
Variable which was used for queue module import (
31+
deafult is `queue`)
2832
"""
2933
assert isinstance(conn, asynctnt.Connection), \
3034
'conn must be asynctnt.Connection instance'
3135
self._conn = conn
3236
self._tube_cls = tube_cls
3337
self._tubes = {}
38+
self._namespace = namespace
3439

3540
@property
3641
def conn(self):
@@ -41,6 +46,15 @@ def conn(self):
4146
"""
4247
return self._conn
4348

49+
@property
50+
def namespace(self):
51+
"""
52+
Queues namespace
53+
54+
:returns: :class:`str` instance
55+
"""
56+
return self._namespace
57+
4458
def tube(self, name):
4559
"""
4660
Returns tube by its name
@@ -69,7 +83,7 @@ async def statistics(self, tube_name=None):
6983
if tube_name is not None:
7084
args = (tube_name,)
7185

72-
res = await self._conn.call('queue.statistics', args)
86+
res = await self._conn.call('{}.statistics'.format(self._namespace), args)
7387
if self._conn.version < (1, 7):
7488
return res.body[0][0]
7589
return res.body[0]

asynctnt_queue/tube.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
]
2121

2222

23-
def build_func_name(tube_name, func_name):
24-
return 'queue.tube.{}:{}'.format(tube_name, func_name)
23+
def build_func_name(namespace, tube_name, func_name):
24+
return '{}.tube.{}:{}'.format(namespace, tube_name, func_name)
2525

2626

2727
class Tube:
@@ -33,14 +33,14 @@ def __init__(self, queue, name):
3333
self._queue = queue
3434
self._name = name
3535

36-
self.__funcs = {f: build_func_name(self._name, f) for f in _FUNCS}
36+
self.__funcs = {f: build_func_name(self._queue.namespace, self._name, f) for f in _FUNCS}
3737

3838
@property
3939
def queue(self):
4040
"""
4141
Returns corresponding queue object
4242
43-
:returns: :class:`asynctnt_queue.Tube` instance
43+
:returns: :class:`asynctnt_queue.Queue` instance
4444
"""
4545
return self._queue
4646

@@ -51,7 +51,7 @@ def conn(self):
5151
5252
:returns: :class:`asynctnt.Connection` instance
5353
"""
54-
return self._queue._conn
54+
return self._queue.conn
5555

5656
@property
5757
def name(self):

0 commit comments

Comments
 (0)