From f21906aa2eac62a336c8b8e49d0cdf9fb1d76748 Mon Sep 17 00:00:00 2001 From: Mark Powers Date: Sun, 12 Sep 2021 15:50:50 -0500 Subject: Add journal command --- journal.py | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 journal.py (limited to 'journal.py') diff --git a/journal.py b/journal.py new file mode 100644 index 0000000..484c78d --- /dev/null +++ b/journal.py @@ -0,0 +1,40 @@ +from datetime import datetime, timedelta + +from main import get_tree, get_single_page, create + +def args_for_date(date): + return { + "path": date.strftime("journal/%Y/%b/%d").lower(), + "title": date.strftime("%B %-d"), + } + + +def fill_in_pages(args): + last_date = None + for page in get_tree(["journal"]): + try: + date = datetime.strptime(page["path"], "journal/%Y/%b/%d") + if last_date is None or date > last_date: + last_date = date + except ValueError: + continue + today = datetime.now().date() + if last_date is None: + last_date = today + pending_date = last_date.date() + while pending_date < today: + pending_date += timedelta(days=1) + create(args_for_date(pending_date)) + + +def today(args): + """ + Creates a journal page with the path "journal/YYYY/MM/DD" + + args: used + """ + args = args_for_date(datetime.now().date()) + if get_single_page(args["path"]) is not None: + edit(args) + else: + create(args) -- cgit v1.2.3