Refactoring example into multiple files
This commit is contained in:
46
src/model/example/component_lexeme.py
Normal file
46
src/model/example/component_lexeme.py
Normal file
@@ -0,0 +1,46 @@
|
||||
from model.data import Data
|
||||
|
||||
class ComponentLexeme(Data):
|
||||
def __init__(self, xml):
|
||||
self.other_attributes = {}
|
||||
|
||||
if xml.nodeName == "#text":
|
||||
self.text = xml.data
|
||||
self.role = None
|
||||
else:
|
||||
self.text = xml.textContent
|
||||
self.role = xml.getAttribute("role")
|
||||
|
||||
for oth_attr in ["lexical_unit_lexeme_id", "slolex", "kol"]:
|
||||
if xml.hasAttribute(oth_attr):
|
||||
self.other_attributes[oth_attr] = xml.getAttribute(oth_attr)
|
||||
|
||||
self.text = self.text.strip()
|
||||
|
||||
def isValid(self):
|
||||
return len(self.text) > 0
|
||||
|
||||
def export(self, doc):
|
||||
if self.role is None:
|
||||
return doc.createTextNode(self.text)
|
||||
|
||||
result = doc.createElement("comp")
|
||||
result.setAttribute("role", self.role)
|
||||
result.textContent = self.text
|
||||
|
||||
for key, value in self.other_attributes.items():
|
||||
result.setAttribute(key, value)
|
||||
|
||||
return result
|
||||
|
||||
def view_style(self):
|
||||
result = ".comp-text"
|
||||
if self.role is not None:
|
||||
result += ".comp-role"
|
||||
if self.role == "headword":
|
||||
result += ".comp-role-headword"
|
||||
|
||||
return result
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user