| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- from ..helpers import nativestr
- def list_to_dict(aList):
- return {nativestr(aList[i][0]): nativestr(aList[i][1]) for i in range(len(aList))}
- def parse_range(response):
- """Parse range response. Used by TS.RANGE and TS.REVRANGE."""
- return [tuple((r[0], float(r[1]))) for r in response]
- def parse_m_range(response):
- """Parse multi range response. Used by TS.MRANGE and TS.MREVRANGE."""
- res = []
- for item in response:
- res.append({nativestr(item[0]): [list_to_dict(item[1]), parse_range(item[2])]})
- return sorted(res, key=lambda d: list(d.keys()))
- def parse_get(response):
- """Parse get response. Used by TS.GET."""
- if not response:
- return None
- return int(response[0]), float(response[1])
- def parse_m_get(response):
- """Parse multi get response. Used by TS.MGET."""
- res = []
- for item in response:
- if not item[2]:
- res.append({nativestr(item[0]): [list_to_dict(item[1]), None, None]})
- else:
- res.append(
- {
- nativestr(item[0]): [
- list_to_dict(item[1]),
- int(item[2][0]),
- float(item[2][1]),
- ]
- }
- )
- return sorted(res, key=lambda d: list(d.keys()))
|