latecomers/latecomers/retrieve.py

47 lines
1.8 KiB
Python

# -*- encoding: utf-8 -*-
from datetime import datetime, timedelta
import logging
import typing as T
from latecomers.helpers import logit, get_date
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 = get_date()
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(hours=6)).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()