"""ows-metadata connector.""" import config import phpserialize import requests import src.exceptions class OWSMetadataConnector: """ows-metadata connector.""" def __init__(self): """Initialize ows-metadata session.""" self.session = requests.Session() def get_metadata(self, path): """Get metadata. Args: path (str): Path Returns: (tuple): requests.Response dict Raises: NotXML """ response = self.session.request( 'GET', f'https://{config.OWS_METADATA_HOST}{path}', ) decoded_body = dict() try: decoded_body = phpserialize.loads( response.text.encode('utf-8'), decode_strings=True, ) except Exception: pass else: metadata = decoded_body.get('metadata', '') if response.status_code == 200 and \ not metadata.startswith('