# -*- encoding: utf-8 -*- from datetime import datetime, timedelta import logging import typing as T from latecomers.helpers import logit import requests HOW_MANY = 200 logger = logging.getLogger(__name__) def remote_inst() -> T.Text: """ Returns the url to retrieve yesterday's data from institutional site. """ yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d") url = f"https://www.adr.it/pax-cia-voli-in-tempo-reale?p_p_id=3_WAR_realtimeflightsportlet&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&_3_WAR_realtimeflightsportlet_tab=arrival&_3_WAR_realtimeflightsportlet_codScaOpe=CIA&_3_WAR_realtimeflightsportlet_rouIata=&_3_WAR_realtimeflightsportlet_searchType=standard&_3_WAR_realtimeflightsportlet_airport=&_3_WAR_realtimeflightsportlet_date={yesterday}&_3_WAR_realtimeflightsportlet_orario=00:00-24:00&_3_WAR_realtimeflightsportlet_codVet=&_3_WAR_realtimeflightsportlet_carrier=&_3_WAR_realtimeflightsportlet_rtFlightsSearchContainerPrimaryKeys=&_3_WAR_realtimeflightsportlet_delta={HOW_MANY}" # noqa: E501 return url def remote_fr24() -> T.Text: """ Returns the url to retrieve data from flightradar24. """ yesterday_ts = int((datetime.now() - timedelta(days=1)).timestamp()) url = f"https://api.flightradar24.com/common/v1/airport.json?code=cia&plugin[]=&plugin-setting[schedule][mode]=arrivals&plugin-setting[schedule][timestamp]={yesterday_ts}&page=-1&limit=100&fleet=&token=" # noqa: E501 return url @logit(logger) def retrieve_from_inst() -> T.Text: """This function retrieves the body from the website page""" r = requests.get(remote_inst()) return r.text @logit(logger) def retrieve_from_fr24() -> T.Dict[T.Text, T.Any]: """This function retrieves data from flightradar24""" r = requests.get(remote_fr24(), headers={"User-Agent": "curl/7.85.0"}) return r.json()