-# Copyright 2011 GRNET S.A. All rights reserved.
+# Copyright 2011-2012 GRNET S.A. All rights reserved.
#
# Redistribution and use in source and binary forms, with or
# without modification, are permitted provided that the following
import re
-_regexfilter = re.compile('(!?)\s*(.+)\s*(=|!=|<=|>=|<|>)?\s*(.*)$', re.UNICODE)
+_regexfilter = re.compile('(!?)\s*(\S+?)\s*(?:(=|!=|<=|>=|<|>)\s*(\S*?)\s*)?$', re.UNICODE)
def parse_filters(terms):
neg, key, op, value = m.groups()
if neg:
excluded.append(key)
- elif not value:
- included.append(key)
elif op:
opers.append((key, op, value))
-
+ elif not value:
+ included.append(key)
+
return included, excluded, opers