Add quiet mode

This commit is contained in:
Marty Oehme 2025-03-31 21:42:11 +02:00
parent 3481e81c93
commit 678d986e8f
Signed by: Marty
GPG key ID: 4E535BC19C61886E

25
topen
View file

@ -23,8 +23,8 @@ TASK_DATA_DIR = os.getenv("TASKDATA", "~/.local/share/task")
TOPEN_DIR = os.getenv("TOPEN_DIR", "~/.local/share/task/notes") TOPEN_DIR = os.getenv("TOPEN_DIR", "~/.local/share/task/notes")
TOPEN_EXT = os.getenv("TOPEN_EXT", "md") TOPEN_EXT = os.getenv("TOPEN_EXT", "md")
TOPEN_ANNOT = os.getenv("TOPEN_ANNOT", "Note") TOPEN_ANNOT = os.getenv("TOPEN_ANNOT", "Note")
TOPEN_EDITOR = os.getenv("EDITOR") or os.getenv("VISUAL", "nano") TOPEN_EDITOR = os.getenv("EDITOR") or os.getenv("VISUAL", "nano")
TOPEN_QUIET = os.getenv("TOPEN_QUIET", False)
def parse_cli() -> argparse.Namespace: def parse_cli() -> argparse.Namespace:
@ -38,6 +38,12 @@ def parse_cli() -> argparse.Namespace:
default=TOPEN_DIR, default=TOPEN_DIR,
help="Location of topen notes files", help="Location of topen notes files",
) )
_ = parser.add_argument(
"--quiet",
default=TOPEN_QUIET,
action="store_true",
help="Silence any verbose displayed information",
)
_ = parser.add_argument( _ = parser.add_argument(
"--extension", default=TOPEN_EXT, help="Extension of note files" "--extension", default=TOPEN_EXT, help="Extension of note files"
) )
@ -56,16 +62,27 @@ def parse_cli() -> argparse.Namespace:
return parser.parse_args() return parser.parse_args()
IS_QUIET = False
def whisper(text: str) -> None:
if not IS_QUIET:
print(text)
def main(): def main():
args = parse_cli() args = parse_cli()
if not args.id: if not args.id:
_ = sys.stderr.write("Please provide task ID as argument.\n") _ = sys.stderr.write("Please provide task ID as argument.\n")
if args.quiet:
global IS_QUIET
IS_QUIET = True
task = get_task(id=args.id, data_location=args.task_data) task = get_task(id=args.id, data_location=args.task_data)
uuid = task["uuid"] uuid = task["uuid"]
if not uuid: if not uuid:
_ = sys.stderr.write(f"Could not find task for id: {args.id}.") _ = sys.stderr.write(f"Could not find task for ID: {args.id}.")
sys.exit(1) sys.exit(1)
fname = get_notes_file(uuid, notes_dir=args.notes_dir, notes_ext=args.extension) fname = get_notes_file(uuid, notes_dir=args.notes_dir, notes_ext=args.extension)
@ -91,7 +108,7 @@ def get_notes_file(
def open_editor(file: Path, editor: str = TOPEN_EDITOR) -> None: def open_editor(file: Path, editor: str = TOPEN_EDITOR) -> None:
_ = sys.stderr.write(f"Editing note {file}\n") _ = whisper(f"Editing note: {file}")
proc = subprocess.Popen(f"{editor} {file}", shell=True) proc = subprocess.Popen(f"{editor} {file}", shell=True)
_ = proc.wait() _ = proc.wait()
@ -103,7 +120,7 @@ def add_annotation_if_missing(
if annot["description"] == annotation_content: if annot["description"] == annotation_content:
return return
task.add_annotation(annotation_content) task.add_annotation(annotation_content)
_ = sys.stderr.write("Added annotation.\n") _ = whisper(f"Added annotation: {annotation_content}")
if __name__ == "__main__": if __name__ == "__main__":