From 550f59677569c78a660d4c88ee6cab9b8ba402a2 Mon Sep 17 00:00:00 2001 From: DVKlopfenstein Date: Sat, 30 May 2026 10:47:41 -0400 Subject: [PATCH 1/2] Add quotes around start time as it can be many words --- timetracker/cmd/start.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/timetracker/cmd/start.py b/timetracker/cmd/start.py index d244201..72f2db2 100755 --- a/timetracker/cmd/start.py +++ b/timetracker/cmd/start.py @@ -55,7 +55,7 @@ def run_start(cfgproj, name=None, start_at=None, last=None, **kwargs): # Informational message elif not force: if start_at is not None: - print(f'Run `trk start --at {start_at} --force` to force restart') + print(f'Run `trk start --at "{start_at}" --force` to force restart') return startobj From b6a6958c614dd64c4fbf1c03c927e73e07de98a0 Mon Sep 17 00:00:00 2001 From: DVKlopfenstein Date: Fri, 3 Jul 2026 10:40:40 -0400 Subject: [PATCH 2/2] simplify tomlkit imports --- timetracker/cfg/cfg_local.py | 8 ++++---- timetracker/cfg/docutils.py | 7 ++++--- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/timetracker/cfg/cfg_local.py b/timetracker/cfg/cfg_local.py index 0e9279d..daf4807 100755 --- a/timetracker/cfg/cfg_local.py +++ b/timetracker/cfg/cfg_local.py @@ -16,7 +16,6 @@ from collections import namedtuple import tomlkit -from tomlkit.toml_file import TOMLFile from timetracker.consts import DIRTRK from timetracker.consts import DIRCSV @@ -69,7 +68,7 @@ def set_filename_csv(self, filename_str): """Write the config file, replacing [csv][filename] value""" filenamecfg = self.get_filename_cfg() if exists(filenamecfg): - doc = TOMLFile(filenamecfg).read() + doc = tomlkit.toml_file.TOMLFile(filenamecfg).read() doc['csv']['filename'] = filename_str return self._wr_cfg(filenamecfg, doc) raise RuntimeError(f"CAN NOT WRITE {filenamecfg}") @@ -144,7 +143,7 @@ def reinit(self, project, dircsv, fcfg_global=None, ntdoc=None): self._update_doc_globalcfgname(doc, fcfg_global) chgd = True if chgd: - TOMLFile(fname).write(doc) + tomlkit.toml_file.TOMLFile(fname).write(doc) else: print(f'No changes needed to local config: {self.filename}') @@ -173,7 +172,8 @@ def _wr_cfg(fname, doc): def _rd_doc(self): """Read a config file and load it into a TOML doc""" fin_cfglocal = self.get_filename_cfg() - return TOMLFile(fin_cfglocal).read() if exists(fin_cfglocal) else None + # pylint: disable=line-too-long + return tomlkit.toml_file.TOMLFile(fin_cfglocal).read() if exists(fin_cfglocal) else None #@staticmethod #def _strdbg_cfg_global(doc): diff --git a/timetracker/cfg/docutils.py b/timetracker/cfg/docutils.py index 64a51a1..79c8076 100755 --- a/timetracker/cfg/docutils.py +++ b/timetracker/cfg/docutils.py @@ -4,8 +4,7 @@ __author__ = "DV Klopfenstein, PhD" from collections import namedtuple -from tomlkit.exceptions import NonExistentKey -from tomlkit.exceptions import ParseError +import tomlkit.exceptions NTKEYVAL = namedtuple('RdKey', 'value error') @@ -22,7 +21,9 @@ def get_ntvalue(doc, key, key2=None): value = doc[key] if key2 is not None: value = value[key2] - except (TypeError,NonExistentKey,ParseError) as err: + except (TypeError, + tomlkit.exceptions.NonExistentKey, + tomlkit.exceptions.ParseError) as err: error = err #print(f'{type(err).__name__}{err.args}') else: