#!/usr/bin/env python import subprocess import json from datetime import date from dateutil.relativedelta import relativedelta, MO import click __version__ = "0.1.0" @click.command() @click.version_option(__version__, prog_name="task-status") @click.option("--uuid", is_flag=True, help="Display the task UUID") def main(uuid): today = date.today() last_monday = today + relativedelta(weekday=MO(-2)) tasks = subprocess.run( [ "task", f"end.after:{last_monday}", "export", "-home", "status_report:display", ], capture_output=True, ) entries = json.loads(tasks.stdout.decode()) last_project = "" for entry in entries: if entry["project"] != last_project: last_project = entry["project"] print(f"* {entry['project']}") if uuid: print(f"\t* {entry['description']} ({entry['uuid']})") else: print(f"\t* {entry['description']}") if __name__ == "__main__": main()