speasy.webservices.amda.rest_client module

class speasy.webservices.amda.rest_client.Endpoint(value)[source]

Bases: Enum

AMDA_Webservice REST API endpoints.

AUTH = 'auth.php'
GETCAT = 'getCatalog.php'
GETPARAM = 'getParameter.php'
GETSTATUS = 'getStatus.php'
GETTT = 'getTimeTable.php'
LISTCAT = 'getCatalogsList.php'
LISTPARAM = 'getParameterList.php'
LISTTT = 'getTimeTablesList.php'
OBSTREE = 'getObsDataTree.php'
speasy.webservices.amda.rest_client.auth_args(username: str, password: str) dict[source]
speasy.webservices.amda.rest_client.get_catalog(server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get catalog request.

Parameters:
server_url: str

the base server URL

kwargs: dict

extra request arguments such as username and password for private catalogs

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_catalogs_xml_tree(server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get list of catalogs.

Parameters:
server_url: str

the base server URL

kwargs: dict

extra request arguments such as username and password for private catalogs

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_obs_data_tree(server_url: str = 'https://amda.irap.omp.eu') str[source]

Get observatory data tree.

Parameters:
server_url: str

the base server URL

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_parameter(server_url: str = 'https://amda.irap.omp.eu', extra_http_headers: Dict | None = None, **kwargs: Dict) str[source]

Get parameter request.

Parameters:
extra_http_headersDict or None

reserved for internal use

server_url: str

the base server URL

kwargs: dict

extra request arguments such as username and password for private parameters

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_timetable(server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get timetable request.

Parameters:
server_url: str

the base server URL

kwargs: dict

extra request arguments such as username and password for private timetables

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_timetables_xml_tree(server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get list of timetables.

Parameters:
server_url: str

the base server URL

kwargs: dict

extra request arguments such as username and password for private timetables

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_user_catalogs_xml_tree(username: str, password: str, server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get private list of catalogs.

Parameters:
username: str

AMDA username

password:

AMDA password

server_url: str

the base server URL

kwargs: dict

extra request arguments

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_user_parameters_xml_tree(username: str, password: str, server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get private list of parameters.

Parameters:
username: str

AMDA username

password:

AMDA password

server_url: str

the base server URL

kwargs: dict

extra request arguments

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.get_user_timetables_xml_tree(username: str, password: str, server_url: str = 'https://amda.irap.omp.eu', **kwargs: Dict) str[source]

Get private list of timetables.

Parameters:
username: str

AMDA username

password:

AMDA password

server_url: str

the base server URL

kwargs: dict

extra request arguments

Returns:
str or None

request result, XML formatted text

speasy.webservices.amda.rest_client.is_server_up(server_url: str = 'https://amda.irap.omp.eu') bool[source]

Check if AMDA_Webservice server is up.

Parameters:
server_url: str

the base server URL

Returns:
bool

True if server is up, False otherwise

speasy.webservices.amda.rest_client.request_url(endpoint: Endpoint, server_url: str) str[source]

Generates full URL for the given endpoint.

Parameters:
endpoint: Endpoint

target API endpoint

server_url: str

server base url

Returns:
str

full URL to perform a request on the given API endpoint

speasy.webservices.amda.rest_client.send_indirect_request(endpoint: Endpoint, params: dict | None = None, timeout: int = 60, server_url: str = 'https://amda.irap.omp.eu') str[source]

Send a request on the AMDA_Webservice REST service to the given endpoint with given parameters. The request is special in that the result is the URL to an XML file containing the actual data we are interested in. That is why we call requests.get() twice in a row.

Parameters:
endpoint: Endpoint

target API endpoint on which the request will be performed

params: dict

request parameters

timeout: int

request timeout

server_url: str

the base server URL

Returns:
str or None

request result text, stripped of spaces and newlines

speasy.webservices.amda.rest_client.send_request(endpoint: Endpoint, params: dict | None = None, timeout: int = 60, server_url: str = 'https://amda.irap.omp.eu') str[source]

Send a request on the AMDA_Webservice REST service to the given endpoint with given parameters.

Parameters:
endpoint: Endpoint

target API endpoint on which the request will be performed

params: dict

request parameters

timeout: int

request timeout

server_url: str

the base server URL

Returns:
str or None

request result text, stripped of spaces and newlines

speasy.webservices.amda.rest_client.send_request_json(endpoint: Endpoint, params: Dict | None = None, timeout: int = 60, server_url: str = 'https://amda.irap.omp.eu', extra_http_headers: Dict | None = None) str[source]

Send a request on the AMDA_Webservice REST service to the given endpoint with given parameters. We expect the result to be JSON data.

Parameters:
endpoint: Endpoint

target API endpoint on which the request will be performed

params: dict

request parameters

timeout: int

request timeout

server_url: str

the base server URL

Returns:
str or None

request result parsed as json object

speasy.webservices.amda.rest_client.token(server_url: str = 'https://amda.irap.omp.eu') str[source]

Returns authentication token.

Parameters:
server_url:str

server base URL on which the API token will be generated

Returns:
str

the generated token