lib/_data_ingestion: remove invalid use of findAllElements

This commit is contained in:
2025-04-23 11:19:56 +02:00
parent bd0dc9aad9
commit bf0d20dde8
2 changed files with 68 additions and 55 deletions

View File

@@ -143,7 +143,7 @@ List<Entry> transformXML(XmlElement root) {
final List<ReadingElement> readingEls = [];
final List<Sense> senses = [];
for (final k_ele in entry.findAllElements('k_ele')) {
for (final k_ele in entry.findElements('k_ele')) {
final ke_pri = getPriorityValues(k_ele, 'ke');
kanjiEls.add(
KanjiElement(
@@ -161,7 +161,7 @@ List<Entry> transformXML(XmlElement root) {
);
}
for (final r_ele in entry.findAllElements('r_ele')) {
for (final r_ele in entry.findElements('r_ele')) {
final re_pri = getPriorityValues(r_ele, 're');
readingEls.add(
ReadingElement(
@@ -182,7 +182,7 @@ List<Entry> transformXML(XmlElement root) {
}
int senseNum = 0;
for (final sense in entry.findAllElements('sense')) {
for (final sense in entry.findElements('sense')) {
senseId++;
senseNum++;
senses.add(

View File

@@ -15,6 +15,10 @@ List<Character> transformXML(XmlElement root) {
final radical = c.findElements('radical').firstOrNull;
final misc = c.findElements('misc').first;
final dic_number = c.findElements('dic_number').firstOrNull;
final query_code = c.findElements('query_code').first;
final reading_meaning = c.findElements('reading_meaning').firstOrNull;
// TODO: Group readings and meanings by their rmgroup parent node.
result.add(
Character(
@@ -55,13 +59,13 @@ List<Character> transformXML(XmlElement root) {
)
.toList() ??
[],
strokeMiscounts: c
.findAllElements('stroke_count')
strokeMiscounts: misc
.findElements('stroke_count')
.skip(1)
.map((e) => int.parse(e.innerText))
.toList(),
variants: c
.findAllElements('variant')
variants: misc
.findElements('variant')
.map(
(e) => Variant(
kanji: kanji,
@@ -95,8 +99,8 @@ List<Character> transformXML(XmlElement root) {
)
.toList() ??
[],
querycodes: c
.findAllElements('q_code')
querycodes: query_code
.findElements('q_code')
.map(
(e) => QueryCode(
kanji: kanji,
@@ -106,52 +110,61 @@ List<Character> transformXML(XmlElement root) {
),
)
.toList(),
readings: c
.findAllElements('reading')
.where(
(e) => !['ja_on', 'ja_kun'].contains(e.getAttribute('r_type')),
)
.map(
(e) => Reading(
kanji: kanji,
type: e.getAttribute('r_type')!,
reading: e.innerText,
),
)
.toList(),
kunyomi: c
.findAllElements('reading')
.where((e) => e.getAttribute('r_type') == 'ja_kun')
.map(
(e) => Kunyomi(
kanji: kanji,
yomi: e.innerText,
isJouyou: e.getAttribute('r_status') == 'jy',
),
)
.toList(),
onyomi: c
.findAllElements('reading')
.where((e) => e.getAttribute('r_type') == 'ja_on')
.map(
(e) => Onyomi(
kanji: kanji,
yomi: e.innerText,
isJouyou: e.getAttribute('r_status') == 'jy',
type: e.getAttribute('on_type')),
)
.toList(),
meanings: c
.findAllElements('meaning')
.map(
(e) => Meaning(
kanji: kanji,
language: e.getAttribute('m_lang') ?? 'eng',
meaning: e.innerText,
),
)
.toList(),
nanori: c.findAllElements('nanori').map((e) => e.innerText).toList(),
readings: reading_meaning
?.findAllElements('reading')
.where(
(e) =>
!['ja_on', 'ja_kun'].contains(e.getAttribute('r_type')),
)
.map(
(e) => Reading(
kanji: kanji,
type: e.getAttribute('r_type')!,
reading: e.innerText,
),
)
.toList() ??
[],
kunyomi: reading_meaning
?.findAllElements('reading')
.where((e) => e.getAttribute('r_type') == 'ja_kun')
.map(
(e) => Kunyomi(
kanji: kanji,
yomi: e.innerText,
isJouyou: e.getAttribute('r_status') == 'jy',
),
)
.toList() ??
[],
onyomi: reading_meaning
?.findAllElements('reading')
.where((e) => e.getAttribute('r_type') == 'ja_on')
.map(
(e) => Onyomi(
kanji: kanji,
yomi: e.innerText,
isJouyou: e.getAttribute('r_status') == 'jy',
type: e.getAttribute('on_type')),
)
.toList() ??
[],
meanings: reading_meaning
?.findAllElements('meaning')
.map(
(e) => Meaning(
kanji: kanji,
language: e.getAttribute('m_lang') ?? 'eng',
meaning: e.innerText,
),
)
.toList() ??
[],
nanori: reading_meaning
?.findElements('nanori')
.map((e) => e.innerText)
.toList() ??
[],
),
);
}