mirror of
https://github.com/psycopg/psycopg2.git
synced 2025-02-07 21:00:33 +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
5624ad4ec5
commit
c10c1186a5
|
@ -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