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----> |