mirror of
https://github.com/psycopg/psycopg2.git
synced 2024-11-25 18:33:44 +03:00
Added implementation for Range gt and ge operators
Using a common implementation for all the operators. Note that lt is the one used by sort so it's nice it's the fastest.
This commit is contained in:
parent
6cd0647da9
commit
4545d1636c
|
@ -154,20 +154,22 @@ class Range(object):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def __le__(self, other):
|
def __le__(self, other):
|
||||||
if not isinstance(other, Range):
|
if self == other:
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return self.__lt__(other)
|
||||||
|
|
||||||
|
def __gt__(self, other):
|
||||||
|
if isinstance(other, Range):
|
||||||
|
return other.__lt__(self)
|
||||||
|
else:
|
||||||
return NotImplemented
|
return NotImplemented
|
||||||
for attr in self.__slots__:
|
|
||||||
self_value = getattr(self, attr)
|
def __ge__(self, other):
|
||||||
other_value = getattr(other, attr)
|
if self == other:
|
||||||
if self_value == other_value:
|
return True
|
||||||
pass
|
else:
|
||||||
elif self_value is None:
|
return self.__gt__(other)
|
||||||
return True
|
|
||||||
elif other_value is None:
|
|
||||||
return False
|
|
||||||
else:
|
|
||||||
return self_value <= other_value
|
|
||||||
return True
|
|
||||||
|
|
||||||
|
|
||||||
def register_range(pgrange, pyrange, conn_or_curs, globally=False):
|
def register_range(pgrange, pyrange, conn_or_curs, globally=False):
|
||||||
|
|
Loading…
Reference in New Issue
Block a user