update
This commit is contained in:
28
compile.py
Normal file
28
compile.py
Normal file
@@ -0,0 +1,28 @@
|
||||
from subprocess import run
|
||||
import sys
|
||||
import json
|
||||
|
||||
from common import format_timestamp
|
||||
|
||||
journal = json.load(open('journal.json'))
|
||||
|
||||
matches = []
|
||||
keywords = sys.argv[1:]
|
||||
|
||||
for day, obj in journal.items():
|
||||
for entry in obj['entries']:
|
||||
for block in entry['blocks']:
|
||||
if isinstance(block, str):
|
||||
words = block.lower().split()
|
||||
if any(kw in words for kw in keywords):
|
||||
matches.append((
|
||||
format_timestamp(entry['timestamp']),
|
||||
'\n\n'.join([b for b in entry if isinstance(b, str)])
|
||||
))
|
||||
|
||||
buf = ''
|
||||
|
||||
for (ts, c) in matches:
|
||||
buf += f'{ts}\n\n{c}\n\n'
|
||||
|
||||
run(['nvim', '-'], input=buf.encode('utf-8'))
|
||||
299
foods
299
foods
@@ -1,4 +1,218 @@
|
||||
|
||||
Popcorn
|
||||
Energy 375kcal
|
||||
Fat 4.3g
|
||||
SaturatedFat 0.6g
|
||||
Carbs 74g
|
||||
Fiber 13g
|
||||
Sugar 0.9g
|
||||
Protein 11g
|
||||
|
||||
Kompot
|
||||
Energy 60kcal
|
||||
Carbs 15g
|
||||
Sugar 14g
|
||||
|
||||
WhippedCream
|
||||
Energy 252kcal
|
||||
Fat 23g
|
||||
SaturatedFat 18g
|
||||
Carbs 9.5g
|
||||
Sugar 3.2g
|
||||
|
||||
GrandinoCookies
|
||||
Energy 513kcal
|
||||
Fat 27.2g
|
||||
SaturatedFat 12.5g
|
||||
Carbs 60g
|
||||
Sugar 40.2g
|
||||
Protein 5.4g
|
||||
Salt 0.6g
|
||||
|
||||
FourCheesePizza
|
||||
Energy 215kcal
|
||||
Fat 9.4g
|
||||
SaturatedFat 5.5g
|
||||
Carbs 20.7g
|
||||
Sugar 3.3g
|
||||
Protein 10.9g
|
||||
Salt 1g
|
||||
|
||||
TeriyakiSauce
|
||||
Energy 150kcal
|
||||
Fat 0g
|
||||
Carbs 40g
|
||||
Sugar 37g
|
||||
Protein 3g
|
||||
Salt 5.1g
|
||||
|
||||
ChowMeinNoodles
|
||||
Energy 364kcal
|
||||
Fat 1g
|
||||
SaturatedFat 0.4g
|
||||
Carbs 75.6g
|
||||
Sugar 1.7g
|
||||
Protein 11.8g
|
||||
Salt 0.43g
|
||||
|
||||
MaggiBuljong
|
||||
Energy 5kcal
|
||||
|
||||
RedLentil
|
||||
Energy 350kcal
|
||||
Fat 1.8g
|
||||
SaturatedFat 0.3g
|
||||
Carbs 51g
|
||||
Sugar 1.3g
|
||||
Fiber 11g
|
||||
Protein 26g
|
||||
Salt 0.1g
|
||||
|
||||
KauraRieskanen
|
||||
Energy 161kcal
|
||||
Fat 2.7g
|
||||
SaturatedFat 0.5g
|
||||
Carbs 25.4g
|
||||
Sugar 1.9g
|
||||
Fiber 6.6g
|
||||
Protein 5.4g
|
||||
Salt 1.6g
|
||||
|
||||
Margarita
|
||||
Energy 60kcal
|
||||
|
||||
Mayonnaise
|
||||
Energy 328kcal
|
||||
Fat 30g
|
||||
SaturatedFat 2.4g
|
||||
Carbs 12.2g
|
||||
Sugar 8.2g
|
||||
Protein 0.6g
|
||||
Salt 1.81g
|
||||
|
||||
CannedPeas
|
||||
Energy 79kcal
|
||||
Fat 1.1g
|
||||
SaturatedFat 0.3g
|
||||
Carbs 7.3g
|
||||
Sugar 2.2g
|
||||
Protein 5.2g
|
||||
Salt 0.46g
|
||||
|
||||
Carrot
|
||||
Energy 40kcal
|
||||
Fat 0.2g
|
||||
Carbs 9.6g
|
||||
Fiber 2.8g
|
||||
Sugar 4.7g
|
||||
Protein 0.9g
|
||||
|
||||
Cucumber
|
||||
Energy 10kcal
|
||||
Fat 0.2g
|
||||
Carbs 2.2g
|
||||
Fiber 0.7g
|
||||
Sugar 1.4g
|
||||
Protein 0.6g
|
||||
|
||||
TatraHelbed
|
||||
Energy 365kcal
|
||||
Fat 2.6g
|
||||
SaturatedFat 0.4g
|
||||
Carbs 74g
|
||||
Sugar 1.2g
|
||||
Fiber 4.5g
|
||||
Protein 9.6g
|
||||
|
||||
SoySauce
|
||||
Energy 77kcal
|
||||
Carbs 3.2g
|
||||
Sugar 0.6g
|
||||
Protein 10g
|
||||
Salt 16.9g
|
||||
|
||||
Pear
|
||||
Energy 57kcal
|
||||
Fat 0.1g
|
||||
Carbs 15g
|
||||
Fiber 3.1g
|
||||
Sugar 10g
|
||||
Protein 0.4g
|
||||
|
||||
AlmondMilk
|
||||
Energy 26kcal
|
||||
Fat 1.3g
|
||||
SaturatedFat 0.1g
|
||||
Carbs 3.1g
|
||||
Protein 0.5g
|
||||
Salt 0.13g
|
||||
|
||||
NyhtoKaura
|
||||
Energy 213kcal
|
||||
Fat 5.9g
|
||||
SaturatedFat 0.8g
|
||||
Carbs 10g
|
||||
Sugar 3.4g
|
||||
Fiber 3g
|
||||
Protein 28g
|
||||
Salt 1.5g
|
||||
|
||||
HamburgerSauce
|
||||
Energy 333kcal
|
||||
Fat 31.2g
|
||||
SaturatedFat 2.4g
|
||||
Carbs 10g
|
||||
Carbs 7.2g
|
||||
Protein 1.8g
|
||||
Salt 1.24g
|
||||
|
||||
AmericanCheese
|
||||
Energy 247kcal
|
||||
Fat 17g
|
||||
SaturatedFat 11g
|
||||
Carbs 6.5g
|
||||
Sugar 6.5g
|
||||
Protein 17g
|
||||
Salt 3.25g
|
||||
|
||||
Cheese
|
||||
Energy 329kcal
|
||||
Fat 24g
|
||||
SaturatedFat 14g
|
||||
Protein 27g
|
||||
Salt 1.5g
|
||||
|
||||
HalloumiCheese
|
||||
Energy 319kcal
|
||||
Fat 25g
|
||||
SaturatedFat 16g
|
||||
Carbs 1.5g
|
||||
Protein 22.0g
|
||||
Salt 2.7g
|
||||
|
||||
HamburgerBread
|
||||
Energy 284kcal
|
||||
Fat 5.9g
|
||||
SaturatedFat 0.6g
|
||||
Carbs 46.3g
|
||||
Sugar 6.9g
|
||||
Fiber 3.4g
|
||||
Protein 10.6g
|
||||
Salt 1.2g
|
||||
|
||||
Tomato
|
||||
Energy 18kcal
|
||||
Fat 0.2g
|
||||
Carbs 3.9g
|
||||
Fiber 1.2g
|
||||
Sugar 2.6g
|
||||
Protein 0.9g
|
||||
|
||||
Pepsi
|
||||
Energy 41kcal
|
||||
Carbs 11g
|
||||
Sugar 11g
|
||||
|
||||
KauraPasta
|
||||
Energy 359kcal
|
||||
Fat 3.5g
|
||||
@@ -277,13 +491,6 @@ Salt
|
||||
Energy 0kcal
|
||||
Salt 100g
|
||||
|
||||
Cheese
|
||||
Energy 329kcal
|
||||
Fat 24g
|
||||
SaturatedFat 14g
|
||||
Protein 27g
|
||||
Salt 1.5g
|
||||
|
||||
Potato
|
||||
Energy 68kcal
|
||||
Fat 0.2g
|
||||
@@ -480,9 +687,9 @@ Carbs 4.7g
|
||||
Sugar 3.7g
|
||||
|
||||
Honey
|
||||
Energy 64kcal
|
||||
Carbs 17g
|
||||
Sugar 17g
|
||||
Energy 305kcal
|
||||
Carbs 80g
|
||||
Sugar 80g
|
||||
|
||||
Coffee
|
||||
Energy 0kcal
|
||||
@@ -551,6 +758,15 @@ Sugar 7.2g
|
||||
Fiber 4.7g
|
||||
Protein 0.95g
|
||||
|
||||
OrangeIcecream
|
||||
Energy 197kcal
|
||||
Fat 8.4g
|
||||
SaturatedFat 5.6g
|
||||
Carbs 27.8g
|
||||
Sugar 25.6g
|
||||
Protein 2.6g
|
||||
Salt 0.07g
|
||||
|
||||
VanilliIceCream
|
||||
Energy 160kcal
|
||||
Fat 6.3g
|
||||
@@ -700,14 +916,6 @@ Sugar 3.4g
|
||||
Protein 21.4g
|
||||
Salt 0.05
|
||||
|
||||
HalloumiCheese
|
||||
Energy 319kcal
|
||||
Fat 25g
|
||||
SaturatedFat 16g
|
||||
Carbs 1.5g
|
||||
Protein 22.0g
|
||||
Salt 2.7g
|
||||
|
||||
Salmon
|
||||
Energy 208kcal
|
||||
Fat 13g
|
||||
@@ -772,6 +980,12 @@ SojaRouha 300g
|
||||
PeasCornPepper 225g
|
||||
TOTAL 2460g
|
||||
|
||||
RiceAndVeggies
|
||||
BrownRice 700g
|
||||
PeasCornPepper 450g
|
||||
Oil 40g
|
||||
TOTAL 1960g
|
||||
|
||||
MilkSoup
|
||||
Margarine 30g
|
||||
Milk 500g
|
||||
@@ -821,6 +1035,10 @@ BakedPotatoes
|
||||
Potato 1440g
|
||||
Oil 40g
|
||||
|
||||
BakedPotatoes2
|
||||
Potato 1150g
|
||||
Oil 60g
|
||||
|
||||
SeedAndOilSalad
|
||||
Salad 120g
|
||||
Cucumber 120g
|
||||
@@ -868,6 +1086,12 @@ Milk 450g
|
||||
WholeGrainBread 50g
|
||||
Flour 90g
|
||||
|
||||
VegeKotlet3
|
||||
HarkisRouheseos 200g
|
||||
Milk 400g
|
||||
Egg 195g
|
||||
Flour 70g
|
||||
|
||||
RoastedVeggies2
|
||||
Broccoli 300g
|
||||
Oil 70g
|
||||
@@ -906,3 +1130,42 @@ Oil 40g
|
||||
KauraPasta 500g
|
||||
PeasCornPepper 450g
|
||||
TOTAL 1720g
|
||||
|
||||
Smoothie
|
||||
AlmondMilk 500g
|
||||
Banana 144g
|
||||
Pear 210g
|
||||
Apple 90g
|
||||
Sugar 10g
|
||||
|
||||
TatraHelbedDone
|
||||
TatraHelbed 290g
|
||||
Margarine 60g
|
||||
TOTAL 1440g
|
||||
|
||||
PotatoSalad
|
||||
Potato 1060g
|
||||
PickleSlices 280g
|
||||
CannedPeas 250g
|
||||
Carrot 390g
|
||||
Cucumber 300g
|
||||
SourCream 600g
|
||||
Mayonnaise 400g
|
||||
Sugar 15g
|
||||
|
||||
LentilSoup
|
||||
RedLentil 400g
|
||||
MaggiBuljong 20g
|
||||
Oil 35g
|
||||
Carrot 350g
|
||||
Potato 400g
|
||||
TOTAL 2635g
|
||||
|
||||
BreadEgg
|
||||
WholeGrainBread 40g
|
||||
Oil 20g
|
||||
Egg 130g
|
||||
|
||||
PopcornDone
|
||||
Popcorn 150g
|
||||
Oil 40g
|
||||
|
||||
65
generate.py
Normal file
65
generate.py
Normal file
@@ -0,0 +1,65 @@
|
||||
from common import format_timestamp
|
||||
import json
|
||||
|
||||
def generate_godword(value):
|
||||
return f"{' '.join(value[:10])}\n{' '.join(value[10:])}"
|
||||
|
||||
def generate_habits(value):
|
||||
return '\n'.join(f'[{"x" if v else "-"}] {k}' for k,v in value.items())
|
||||
|
||||
header_modules = {
|
||||
'godword': generate_godword,
|
||||
'habits': generate_habits,
|
||||
}
|
||||
|
||||
def generate_diet(block):
|
||||
_, amount, food = block.values()
|
||||
return f'@diet {amount}g {food}'
|
||||
|
||||
def generate_exercise(block):
|
||||
if block['kind'] == 'walk':
|
||||
return f'@exercise {block["minutes"]}min {block["distance"]}km {block["steps"]}steps'
|
||||
|
||||
def generate_default(block):
|
||||
return f'@{block["type"]} {block["value"]}'
|
||||
|
||||
def generate_timer(block):
|
||||
return f'@{block["type"]} {format_timestamp(block["timestamp"])}'
|
||||
|
||||
entry_modules = {
|
||||
'diet': generate_diet,
|
||||
'exercise': generate_exercise,
|
||||
'hide': lambda _: '@hide',
|
||||
'post': generate_timer,
|
||||
}
|
||||
|
||||
journal = json.load(open('journal.json'))
|
||||
|
||||
for curr_day in journal:
|
||||
header, entries = journal[curr_day].values()
|
||||
|
||||
result = f'# {curr_day}\n'
|
||||
|
||||
for name, value in header.items():
|
||||
result += f'\n{name.title()}:\n'
|
||||
result += header_modules[name](value)
|
||||
result += '\n'
|
||||
|
||||
def format_block(block):
|
||||
if isinstance(block, str):
|
||||
return block
|
||||
else:
|
||||
return entry_modules[block['type']](block)
|
||||
|
||||
for entry in entries:
|
||||
result += f'\n{format_timestamp(entry["timestamp"])} '
|
||||
if len(entry['blocks']) == 1:
|
||||
result += f'{format_block(entry["blocks"][0])}\n'
|
||||
else:
|
||||
result += '\n'
|
||||
for block in entry['blocks']:
|
||||
result += f'\n{format_block(block)}\n'
|
||||
|
||||
print(result)
|
||||
|
||||
|
||||
13
parse.py
13
parse.py
@@ -50,8 +50,15 @@ def parse_post(block):
|
||||
block = block[19:]
|
||||
except:
|
||||
timestamp = None
|
||||
content = block
|
||||
return {'timestamp': timestamp, 'content': content}
|
||||
|
||||
content = block.strip()
|
||||
|
||||
result = {}
|
||||
if content:
|
||||
result['content'] = content
|
||||
if timestamp:
|
||||
result['timestamp'] = timestamp
|
||||
return result
|
||||
|
||||
def parse_notes(block):
|
||||
tag, source, title = block.splitlines()
|
||||
@@ -59,7 +66,7 @@ def parse_notes(block):
|
||||
|
||||
def parse_diet(block):
|
||||
tag, amount, food = block.split()
|
||||
amount = float(amount.removesuffix('g'))
|
||||
amount = int(amount.removesuffix('g'))
|
||||
return {'amount': amount, 'food': food}
|
||||
|
||||
def parse_timer(block):
|
||||
|
||||
Reference in New Issue
Block a user