Skip to content

Commit dfda467

Browse files
author
Matt George
committed
changes to help with new empty list/set returns
from redis-py
1 parent aa977aa commit dfda467

File tree

3 files changed

+16
-4
lines changed

3 files changed

+16
-4
lines changed

pyres/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def peek(self, queue, start=0, count=1):
8888
return self.list_range('resque:queue:%s' % queue, start, count)
8989

9090
def list_range(self, key, start, count):
91-
items = self.redis.lrange(key, start,start+count-1)
91+
items = self.redis.lrange(key, start,start+count-1) or []
9292
ret_list = []
9393
for i in items:
9494
ret_list.append(ResQ.decode(i))
@@ -125,7 +125,7 @@ def enqueue_from_string(self, klass_as_string, queue, *args):
125125
self.push(queue, {'class':klass_as_string,'args':args})
126126

127127
def queues(self):
128-
return self.redis.smembers("resque:queues")
128+
return self.redis.smembers("resque:queues") or []
129129

130130
def info(self):
131131
"""

resweb/views.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -313,12 +313,14 @@ def key_type(self):
313313
def items(self):
314314
items = []
315315
if self.key_type() == 'list':
316-
for k in self.resq.redis.lrange('resque:'+self.stat_id,0,20):
316+
lst = self.resq.redis.lrange('resque:'+self.stat_id,0,20) or []
317+
for k in lst:
317318
items.append({
318319
'row':str(k)
319320
})
320321
elif self.key_type() == 'set':
321-
for k in self.resq.redis.smembers('resque:'+self.stat_id):
322+
st = self.resq.redis.smembers('resque:'+self.stat_id) or set([])
323+
for k in st:
322324
items.append({
323325
'row':str(k)
324326
})

tests/test_resq.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,3 +90,13 @@ def test_keys(self):
9090
assert 'queue:basic' in self.resq.keys()
9191
assert 'queues' in self.resq.keys()
9292

93+
def test_queues(self):
94+
assert self.resq.queues() == []
95+
self.resq.enqueue_from_string('tests.Basic','basic','test1')
96+
assert len(self.resq.queues()) == 1
97+
self.resq.enqueue_from_string('tests.Basic','basic','test1')
98+
assert len(self.resq.queues()) == 1
99+
self.resq.enqueue_from_string('tests.Basic','basic2','test1')
100+
assert len(self.resq.queues()) == 2
101+
assert 'test' not in self.resq.queues()
102+
assert 'basic' in self.resq.queues()

0 commit comments

Comments
 (0)