01234567890123456789012345678901234567890123456789012345678901234567890123456789
19421943194419451946194719481949195019511952195319541955195619571958195919601961 19621963196419651966196719681969197019711972197319741975197619771978197919801981 |
<----SKIPPED LINES---->
min_query_delay_seconds = 90
url = 'https://flightaware.com/live/flight/' + flight_number
global last_query_time
seconds_since_last_query = time.time() - last_query_time
if last_query_time and seconds_since_last_query < min_query_delay_seconds:
error_msg = (
'Unable to query FA for %s at %s since last query to FA was only'
' %d seconds ago; min of %d seconds needed: %s' % (
flight_number,
EpochDisplayTime(time.time(), format_string='%H:%M:%S'),
seconds_since_last_query, min_query_delay_seconds, url))
return '', error_msg, time.time()
last_query_time = time.time()
try:
response = requests.get(url, timeout=5)
query_time = time.time()
except requests.exceptions.RequestException as e:
error_msg = 'Unable to query FA for URL due to %s: %s' % (e, url)
return '', error_msg, query_time
soup = bs4.BeautifulSoup(response.text, 'html.parser')
l = soup.find_all('script')
flight_script = None
for script in l:
if 'trackpollBootstrap' in str(script):
flight_script = str(script)
break
if not flight_script:
error_msg = (
'Unable to find trackpollBootstrap script in page: ' + response.text)
Log(error_msg)
return '', error_msg, query_time
first_open_curly_brace = flight_script.find('{')
last_close_curly_brace = flight_script.rfind('}')
flight_json = flight_script[first_open_curly_brace:last_close_curly_brace+1]
return flight_json, '', query_time
<----SKIPPED LINES---->
|
01234567890123456789012345678901234567890123456789012345678901234567890123456789
19421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982 |
<----SKIPPED LINES---->
min_query_delay_seconds = 90
url = 'https://flightaware.com/live/flight/' + flight_number
global last_query_time
seconds_since_last_query = time.time() - last_query_time
if last_query_time and seconds_since_last_query < min_query_delay_seconds:
error_msg = (
'Unable to query FA for %s at %s since last query to FA was only'
' %d seconds ago; min of %d seconds needed: %s' % (
flight_number,
EpochDisplayTime(time.time(), format_string='%H:%M:%S'),
seconds_since_last_query, min_query_delay_seconds, url))
return '', error_msg, time.time()
last_query_time = time.time()
try:
response = requests.get(url, timeout=5)
query_time = time.time()
except requests.exceptions.RequestException as e:
query_time = time.time() # did not get to the query_time assignment above
error_msg = 'Unable to query FA for URL due to %s: %s' % (e, url)
return '', error_msg, query_time
soup = bs4.BeautifulSoup(response.text, 'html.parser')
l = soup.find_all('script')
flight_script = None
for script in l:
if 'trackpollBootstrap' in str(script):
flight_script = str(script)
break
if not flight_script:
error_msg = (
'Unable to find trackpollBootstrap script in page: ' + response.text)
Log(error_msg)
return '', error_msg, query_time
first_open_curly_brace = flight_script.find('{')
last_close_curly_brace = flight_script.rfind('}')
flight_json = flight_script[first_open_curly_brace:last_close_curly_brace+1]
return flight_json, '', query_time
<----SKIPPED LINES---->
|