diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2012-09-23 22:01:39 +0100 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2012-09-23 22:01:39 +0100 |
commit | d2cee6f9ada9a59a382be68b052c770b8df1801d (patch) | |
tree | c298b6404ebb47f578fcf03c197eab1c7c37e795 /lib/_range.py | |
parent | 94c6353d552208b1c7638f393a3ed28e1eb1b968 (diff) | |
download | psycopg2-d2cee6f9ada9a59a382be68b052c770b8df1801d.tar.gz |
Added in operator for ranges
Diffstat (limited to 'lib/_range.py')
-rw-r--r-- | lib/_range.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/lib/_range.py b/lib/_range.py index 818cb15..01e5c90 100644 --- a/lib/_range.py +++ b/lib/_range.py @@ -115,6 +115,22 @@ class Range(object): if self._upper is None: return False return self._bounds[1] == ']' + def __contains__(self, x): + if self._empty: return False + if self._lower is not None: + if self._bounds[0] == '[': + if x < self._lower: return False + else: + if x <= self._lower: return False + + if self._upper is not None: + if self._bounds[1] == ']': + if x > self._upper: return False + else: + if x >= self._upper: return False + + return True + def register_range(pgrange, pyrange, conn_or_curs, globally=False): """Register a typecaster and an adapter for range a range type. |