aboutsummaryrefslogtreecommitdiff
path: root/journal.py
diff options
context:
space:
mode:
Diffstat (limited to 'journal.py')
-rw-r--r--journal.py40
1 files changed, 40 insertions, 0 deletions
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)