From ca48e7a8b1a3e3c69bea06769e3ebdbfba8c693c Mon Sep 17 00:00:00 2001 From: pedroangelini <72536471+pedroangelini@users.noreply.github.com> Date: Tue, 15 Oct 2024 07:47:50 +0200 Subject: [PATCH] WIP minor fixes in linux --- config.py | 1 + utils.py | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/config.py b/config.py index 6b950be..adb2a4b 100644 --- a/config.py +++ b/config.py @@ -48,6 +48,7 @@ def init_config(self, config_dir: str | None = None, verbose: bool = False) -> N f"could not find file, saving default config {self.saved_configs = }" ) try: + config_file_path.parent.mkdir(parents=True, exist_ok=True) with config_file_path.open("w", encoding="utf8") as conf_fp: json.dump( obj=self.saved_configs, diff --git a/utils.py b/utils.py index 1042bc8..3d0dcd4 100644 --- a/utils.py +++ b/utils.py @@ -39,7 +39,7 @@ def parse_interval(input: str) -> timedelta: Returns: timedelta: rounded timedelta """ - if not input: + if not input or input == "0": return timedelta(seconds=0) now = datetime.now(UTC) @@ -60,7 +60,10 @@ def human_date_str(input: datetime | None, when_now: datetime | None = None) -> if when_now is None: when_now = datetime.now(tz=UTC) if abs(input - when_now) < timedelta(days=1): - return human_readable.date_time(input, minimum_unit="minutes") + return human_readable.date_time( + input.replace(tzinfo=None), # timezone hack so the human_readable works + minimum_unit="seconds", + ) else: return human_readable.date(input.date())