jp_text_parsing/make_help_notes.py

50 lines
2.0 KiB
Python

## This is just copied from make_dialog_notes.py
from fugashi_parser import *
import os
from pathlib import Path
import shutil
import hashlib
destination_directory_name = '/run/media/deck/YF8SD/Sync/Notebooks/Obsidian/Japanese/Yu-Gi-Oh/'
destination_path = Path(destination_directory_name)
vocab_destination_path = Path('/run/media/deck/YF8SD/Sync/Notebooks/Obsidian/Japanese/vocab')
with open("helptext_dump.json", "r", encoding="utf-8") as f:
dump = json.load(f)
if not destination_path.exists():
destination_path.mkdir(parents=True, exist_ok=True)
if not destination_path.joinpath('YLOTD_help').exists():
destination_path.joinpath('YLOTD_help').mkdir(parents=True, exist_ok=True)
counter = 0
destination_path = destination_path.joinpath('YLOTD_help')
with open(destination_path.as_posix() + f"/HelpText.md", 'w') as card_note:
for title in dump:
print(title)
counter+=1
## copy the image if it isn't already there
print(title)
card_note.write(f"\n")
#card_note.write(f"\n###### {title}\n\n")
#reformatted = re.sub(r'(\d{2})/(\d{2})/(\d{4})', r'\3-\1-\2', date)
#re.replace('\$R')
text_J = dump[title]['ja']
text_J = re.sub(r'\$R(.*?)\((.*?)\)',r'<ruby>\1<rt>\2</rt></ruby>',text_J)
if text_J[0] == '':
card_note.write(f"#### {text_J}\n\n")
print(f"<details><summary>{text_J}</summary>{dump[title]['en']}</details>",file=card_note)
text_J = dump[title]['ja']
text_J = re.sub(r'\$R(.*?)\((.*?)\)',r'\1',text_J)
text_J = text_J.replace('<br>', '').replace('\n','')
## print raw for vocab lookup
print(f"\n{text_J}\n", file=card_note)
vocab = {} ## flush the vocab variable each time
result = analyze(text_J, vocab)
print(f"> [!summary]- Vocab\n>{result['notes_link']}",file=card_note)
for word in vocab:
write_word_note(word, vocab_destination_path, vocab[word]['pos'][0])
# ## add card names as properties