diff options
Diffstat (limited to 'python/db.py')
| -rw-r--r-- | python/db.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/python/db.py b/python/db.py index 32c4ea38..96b8ca61 100644 --- a/python/db.py +++ b/python/db.py @@ -1,9 +1,24 @@ +import datetime import psycopg2 from psycopg2.extras import DictCursor from psycopg2 import IntegrityError +from psycopg2.extensions import register_adapter from sqlalchemy import create_engine import numpy as np +class InfDateAdapter: + def __init__(self, wrapped): + self.wrapped = wrapped + def getquoted(self): + if self.wrapped == datetime.date.max: + return b"'infinity'::date" + elif self.wrapped == datetime.date.min: + return b"'-infinity'::date" + else: + return psycopg2.extensions.DateFromPy(self.wrapped).getquoted() + +register_adapter(datetime.date, InfDateAdapter) + def dbconn(dbname): if dbname == 'etdb': dbname = 'ET' |
