diff --git a/package_tracking/__main__.py b/package_tracking/__main__.py index 524500a..41a5788 100644 --- a/package_tracking/__main__.py +++ b/package_tracking/__main__.py @@ -1,9 +1,10 @@ import logging import requests -from . import http, secrets from clients.parcelsapp import ParcelsAppClient +from . import http, secrets + logger = logging.getLogger(__name__) diff --git a/package_tracking/database.py b/package_tracking/database.py index 8be04cb..19e4beb 100644 --- a/package_tracking/database.py +++ b/package_tracking/database.py @@ -30,7 +30,7 @@ def get_tracking_numbers() -> list[TrackingNumberEntry]: def add_tracking_number(tracking_number: TrackingNumberEntry) -> None: - FILEPATH.parent.mkdir(exist_ok=True,parents=True) + FILEPATH.parent.mkdir(exist_ok=True, parents=True) with open(FILEPATH, 'a') as f: f.write(tracking_number.number) f.write(' ') diff --git a/package_tracking/http.py b/package_tracking/http.py index 5d1950b..591a7a8 100644 --- a/package_tracking/http.py +++ b/package_tracking/http.py @@ -1,9 +1,10 @@ -import bottle - import datetime -from . import database -from clients.parcelsapp import ParcelsAppClient + +import bottle from clients.common import ApiError +from clients.parcelsapp import ParcelsAppClient + +from . import database PARCELSAPP_CLIENT: ParcelsAppClient | None = None @@ -144,6 +145,7 @@ footer { TODAY = datetime.datetime.now(tz=datetime.UTC).date() + def get_packages_from_parcels(): tracking_entries = database.get_tracking_numbers() tracking_numbers = [e.number for e in tracking_entries] @@ -164,26 +166,36 @@ def get_packages_from_parcels(): def render_tracking(error_message: str | None = None, with_form: bool = False): tracking_results_with_name = get_packages_from_parcels() - tracking_results_with_name.sort(key=lambda x: x[1].latest_state().date if x[1] else TODAY, reverse=True) - return bottle.template(TEMPLATE, error_message=error_message, tracking_results=tracking_results_with_name, with_form=with_form) + tracking_results_with_name.sort( + key=lambda x: x[1].latest_state().date if x[1] else TODAY, reverse=True, + ) + return bottle.template( + TEMPLATE, + error_message=error_message, + tracking_results=tracking_results_with_name, + with_form=with_form, + ) + @bottle.route('/') def index(): return render_tracking(with_form=True) + @bottle.route('/noninteraction') def inner(): return render_tracking(with_form=False) - @bottle.route('/add', method='POST') def add_tracking_number(): number: str = bottle.request.forms.get('tracking-number') name: str = bottle.request.forms.get('name') if number is None or name is None: bottle.abort(400) - database.add_tracking_number(database.TrackingNumberEntry(number.strip(), name.strip())) + database.add_tracking_number( + database.TrackingNumberEntry(number.strip(), name.strip()), + ) return bottle.redirect('/') diff --git a/setup.py b/setup.py index b3bcf6c..d569981 100644 --- a/setup.py +++ b/setup.py @@ -28,6 +28,7 @@ Once run, it exposes the following endpoints: PACKAGE_DESCRIPTION_SHORT = """ Small alternative frontend for tracking packages and parcels.""".strip() + def parse_version_file(text: str) -> str: text = re.sub('^#.*', '', text, flags=re.MULTILINE) match = re.match(r'^\s*__version__\s*=\s*(["\'])([\d\.]+)\1$', text) @@ -36,6 +37,7 @@ def parse_version_file(text: str) -> str: raise Exception(msg) return match.group(2) + with open(PACKAGE_NAME + '/_version.py') as f: version = parse_version_file(f.read()) diff --git a/test/test_init.py b/test/test_init.py index 557bedf..51b902e 100644 --- a/test/test_init.py +++ b/test/test_init.py @@ -1,5 +1,4 @@ - def test_import_modules(): - import package_tracking # noqa - import package_tracking.database # noqa - import package_tracking.http # noqa + import package_tracking # noqa + import package_tracking.database # noqa + import package_tracking.http # noqa