obspy.clients.fdsn.routing.federator_routing_client.FederatorRoutingClient

class FederatorRoutingClient(url='http://service.iris.edu/irisws/fedcatalog/1', include_providers=None, exclude_providers=None, debug=False, timeout=120, **kwargs)[source]

Bases: BaseRoutingClient

Attributes

exclude_providers

include_providers

Public Methods

get_service_version

Return a semantic version number of the remote service as a string.

get_stations

Get stations from multiple data centers.

get_stations_bulk

Get stations from multiple data centers.

get_waveforms

Get waveforms from multiple data centers.

get_waveforms_bulk

Get waveforms from multiple data centers.

Private Methods

Warning

Private methods are mainly for internal/developer use and their API might change without notice.

FederatorRoutingClient._download(url, params=None, filename=None, data=None, content_type=None)

Download the URL with GET or POST and the chosen parameters.

Will call the _handle_requests_http_error() method if the response comes back with an HTTP code other than 200. Returns the response object if successful and filename is not given - if given it will save the response to the specified file and return None.

By default it will send a GET request - if data is given it will send a POST request.

Parameters:
  • url (str) – The URL to download from.

  • params (dict) – Additional URL parameters.

  • filename (str or file-like object) – String or file like object. Will download directly to the file. If specified, this function will return nothing.

  • data (dict, bytes, or file-like object) – If specified, a POST request will be sent with the data in the body of the request.

  • content_type (str) – Should only be relevant when data is specified and thus issuing a POST request. Can be used to set the Content-Type HTTP header to let the server know what type the body is, e.g. "text/plain".

Returns:

The response object assuming filename is None.

Return type:

requests.Response

FederatorRoutingClient._download_parallel(split, data_type, **kwargs)
FederatorRoutingClient._download_stations(split, **kwargs)
FederatorRoutingClient._download_waveforms(split, **kwargs)
FederatorRoutingClient._expand_providers(providers)
FederatorRoutingClient._filter_requests(split)

Filter requests based on including and excluding providers.

Parameters:

split (dict) – A dictionary containing the desired routing.

FederatorRoutingClient._handle_requests_http_error(r)

This assumes the same error code semantics as the base fdsnws web services.

Please overwrite this method in a child class if necessary.

static FederatorRoutingClient._split_routing_response(data, service)[source]

Splits the routing responses per data center for the federator output.

Returns a dictionary with the keys being the root URLs of the fdsnws endpoints and the values the data payloads for that endpoint.

Parameters:

data – The return value from the EIDAWS routing service.

Special Methods

FederatorRoutingClient.__delattr__(name, /)

Implement delattr(self, name).

FederatorRoutingClient.__dir__()

Default dir() implementation.

FederatorRoutingClient.__eq__(value, /)

Return self==value.

FederatorRoutingClient.__format__(format_spec, /)

Default object formatter.

FederatorRoutingClient.__ge__(value, /)

Return self>=value.

FederatorRoutingClient.__getattribute__(name, /)

Return getattr(self, name).

FederatorRoutingClient.__gt__(value, /)

Return self>value.

FederatorRoutingClient.__hash__()

Return hash(self).

FederatorRoutingClient.__init__(url='http://service.iris.edu/irisws/fedcatalog/1', include_providers=None, exclude_providers=None, debug=False, timeout=120, **kwargs)[source]

Initialize a federated routing client.

All parameters except url are passed on to the BaseRoutingClient parent class

Parameters:

url (str) – The URL of the routing service.

FederatorRoutingClient.__init_subclass__()

This method is called when a class is subclassed.

The default implementation does nothing. It may be overridden to extend subclasses.

FederatorRoutingClient.__le__(value, /)

Return self<=value.

FederatorRoutingClient.__lt__(value, /)

Return self<value.

FederatorRoutingClient.__ne__(value, /)

Return self!=value.

FederatorRoutingClient.__new__(**kwargs)
FederatorRoutingClient.__reduce__()

Helper for pickle.

FederatorRoutingClient.__reduce_ex__(protocol, /)

Helper for pickle.

FederatorRoutingClient.__repr__()

Return repr(self).

FederatorRoutingClient.__setattr__(name, value, /)

Implement setattr(self, name, value).

FederatorRoutingClient.__sizeof__()

Size of object in memory, in bytes.

FederatorRoutingClient.__str__()

Return str(self).

FederatorRoutingClient.__subclasshook__()

Abstract classes can override this to customize issubclass().

This is invoked early on by abc.ABCMeta.__subclasscheck__(). It should return True, False or NotImplemented. If it returns NotImplemented, the normal algorithm is used. Otherwise, it overrides the normal algorithm (and the outcome is cached).