def zset_score_min_max_example(): """ Example sorted set with min/max score pagination. """ from uuid import uuid4 from redis import StrictRedis from zato.redis_paginator import ZSetPaginator conn = StrictRedis() key = 'paginator:{}'.format(uuid4().hex) # 97-114 is 'a' to 'r' in ASCII for x in range(1, 18): conn.zadd(key, x, chr(96 + x)) p = ZSetPaginator(conn, key, 2, score_min=5, score_max=13) print(p.count) # 9 print(p.num_pages) # 5 print(p.page_range) # [1, 2, 3, 4, 5] page = p.page(3) print(page) # <Page 3 of 5> print(page.object_list) # ['i', 'j'] conn.delete(key)
def zset_example(): """ Example sorted set pagination. """ from uuid import uuid4 from redis import StrictRedis from zato.redis_paginator import ZSetPaginator conn = StrictRedis() key = 'paginator:{}'.format(uuid4().hex) # 97-114 is 'a' to 'r' in ASCII for x in range(1, 18): conn.zadd(key, x, chr(96 + x)) p = ZSetPaginator(conn, key, 6) print(p.count) # 17 print(p.num_pages) # 3 print(p.page_range) # [1, 2, 3] page = p.page(3) print(page) # <Page 3 of 3> print(page.object_list) # ['m', 'n', 'o', 'p', 'q'] conn.delete(key)
def get_events(key, page): items = ZSetPaginator(r, key, 20) item_page = items.page(page) data = { 'count': items.count, 'pages': items.num_pages, 'current': item_page.number, 'data': [] } for item in item_page.object_list: data['data'].append(get_event(item)) return data