summaryrefslogtreecommitdiffstats
path: root/attain_vocab_to_anki_py/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'attain_vocab_to_anki_py/__init__.py')
-rw-r--r--attain_vocab_to_anki_py/__init__.py26
1 files changed, 21 insertions, 5 deletions
diff --git a/attain_vocab_to_anki_py/__init__.py b/attain_vocab_to_anki_py/__init__.py
index dee97d6..59b2753 100644
--- a/attain_vocab_to_anki_py/__init__.py
+++ b/attain_vocab_to_anki_py/__init__.py
@@ -1,26 +1,42 @@
import argparse
import attain_vocab_to_anki_py.io
import attain_vocab_to_anki_py.jisho_client
+import attain_vocab_to_anki_py.wadoku_client
__version__ = '0.1.0'
+DEFAULT_FORMAT = 'kanji,english'
+
def main():
parser = argparse.ArgumentParser(description='Convert course vocab into Anki deck')
+ parser.add_argument('--format', metavar='format', type=str, default=DEFAULT_FORMAT,
+ help='comma-separated row format, e.g. kanji,hiragana,english,readings')
parser.add_argument('file', metavar='file', type=str,
help='vocabulary file path')
args = parser.parse_args()
file_path = args.file
+ row_format = args.format
+
+ print("row_format:", row_format)
# read entries from file
print(f"[STATUS] Reading file {file_path}")
- entries = io.read_from_file(file_path)
+ entries = io.read_from_file(file_path, row_format)
+
+ # fetch translations from Jisho
+ print(f"[STATUS] Fetching English translations from Jisho")
+ entries = jisho_client.inject_english_translation(entries)
# fetch kanji meanings from Jisho
- print(f"[STATUS] Fetching kanji data from Jisho")
- entries_with_meanings = jisho_client.inject_kanji_meanings(entries)
+ print(f"[STATUS] Fetching kanji meaning data from Jisho")
+ entries = jisho_client.inject_kanji_meanings(entries)
+
+ # fetch hiragana readings from Wadoku w/ pitch accents
+ print(f"[STATUS] Fetching reading data from Wadoku")
+ entries = wadoku_client.inject_hiragana_with_accents(entries)
# write entries to file
- out_file_name = f"{file_path}.out"
+ out_file_name = file_path.replace(".csv", ".out.csv") if ".csv" in file_path else f"{file_path}.out"
print(f"[STATUS] Writing result to file {out_file_name}")
- io.write_to_file(out_file_name, entries_with_meanings)
+ io.write_to_file(out_file_name, entries)