예제 #1
0
def getSite(stationName):

    keyfolder = Globals.KeyfileFolder()
    net = DataTypes.toNetwork(stationName)
    sta = DataTypes.toStation(stationName)
    keyfile = KeyFileObj(keyfolder, net, sta)
    sta = keyfile.read()

    if sta == None: site = None
    else: site = sta.site + '(' + sta.provider + ')'

    return site
예제 #2
0
    def __init__(self, dirName=None, net=None, station=None, fullName=None):

        if dirName == None: dir = Globals.KeyfileFolder()
        else: dir = dirName

        if fullName != None:
            net = DataTypes.toNetwork(fullName)
            station = DataTypes.toStation(fullName)

        self.dirName = dir
        self.fullName = net + '_' + station
        self.key = None
예제 #3
0
def isIRIS(dirName=None, net=None, station=None, fullName=None):

    if dirName == None: dir = Globals.KeyfileFolder()
    else: dir = dirName

    provider = getProvider(dir, net, station, fullName)

    if provider == PROV_IRIS: return True
    if provider == PROV_WEB_DC: return False

    return False  # ???
    #Debug.assert1(False, 'Invalid provider in keyfile ' + file.fullName, 'Perhaps old program version') ???
    xxx
예제 #4
0
def getNetworks(dirName=None):

    if dirName == None: dir = Globals.KeyfileFolder()
    else: dir = dirName

    files = os.listdir(dir)
    networks = []

    for s in files:
        word = str.split(s, '_')

        if len(word) == 3 and word[0] == 'station':
            networks.append(word[1])
    #endfor

    return sorted(set(networks))
예제 #5
0
def run_parallel(options, pwdDict):

    if options.station:  # Client part
        if not init(True): return False

        clt = WaveformClient(options, pwdDict)
        clt.run()
        return True

    else:  # Server part
        if not init(False): return False

        keyfileDir = os.path.join(Globals.EventDir(), options.keyfolder)

        if not Basic.checkExistsDir(keyfileDir):
            return False  # Cannot find directory

        #   Build station list
        #
        stationList = sorted(initWaitingList(options))

        if len(stationList) == 0:
            return Logfile.error('No stations found')

        #
        if not KeyFile.checkVersion(keyfileDir, fullName=stationList[0]):
            return False

        saveUrl(' ', None)  # init debug service
        network = options.network

        mask = KeyFile.getIrisMask(None, stations=stationList)
        irisList = Basic.selectStrings(stationList, mask)
        geofonList = Basic.selectStrings(stationList, Basic.Not(mask))

        if not network or network == 'iris':
            if not startIrisServer(irisList):
                return True  # aborted with ctrl c
        #endif

        if not network or network == 'geofon':
            if not startGeofonServer(geofonList):
                return True  # aborted with ctrl c
    #endif

        if network and network != 'iris' and network != 'geofon':
            if not KeyFile.isNetwork(network):
                return Logfile.error(
                    'Illegal network name <' + network + '>',
                    'Network not found in directory ' +
                    Globals.KeyfileFolder())

            list2 = DataTypes.selectNetwork(irisList,
                                            network)  # search in iris list

            if len(list2) > 0:
                startIrisServer(list2)
                return True

            list2 = DataTypes.selectNetwork(geofonList,
                                            network)  # search in geofon list

            if len(list2) > 0:
                startGeofonServer(list2)
                return True