From 1a1dc2a9dc2380fd04fa2f2da18ff9e6ac87647d Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Tue, 2 Feb 2021 13:43:25 +0200 Subject: Add Wadoku client and improve stuff --- attain_vocab_to_anki_py/io.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) (limited to 'attain_vocab_to_anki_py/io.py') diff --git a/attain_vocab_to_anki_py/io.py b/attain_vocab_to_anki_py/io.py index 4288e06..90c9507 100644 --- a/attain_vocab_to_anki_py/io.py +++ b/attain_vocab_to_anki_py/io.py @@ -8,24 +8,36 @@ class Entry: english: str meanings: str -def read_from_file(path_str: str) -> list: +def read_from_file(path_str: str, row_format: str) -> list: p = path.join(path_str) lines = [] + format_segments = row_format.split(",") + with open(p, "r") as f: lines = f.readlines() entries = [] for line in lines: - kanji, hiragana, english = line.split(",", 2) - entries.append(Entry(kanji=kanji.strip(), - hiragana=hiragana.strip(), - english=english.strip(), - meanings="")) + if len(line.strip()) == 0: + continue + + value_dict = {} + + row_values = line.split(",", len(format_segments) - 1) + for i, format_segment in enumerate(format_segments): + value_dict[format_segment] = row_values[i] + + entries.append(Entry( + kanji=value_dict.get("kanji", "").strip(), + hiragana=value_dict.get("hiragana", "").strip(), + english=value_dict.get("english", "").strip(), + meanings=value_dict.get("meanings", "").strip() + )) return entries -def _entry_to_row(entry: Entry, delimiter: str = ";") -> str: +def _entry_to_row(entry: Entry, delimiter: str = "ยง") -> str: s = delimiter.join([entry.kanji, entry.hiragana, entry.english, entry.meanings]) return f"{s}\n" -- cgit v1.3