X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=7e9ff53931185fe8ce499654d4559bae3180e05c;hb=e5bc0b3dccd5874054ad585157cbe2b05758b654;hp=6d954c88884095e1aba61338917d912ddc133660;hpb=379a8dd982fa7a20cdb6efaa39998872b3868eee;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 6d954c88..7e9ff539 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -3664,15 +3664,21 @@ class DBConn(object): sqlalchemy.dialects.postgresql.base.dialect = PGDialect_psycopg2_dak - self.db_pg = create_engine(connstr, **engine_args) - self.db_meta = MetaData() - self.db_meta.bind = self.db_pg - self.db_smaker = sessionmaker(bind=self.db_pg, - autoflush=True, - autocommit=False) - - self.__setuptables() - self.__setupmappers() + try: + self.db_pg = create_engine(connstr, **engine_args) + self.db_meta = MetaData() + self.db_meta.bind = self.db_pg + self.db_smaker = sessionmaker(bind=self.db_pg, + autoflush=True, + autocommit=False) + + self.__setuptables() + self.__setupmappers() + + except OperationalError, e: + import utils + utils.fubar("Cannot connect to database (%s)" % str(e)) + self.pid = os.getpid() def session(self, work_mem = 0):