making nice code

This commit is contained in:
Miroslav Stampar 2012-05-09 18:25:04 +00:00
parent b0a8238774
commit 11d9859199

View File

@ -50,54 +50,40 @@ def setHandler():
management system. management system.
""" """
count = 0 dbmses = (
dbmsNames = ( "MySQL", "Oracle", "PostgreSQL", "Microsoft SQL Server", "SQLite", "Microsoft Access", "Firebird", "SAP MaxDB", "Sybase", "IBM DB2" ) ("MySQL", MYSQL_ALIASES, MySQLMap, MySQLConn),
dbmsObj = [ ("Oracle", ORACLE_ALIASES, OracleMap, OracleConn),
( MYSQL_ALIASES, MySQLMap, MySQLConn ), ("PostgreSQL", PGSQL_ALIASES, PostgreSQLMap, PostgreSQLConn),
( ORACLE_ALIASES, OracleMap, OracleConn ), ("Microsoft SQL Server", MSSQL_ALIASES, MSSQLServerMap, MSSQLServerConn),
( PGSQL_ALIASES, PostgreSQLMap, PostgreSQLConn ), ("SQLite", SQLITE_ALIASES, SQLiteMap, SQLiteConn),
( MSSQL_ALIASES, MSSQLServerMap, MSSQLServerConn ), ("Microsoft Access", ACCESS_ALIASES, AccessMap, AccessConn),
( SQLITE_ALIASES, SQLiteMap, SQLiteConn ), ("Firebird", FIREBIRD_ALIASES, FirebirdMap, FirebirdConn),
( ACCESS_ALIASES, AccessMap, AccessConn ), ("SAP MaxDB", MAXDB_ALIASES, MaxDBMap, MaxDBConn),
( FIREBIRD_ALIASES, FirebirdMap, FirebirdConn ), ("Sybase", SYBASE_ALIASES, SybaseMap, SybaseConn),
( MAXDB_ALIASES, MaxDBMap, MaxDBConn ), ("IBM DB2", DB2_ALIASES, DB2Map, DB2Conn)
( SYBASE_ALIASES, SybaseMap, SybaseConn ), )
( DB2_ALIASES, DB2Map, DB2Conn )
]
if Backend.getIdentifiedDbms() is not None: _ = max(_ if Backend.getIdentifiedDbms() in _[1] else None for _ in dbmses)
for i in xrange(len(dbmsObj)): if _:
dbmsAliases, _, _ = dbmsObj[i] dbmses.remove(_)
dbmses.insert(0, _)
if Backend.getIdentifiedDbms().lower() in dbmsAliases: for name, aliases, Handler, Connector in dbmses:
if i > 0: if conf.dbms and conf.dbms not in aliases:
pushValue(dbmsObj[i]) debugMsg = "skipping test for %s" % name
dbmsObj.remove(dbmsObj[i])
dbmsObj.insert(0, popValue())
break
for dbmsAliases, dbmsMap, dbmsConn in dbmsObj:
if conf.dbms and conf.dbms not in dbmsAliases:
debugMsg = "skipping test for %s" % dbmsNames[count]
logger.debug(debugMsg) logger.debug(debugMsg)
count += 1
continue continue
handler = dbmsMap() handler = Handler()
conf.dbmsConnector = dbmsConn() conf.dbmsConnector = Connector()
if conf.direct: if conf.direct:
logger.debug("forcing timeout to 10 seconds") logger.debug("forcing timeout to 10 seconds")
conf.timeout = 10 conf.timeout = 10
conf.dbmsConnector.connect() conf.dbmsConnector.connect()
if handler.checkDbms(): if handler.checkDbms():
conf.dbmsHandler = handler conf.dbmsHandler = handler
break break
else: else:
conf.dbmsConnector = None conf.dbmsConnector = None