Files
starfields-drf-generics/utils.py

25 lines
874 B
Python

def sorted_params_string(filters_dict):
"""
This function takes a dict and returns it in a sorted form for the url filter, it's primarily used for cache purposes.
"""
filters_string = ''
for key in sorted(filters_dict.keys()):
if filters_string == '':
filters_string = f"{key}={','.join(str(val) for val in sorted(filters_dict[key]))}"
else:
filters_string = f"{filters_string}&{key}={','.join(str(val) for val in sorted(filters_dict[key]))}"
filters_string = filters_string.strip()
return filters_string
def parse_tags_to_dict(tags):
tagdict = {}
if ':' not in tags:
tagdict = {}
else:
for subtag in tags.split('&'):
tagkey, taglist = subtag.split(':')
taglist = taglist.split(',')
tagdict[tagkey] = set(taglist)
return tagdict