szurubooru/server/szurubooru/search/criteria.py
rr- 9aea55e3d1 server/general: embrace most of PEP8
Ignored only the rules about continuing / hanging indentation.

Also, added __init__.py to tests so that pylint discovers them. (I don't
buy pytest's BS about installing your package.)
2016-08-14 16:44:03 +02:00

34 lines
914 B
Python

class _BaseCriterion(object):
def __init__(self, original_text):
self.original_text = original_text
def __repr__(self):
return self.original_text
class RangedCriterion(_BaseCriterion):
def __init__(self, original_text, min_value, max_value):
super().__init__(original_text)
self.min_value = min_value
self.max_value = max_value
def __hash__(self):
return hash(('range', self.min_value, self.max_value))
class PlainCriterion(_BaseCriterion):
def __init__(self, original_text, value):
super().__init__(original_text)
self.value = value
def __hash__(self):
return hash(self.value)
class ArrayCriterion(_BaseCriterion):
def __init__(self, original_text, values):
super().__init__(original_text)
self.values = values
def __hash__(self):
return hash(tuple(['array'] + self.values))