def selectDB(disk, rootDB, subDB): EI = Inquery(disk) selectDic = {'1': 'Obs Date', '2': 'Obs Id', '3': 'Fibre', '4': 'Detection Level', '5': 'Event Type'} selectOrder = [] while True: select = raw_input('Searching for\n(1) {}\n(2) {}\n(3) {}\n(4) {}\n(5) {}\nor press Enter to start =>? '.format(selectDic['1'], selectDic['2'], selectDic['3'], selectDic['4'], selectDic['5'])) if not select: break if select in selectOrder: print('{} has been selected!'.format(selectDic[select])) elif (select in selectDic.keys()) == False: print('Your selection is out of range.') else: selectOrder.append(select) if len(selectOrder) != 0: srcRoot = '{}'.format(rootDB) inimidDB = 'DB_temp_ini' middleDB = 'DB_temp_old' filtedDB = 'DB_temp_new' extrctDB = '{}'.format(subDB) for isel in selectOrder: if isel == '1': if os.path.exists(disk + '/' + inimidDB) == False: shutil.copy(disk + '/' + srcRoot, disk + '/' + inimidDB) shutil.copy(disk + '/' + srcRoot, disk + '/' + middleDB) obsdate = raw_input('Which obsDate? (ex: 20100228) ') EI.searchObsDate(middleDB, filtedDB, obsdate) # os.remove(disk + '/' + middleDB) shutil.copy(disk + '/' + filtedDB, disk + '/' + middleDB) os.remove(disk + '/' + filtedDB) if isel == '2': if os.path.exists(disk + '/' + inimidDB) == False: shutil.copy(disk + '/' + srcRoot, disk + '/' + inimidDB) shutil.copy(disk + '/' + srcRoot, disk + '/' + middleDB) obsid = raw_input('Which obsID? (ex: TNO01_01) ') EI.searchObsId(middleDB, filtedDB, obsid) # os.remove(disk + '/' + middleDB) shutil.copy(disk + '/' + filtedDB, disk + '/' + middleDB) os.remove(disk + '/' + filtedDB) if isel == '3': if os.path.exists(disk + '/' + inimidDB) == False: shutil.copy(disk + '/' + srcRoot, disk + '/' + inimidDB) shutil.copy(disk + '/' + srcRoot, disk + '/' + middleDB) fibre = raw_input('Which fibre? (ex: 28) ') EI.searchFibre(middleDB, filtedDB, fibre) # os.remove(disk + '/' + middleDB) shutil.copy(disk + '/' + filtedDB, disk + '/' + middleDB) os.remove(disk + '/' + filtedDB) if isel == '4': if os.path.exists(disk + '/' + inimidDB) == False: shutil.copy(disk + '/' + srcRoot, disk + '/' + inimidDB) shutil.copy(disk + '/' + srcRoot, disk + '/' + middleDB) sigma = raw_input('Upper threshold level limit(in sigma)? (ex: 3.0) ') EI.searchSigma(middleDB, filtedDB, float(sigma)) # os.remove(disk + '/' + middleDB) shutil.copy(disk + '/' + filtedDB, disk + '/' + middleDB) os.remove(disk + '/' + filtedDB) if isel == '5': if os.path.exists(disk + '/' + inimidDB) == False: shutil.copy(disk + '/' + srcRoot, disk + '/' + inimidDB) shutil.copy(disk + '/' + srcRoot, disk + '/' + middleDB) etype = raw_input('Which event type?\n(b)ad, (c)andidate, (e)lectric, (s)eeing, (u)nknown, (n)on-defined ') if etype == 'b': EI.searchBad(middleDB, filtedDB) if etype == 'c': EI.searchCandidate(middleDB, filtedDB) if etype == 'e': EI.searchElectrical(middleDB, filtedDB) if etype == 's': EI.searchSeeing(middleDB, filtedDB) if etype == 'u': EI.searchUnknown(middleDB, filtedDB) if etype == 'n': EI.searchNDefine(middleDB, filtedDB) if not etype: pass # os.remove(disk + '/' + middleDB) shutil.copy(disk + '/' + filtedDB, disk + '/' + middleDB) os.remove(disk + '/' + filtedDB) shutil.copy(disk + '/' + middleDB, disk + '/' + extrctDB) os.remove(disk + '/' + middleDB) os.remove(disk + '/' + inimidDB) else: pass