diff --git a/options.py b/options.py index faa29e1..111242e 100644 --- a/options.py +++ b/options.py @@ -1,4 +1,5 @@ import os +import sys import argparse from dataclasses import dataclass, field from typing import List @@ -6,8 +7,9 @@ from typing import List @dataclass class Options: - # can be changed - jrnl_fname: str = f"{os.path.expanduser('~')}/documents/records/todo.md" + jrnl_fname: str = field( + default_factory=lambda: f"{os.environ.get('XDG_DATA_HOME', os.environ.get('HOME'))}/jrnl/journal.txt" + ) todo_block_title: str = "todotxt" dryrun: bool = False taskwarrior_log_completed: bool = True @@ -36,6 +38,7 @@ def init(): parse_cmdline_args(parser, opt) if opt.dryrun: dryrun_show_options(opt) + validate_opts(opt) return opt @@ -94,3 +97,9 @@ def parse_cmdline_args(parser, options): options.todo_block_title = args.blocktitle return options + + +def validate_opts(options): + if not os.path.isfile(options.jrnl_fname): + print(f"{options.jrnl_fname} does not seem to be a file. Aborting.") + sys.exit(1)