diff options
Diffstat (limited to 'kanji_info_fetcher/__init__.py')
| -rw-r--r-- | kanji_info_fetcher/__init__.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/kanji_info_fetcher/__init__.py b/kanji_info_fetcher/__init__.py new file mode 100644 index 0000000..c4b95bb --- /dev/null +++ b/kanji_info_fetcher/__init__.py @@ -0,0 +1,42 @@ +import argparse +import kanji_info_fetcher.io +import kanji_info_fetcher.jisho_client +import kanji_info_fetcher.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, 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 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 = 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) |
