from bottle import route, run, template from . import parcelsapp from . import database PARCELSAPP_CLIENT: parcelsapp.ParcelsAppClient | None = None TEMPLATE = '''

Parcels

''' @route('/') def index(): tracking_entries = database.get_tracking_numbers() tracking_numbers = [e.number for e in tracking_entries] tracking_results = PARCELSAPP_CLIENT.get_tracking_status(tracking_numbers) tracking_results_by_id = {result.tracking_number: result for result in tracking_results} derps = [(e, tracking_results_by_id.get(e.number)) for e in tracking_entries] derps.sort(key=lambda x: x[1].latest_state().date,reverse=True) return template(TEMPLATE, tracking_results=derps) def initialize_server(parcelsapp_client: parcelsapp.ParcelsAppClient): global PARCELSAPP_CLIENT PARCELSAPP_CLIENT = parcelsapp_client run(host='localhost', port=8080, debug=True)