1
0
package-tracking/package_tracking/database.py
Jon Michael Aanes 13658958e4
Some checks failed
Verify Python project can be installed, loaded and have version checked / Test (push) Failing after 22s
Run Python tests (through Pytest) / Test (push) Failing after 24s
Ruff
2025-01-22 17:31:00 +01:00

35 lines
884 B
Python

import dataclasses
@dataclasses.dataclass
class TrackingNumberEntry:
number: str
name: str
def __post_init__(self):
assert ' ' not in self.number
assert '\t' not in self.number
assert '\n' not in self.number
assert ' ' not in self.name
assert '\t' not in self.name
assert '\n' not in self.name
FILEPATH = 'output/entries_db.txt'
def get_tracking_numbers() -> list[TrackingNumberEntry]:
with open(FILEPATH) as f:
lines = f.read().split('\n')
lines = [line.split(' ') for line in lines if len(line) > 0]
return [TrackingNumberEntry(line[0], line[1]) for line in lines]
def add_tracking_number(tracking_number: TrackingNumberEntry) -> None:
with open(FILEPATH, 'a') as f:
f.write(tracking_number.number)
f.write(' ')
f.write(tracking_number.name)
f.write('\n')