def GetFingerprints(details): """ returns an iterable sequence of fingerprints each fingerprint will have a _fieldsFromDb member whose first entry is the id. """ if details.dbName and details.tableName: try: conn = DbConnect(details.dbName, details.tableName) if hasattr(details, 'dbUser'): conn.user = details.dbUser if hasattr(details, 'dbPassword'): conn.password = details.dbPassword except: import traceback FingerprintMols.error( 'Error: Problems establishing connection to database: %s|%s\n' % (details.dbName, details.tableName)) traceback.print_exc() cmd = _ConstructSQL(details, extraFields=details.fpColName) curs = conn.GetCursor() #curs.execute(cmd) #print 'CURSOR:',curs,curs.closed if _dataSeq: suppl = _dataSeq(curs, cmd, depickle=not details.noPickle, klass=DataStructs.ExplicitBitVect) _dataSeq._conn = conn else: suppl = DbFpSupplier.ForwardDbFpSupplier( data, fpColName=details.fpColName) elif details.inFileName: conn = None try: inF = open(details.inFileName, 'r') except IOError: import traceback FingerprintMols.error('Error: Problems reading from file %s\n' % (details.inFileName)) traceback.print_exc() supple = [] done = 0 while not done: try: id, fp = cPickle.load(inF) except: done = 1 else: fp._fieldsFromDb = [id] suppl.append(fp) else: suppl = None return suppl
def GetFingerprints(details): """ returns an iterable sequence of fingerprints each fingerprint will have a _fieldsFromDb member whose first entry is the id. """ if details.dbName and details.tableName: try: conn = DbConnect(details.dbName, details.tableName) if hasattr(details, "dbUser"): conn.user = details.dbUser if hasattr(details, "dbPassword"): conn.password = details.dbPassword except Exception: import traceback FingerprintMols.error( "Error: Problems establishing connection to database: %s|%s\n" % (details.dbName, details.tableName) ) traceback.print_exc() cmd = _ConstructSQL(details, extraFields=details.fpColName) curs = conn.GetCursor() # curs.execute(cmd) # print 'CURSOR:',curs,curs.closed if _dataSeq: suppl = _dataSeq(curs, cmd, depickle=not details.noPickle, klass=DataStructs.ExplicitBitVect) _dataSeq._conn = conn else: suppl = DbFpSupplier.ForwardDbFpSupplier(data, fpColName=details.fpColName) elif details.inFileName: conn = None try: inF = open(details.inFileName, "r") except IOError: import traceback FingerprintMols.error("Error: Problems reading from file %s\n" % (details.inFileName)) traceback.print_exc() suppl = [] done = 0 while not done: try: ID, fp = cPickle.load(inF) except Exception: done = 1 else: fp._fieldsFromDb = [ID] suppl.append(fp) else: suppl = None return suppl
def GetFingerprints(details): """ returns an iterable sequence of fingerprints each fingerprint will have a _fieldsFromDb member whose first entry is the id. """ if details.dbName and details.tableName: conn: DbConnect = _ConnectToDatabase(details) cmd = _ConstructSQL(details, extraFields=details.fpColName) curs = conn.GetCursor() # curs.execute(cmd) # print 'CURSOR:',curs,curs.closed if _dataSeq: suppl = _dataSeq(curs, cmd, depickle=not details.noPickle, klass=DataStructs.ExplicitBitVect) _dataSeq._conn = conn return suppl return DbFpSupplier.ForwardDbFpSupplier(data, fpColName=details.fpColName) if details.inFileName: try: inF = open(details.inFileName, 'r') except IOError: import traceback FingerprintMols.error(f'Error: Problems reading from file {details.inFileName}\n') traceback.print_exc() suppl = [] done = 0 while not done: try: ID, fp = pickle.load(inF) except Exception: done = 1 else: fp._fieldsFromDb = [ID] suppl.append(fp) return suppl return None