X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=daklib%2Fdbconn.py;h=1fa7974f5d0f5e2f2cdd4101c1621722bf86a731;hb=adcc4dcadd87c31ca52c4ec6b485375b56579e46;hp=85052f63b0ae9619735f463f39461f3846cdeab5;hpb=388b17e63a6b288d8131dcd430f778c4fe089493;p=dak.git diff --git a/daklib/dbconn.py b/daklib/dbconn.py index 85052f63..1fa7974f 100755 --- a/daklib/dbconn.py +++ b/daklib/dbconn.py @@ -2491,6 +2491,9 @@ class DBSource(ORMObject): metadata = association_proxy('key', 'value') + def get_component_name(self): + return self.poolfile.location.component.component_name + def scan_contents(self): ''' Returns a set of names for non directories. The path names are @@ -3008,8 +3011,8 @@ __all__.append('get_suite') @session_wrapper def get_suite_architectures(suite, skipsrc=False, skipall=False, session=None): """ - Returns list of Architecture objects for given C{suite} name or None if - suite does not exist + Returns list of Architecture objects for given C{suite} name. The list is + empty if suite does not exist. @type suite: str @param suite: Suite name to search for @@ -3033,7 +3036,7 @@ def get_suite_architectures(suite, skipsrc=False, skipall=False, session=None): try: return get_suite(suite, session).get_architectures(skipsrc, skipall) except AttributeError: - return None + return [] __all__.append('get_suite_architectures') @@ -3667,15 +3670,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) + 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.__setuptables() - self.__setupmappers() self.pid = os.getpid() def session(self, work_mem = 0):