diff --git a/build/lib/pen_tracker/engine.py b/build/lib/pen_tracker/engine.py index 90f7fbb..8444a3f 100644 --- a/build/lib/pen_tracker/engine.py +++ b/build/lib/pen_tracker/engine.py @@ -24,7 +24,12 @@ class Pen: class PenTracker: def __init__(self, storage_file: str = None): if storage_file is None: - storage_file = os.getenv('PEN_TRACKER_CSV', 'Pens.csv') + storage_file = os.getenv('PEN_TRACKER_CSV') + if storage_file is None: + data_home = os.getenv('XDG_DATA_HOME', os.path.expanduser('~/.local/share')) + app_data_dir = os.path.join(data_home, 'pen-tracker') + os.makedirs(app_data_dir, exist_ok=True) + storage_file = os.path.join(app_data_dir, 'pens.csv') self.storage_file = storage_file self.headers = [ 'Make', 'Model', 'Date-Purchased', 'Vendor', 'Nib', diff --git a/build/lib/pen_tracker/tui.py b/build/lib/pen_tracker/tui.py index 8de1846..ced7649 100644 --- a/build/lib/pen_tracker/tui.py +++ b/build/lib/pen_tracker/tui.py @@ -99,7 +99,7 @@ class PenTrackerApp(App): yield Footer() def on_mount(self) -> None: - self.tracker = PenTracker('Pens.csv') + self.tracker = PenTracker() self._refresh_table() def _refresh_table(self): diff --git a/pyproject.toml b/pyproject.toml index 6495605..e5ccc2e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "pen-tracker" -version = "0.2.0" +version = "0.3.0" authors = [ { name="Don Harper", email="don@donharper.org" }, ] diff --git a/src/pen_tracker.egg-info/PKG-INFO b/src/pen_tracker.egg-info/PKG-INFO index f5ef874..83ea7ac 100644 --- a/src/pen_tracker.egg-info/PKG-INFO +++ b/src/pen_tracker.egg-info/PKG-INFO @@ -1,6 +1,6 @@ Metadata-Version: 2.4 Name: pen-tracker -Version: 0.2.0 +Version: 0.3.0 Summary: A fountain pen collection tracker. Author-email: Don Harper Requires-Python: >=3.8 @@ -19,6 +19,12 @@ A simple fountain pen collection tracker. pip install . ``` +## Data Storage + +Pen data is stored in `~/.local/share/pen-tracker/pens.csv` by default, following XDG Base Directory specification. The directory is created automatically if it doesn't exist. + +You can override the location by setting the `PEN_TRACKER_CSV` environment variable. + ## Usage ### CLI