summaryrefslogtreecommitdiffstats
path: root/kanji_info_fetcher/__init__.py
diff options
context:
space:
mode:
authorJan Tuomi <jan.tuomi@valuemotive.com>2021-02-02 21:28:12 +0200
committerJan Tuomi <jan.tuomi@valuemotive.com>2021-02-02 21:28:12 +0200
commitae6c39c8e9758172c92136128c811f2387531228 (patch)
tree32e89f3402d62e6f0aea79fe423c99837f090f8b /kanji_info_fetcher/__init__.py
parent1a1dc2a9dc2380fd04fa2f2da18ff9e6ac87647d (diff)
Rename to kanji_info_fetcher
Diffstat (limited to 'kanji_info_fetcher/__init__.py')
-rw-r--r--kanji_info_fetcher/__init__.py42
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)