def station(url=g_url, site=g_default_site, majorversion=1, parsed=True, **kwargs): url = fillurl(url, site, 'station', majorversion) params = fix_params(kwargs) if parsed: from pyrocko.fdsn import station format = params.get('format', 'xml') if format == 'text': if params.get('level', 'station') == 'channel': return station.load_channel_table( stream=_request(url, **params)) else: raise InvalidRequest('if format="text" shall be parsed, ' 'level="channel" is required') elif format == 'xml': assert params.get('format', 'xml') == 'xml' return station.load_xml(stream=_request(url, **params)) else: raise InvalidRequest('format must be "xml" or "text"') else: return _request(url, **params)
def station(url=g_url, site=g_default_site, majorversion=1, parsed=True, selection=None, **kwargs): url = fillurl(url, site, 'station', majorversion) params = fix_params(kwargs) if selection: l = [] for k, v in params.iteritems(): l.append('%s=%s' % (k, v)) for (network, station, location, channel, tmin, tmax) in selection: if location == '': location = '--' l.append(' '.join((network, station, location, channel, sdatetime(tmin), sdatetime(tmax)))) params = dict(post='\n'.join(l)) if parsed: from pyrocko.fdsn import station format = params.get('format', 'xml') if format == 'text': if params.get('level', 'station') == 'channel': return station.load_channel_table( stream=_request(url, **params)) else: raise InvalidRequest('if format="text" shall be parsed, ' 'level="channel" is required') elif format == 'xml': assert params.get('format', 'xml') == 'xml' return station.load_xml(stream=_request(url, **params)) else: raise InvalidRequest('format must be "xml" or "text"') else: return _request(url, **params)