From 5713a18968c4472587ca6f740b08c34c5061d5c3 Mon Sep 17 00:00:00 2001 From: Tony Narlock Date: Sat, 10 Jun 2023 06:18:08 -0500 Subject: [PATCH] !squash --- src/unihan_db/importer.py | 42 ++++++++++++++++++++++++--------------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/src/unihan_db/importer.py b/src/unihan_db/importer.py index 35754a7e..4b3699e8 100644 --- a/src/unihan_db/importer.py +++ b/src/unihan_db/importer.py @@ -77,12 +77,16 @@ def import_char( c.kTotalStrokes.append(kTotalStrokes(hans=d["zh-Hans"], hant=d["zh-Hant"])) if "kHanyuPinyin" in char: - for d in char["kHanyuPinyin"]: - k = kHanyuPinyin() - assert isinstance(d["locations"], list) - for loc in d["locations"]: + for _khp in char["kHanyuPinyin"]: + assert isinstance(_khp, dict) + assert isinstance(_khp["locations"], list) + assert isinstance(_khp["readings"], list) + khp_readings: t.List[UnhnReading] = [] + khp_locations: t.List[UnhnLocation] = [] + + for loc in _khp["locations"]: assert isinstance(loc, dict) - k.locations.append( + khp_locations.append( UnhnLocation( volume=loc["volume"], page=loc["page"], @@ -90,22 +94,28 @@ def import_char( virtual=loc["virtual"], ) ) - for reading in d["readings"]: - k.readings.append(UnhnReading(reading=reading)) - c.kHanyuPinyin.append(k) + for reading in _khp["readings"]: + khp_readings.append(UnhnReading(reading=reading)) + c.kHanyuPinyin.append( + kHanyuPinyin( + locations=khp_readings, + readings=khp_readings, + ) + ) if "kHanYu" in char: - k = kHanYu() - for d in char["kHanYu"]: - k.locations.append( + khy_locations: t.List[UnhnLocation] = [] + for _khy in char["kHanYu"]: + assert isinstance(_khy, dict) + khy_locations.append( UnhnLocation( - volume=d["volume"], - page=d["page"], - character=d["character"], - virtual=d["virtual"], + volume=_khy["volume"], + page=_khy["page"], + character=_khy["character"], + virtual=_khy["virtual"], ) ) - c.kHanYu.append(k) + c.kHanYu.append(kHanYu(locations=khy_locations)) if "kIRGHanyuDaZidian" in char: _khdz_locations: t.List[UnhnLocation] = []