Make Not and NotIn namedtuples

This commit is contained in:
Paul Hooijenga 2017-10-27 13:30:36 +02:00
parent bc9344bb40
commit a0a8fc15ff
3 changed files with 7 additions and 10 deletions

View file

@ -201,17 +201,14 @@ class Array(collections.namedtuple('Array', ('of',))):
return [remove_defaults(val, self.of) for val in v]
class Not(object):
def __init__(self, val):
self.val = val
class Not(collections.namedtuple('Not', ('val',))):
def __eq__(self, other):
return other is not MISSING and other != self.val
class NotIn(object):
def __init__(self, values):
self.values = values
class NotIn(collections.namedtuple('NotIn', ('values',))):
def __new__(cls, *values):
return super(NotIn, cls).__new__(cls, values=values)
def __eq__(self, other):
return other is not MISSING and other not in self.values