mirror of
https://github.com/MISP/misp-galaxy.git
synced 2024-12-04 20:57:18 +00:00
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
|
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()))
|