update generator
This commit is contained in:
35
generate.py
35
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'))
|
||||
|
||||
Reference in New Issue
Block a user