From bf589d94b5c4608f8b8d2194c8e513006bf2edf1 Mon Sep 17 00:00:00 2001 From: olari Date: Sat, 19 Jun 2021 17:13:48 +0300 Subject: [PATCH] update generator --- generate.py | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/generate.py b/generate.py index 027b068..34d8f43 100644 --- a/generate.py +++ b/generate.py @@ -7,9 +7,13 @@ def generate_godword(value): def generate_habits(value): return '\n'.join(f'[{"x" if v else "-"}] {k}' for k,v in value.items()) +def generate_notifications(value): + return '\n'.join(f'[[{n["source"]}]] {n["message"]}' for n in value) + header_modules = { 'godword': generate_godword, 'habits': generate_habits, + 'notifications': generate_notifications, } def generate_diet(block): @@ -24,13 +28,42 @@ def generate_default(block): return f'@{block["type"]} {block["value"]}' def generate_timer(block): - return f'@{block["type"]} {format_timestamp(block["timestamp"])}' + parts = [f'@{block["type"]}'] + + if ts := block.get('timestamp'): + parts.append(format_timestamp(ts)) + + return ' '.join(parts) + +def generate_info(block): + return f'@info {block["value"]}' + +def generate_notes(block): + parts = ['@notes'] + + if source := block.get('source'): + parts.append(source) + if title := block.get('title'): + parts.append(title) + + return '\n'.join(parts) + +def generate_notify(block): + return f'@notify {block["day"]} {block["message"]}' entry_modules = { 'diet': generate_diet, 'exercise': generate_exercise, 'hide': lambda _: '@hide', 'post': generate_timer, + 'info': generate_default, + 'notes': generate_notes, + 'behavior': generate_default, + 'task': generate_default, + 'start': generate_timer, + 'stop': generate_timer, + 'done': generate_timer, + 'notify': generate_notify, } journal = json.load(open('journal.json'))