|
@@ -85,9 +85,9 @@ ORDER BY "Product", "Category", "Group"
|
|
|
|
|
|
def get_filter(query: FormsDict, allow: Iterable[str] = None):
|
|
def get_filter(query: FormsDict, allow: Iterable[str] = None):
|
|
return {
|
|
return {
|
|
- k: list(map(set, get_include_exclude(
|
|
|
|
|
|
+ k: list(get_include_exclude(
|
|
(query[k] or 'kg' if k == 'unit' else query.getall(k)) if k in query else None
|
|
(query[k] or 'kg' if k == 'unit' else query.getall(k)) if k in query else None
|
|
- ))) for k in sorted(set(query.keys()) | set(allow)) if allow is None or k in allow
|
|
|
|
|
|
+ )) for k in sorted(set(query.keys()) | set(allow)) if allow is None or k in allow
|
|
}
|
|
}
|
|
|
|
|
|
def get_query_param(include, exclude):
|
|
def get_query_param(include, exclude):
|
|
@@ -96,9 +96,9 @@ def get_query_param(include, exclude):
|
|
*([ '|'.join(sorted(exclude)) ] if exclude else [ ]),
|
|
*([ '|'.join(sorted(exclude)) ] if exclude else [ ]),
|
|
])
|
|
])
|
|
|
|
|
|
-def get_query(**params):
|
|
|
|
- return '&'.join([
|
|
|
|
- urlencode([ (k, get_query_param(*params[k])) for k in sorted(params) ])
|
|
|
|
|
|
+def get_query(**param):
|
|
|
|
+ return urlencode([
|
|
|
|
+ (k, get_query_param(*param[k])) for k in sorted(param) if param[k]
|
|
])
|
|
])
|
|
|
|
|
|
def normalize_query(query: FormsDict, allow: Iterable[str] = None):
|
|
def normalize_query(query: FormsDict, allow: Iterable[str] = None):
|