]> git.donarmstrong.com Git - dak.git/commitdiff
Merge remote branch 'ftpmaster/master'
authorMark Hymers <mhy@debian.org>
Wed, 10 Aug 2011 19:59:27 +0000 (20:59 +0100)
committerMark Hymers <mhy@debian.org>
Wed, 10 Aug 2011 19:59:27 +0000 (20:59 +0100)
1  2 
daklib/dbconn.py

diff --combined daklib/dbconn.py
index 7e9ff53931185fe8ce499654d4559bae3180e05c,f2dca8fa693ed58089d2e9d0a454732d05e70e17..a6a9e02219c749fabd3a7ac364a6faa0d757e273
@@@ -3005,11 -3005,11 +3005,11 @@@ __all__.append('get_suite'
  
  ################################################################################
  
- # TODO: should be removed because the implementation is too trivial
  @session_wrapper
  def get_suite_architectures(suite, skipsrc=False, skipall=False, session=None):
      """
-     Returns list of Architecture objects for given C{suite} name
+     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
      @return: list of Architecture objects for the given name (may be empty)
      """
  
-     return get_suite(suite, session).get_architectures(skipsrc, skipall)
+     try:
+         return get_suite(suite, session).get_architectures(skipsrc, skipall)
+     except AttributeError:
+         return []
  
  __all__.append('get_suite_architectures')
  
@@@ -3664,21 -3667,15 +3667,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):