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
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
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
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))
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