Added the ability to filter by tag-value and refactored the filters to be generic.
This commit is contained in:
parent
444ab96b4f
commit
298cf65569
3 changed files with 55 additions and 8 deletions
|
|
@ -286,11 +286,19 @@ def is_filter_matching(obj, filter, filter_value):
|
|||
|
||||
try:
|
||||
value = set(value)
|
||||
return value.issubset(filter_value) or value.issuperset(filter_value)
|
||||
return (value and value.issubset(filter_value)) or value.issuperset(filter_value)
|
||||
except TypeError:
|
||||
return value in filter_value
|
||||
|
||||
|
||||
def generic_filter(filters, objects):
|
||||
if filters:
|
||||
for (_filter, _filter_value) in filters.items():
|
||||
objects = [obj for obj in objects if is_filter_matching(obj, _filter, _filter_value)]
|
||||
|
||||
return objects
|
||||
|
||||
|
||||
# not really random ( http://xkcd.com/221/ )
|
||||
def random_key_pair():
|
||||
return {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue