diff --git a/package_tracking/database.py b/package_tracking/database.py index 2dc3a3a..8be04cb 100644 --- a/package_tracking/database.py +++ b/package_tracking/database.py @@ -1,4 +1,5 @@ import dataclasses +from pathlib import Path @dataclasses.dataclass @@ -14,7 +15,7 @@ class TrackingNumberEntry: assert '\n' not in self.name -FILEPATH = 'output/entries_db.txt' +FILEPATH = Path('./output/entries_db.txt') def get_tracking_numbers() -> list[TrackingNumberEntry]: @@ -29,6 +30,7 @@ def get_tracking_numbers() -> list[TrackingNumberEntry]: def add_tracking_number(tracking_number: TrackingNumberEntry) -> None: + 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 340c371..ec7affc 100644 --- a/package_tracking/http.py +++ b/package_tracking/http.py @@ -157,9 +157,9 @@ def inner(): @bottle.route('/add', method='POST') -def add(): - number: str = bottle.request.forms['tracking-number'] - name: str = bottle.request.forms['name'] +def add_tracking_number(): + number: str = bottle.request.forms['tracking-number'].strip() + name: str = bottle.request.forms['name'].strip() database.add_tracking_number(database.TrackingNumberEntry(number, name)) return bottle.redirect('/')