Exemplo n.º 1
0
def combineDB(disk, DBList, outputDB):
    EI = Inquery(disk)
    EI.combineDB(DBList, outputDB)
Exemplo n.º 2
0
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