Adding import/export for entry.measure and entry.lexical_unit
This commit is contained in:
parent
413f3febae
commit
227c3ee4b8
|
@ -27,12 +27,34 @@ def export_entry(entry):
|
|||
headword.appendChild(headword_lemma)
|
||||
head.appendChild(headword)
|
||||
|
||||
# if({}) works uncorrectly in transcrypt
|
||||
if len(entry.lexical_unit) > 0:
|
||||
lexunit = doc.createElement("lexicalUnit")
|
||||
lexunit.setAttribute("id", entry.lexical_unit["id"])
|
||||
lexunit.setAttribute("type", "single")
|
||||
lexeme = doc.createElement("lexeme")
|
||||
lexeme.setAttribute("lexical_unit_lexeme_id", entry.lexical_unit["id"])
|
||||
lexeme.textContent = entry.lexical_unit["text"]
|
||||
|
||||
lexunit.appendChild(lexeme)
|
||||
head.appendChild(lexunit)
|
||||
|
||||
grammar = doc.createElement("grammar")
|
||||
grammar_category = doc.createElement("category")
|
||||
grammar_category.textContent = entry.grammar
|
||||
grammar.appendChild(grammar_category)
|
||||
head.appendChild(grammar)
|
||||
|
||||
if len(entry.measure) > 0:
|
||||
measure_list = doc.createElement("measureList")
|
||||
measure = doc.createElement("measure")
|
||||
measure.setAttribute("source", entry.measure["source"])
|
||||
measure.setAttribute("type", entry.measure["type"])
|
||||
measure.textContent = entry.measure["text"]
|
||||
|
||||
measure_list.appendChild(measure)
|
||||
head.appendChild(measure_list)
|
||||
|
||||
variants = doc.createElement("variantList")
|
||||
head.appendChild(variants)
|
||||
|
||||
|
|
|
@ -15,6 +15,19 @@ class Entry(Editable):
|
|||
self.comment = comment.textContent if comment else ""
|
||||
self.variants = [v.textContent for v in entry_xml.querySelectorAll("head variantList variant")]
|
||||
|
||||
self.lexical_unit = {}
|
||||
lex_unit = entry_xml.querySelector("lexical_unit lexeme,lexicalUnit lexeme")
|
||||
if lex_unit:
|
||||
self.lexical_unit['id'] = lex_unit.getAttribute("lexical_unit_lexeme_id")
|
||||
self.lexical_unit['text'] = lex_unit.textContent
|
||||
|
||||
self.measure = {}
|
||||
measure = entry_xml.querySelector("measureList measure")
|
||||
if measure:
|
||||
self.measure["source"] = measure.getAttribute("source")
|
||||
self.measure["type"] = measure.getAttribute("type")
|
||||
self.measure["text"] = measure.textContent
|
||||
|
||||
self.labels = []
|
||||
for tag_xml in entry_xml.querySelectorAll("head labelList label"):
|
||||
t_type = tag_xml.getAttribute("type")
|
||||
|
@ -28,4 +41,8 @@ class Entry(Editable):
|
|||
|
||||
self.senses = [Sense(sense_xml) for sense_xml in
|
||||
entry_xml.querySelectorAll("body senseList sense")]
|
||||
|
||||
def get_measure_text(self):
|
||||
console.log(self.measure["text"] if "text" in self.measure else "")
|
||||
return self.measure["text"] if "text" in self.measure else ""
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user