Adding ability to load gz files.

This commit is contained in:
2019-06-17 20:41:11 +02:00
parent d2f6f8dac8
commit cfdb36b894
2 changed files with 65 additions and 10 deletions
+15 -7
View File
@@ -15,12 +15,12 @@ class WordMsdOnly:
class Word:
def __init__(self, xml, do_msd_translate):
self.lemma = xml.get('lemma')
self.msd = Word.get_msd(xml)
self.msd = MSD_TRANSLATE[self.msd] if do_msd_translate else self.msd
self.id = xml.get('id')
self.text = xml.text
def __init__(self, lemma, msd, wid, text, do_msd_translate):
self.lemma = lemma
self.msd = MSD_TRANSLATE[msd] if do_msd_translate else msd
self.id = wid
self.text = text
self.links = defaultdict(list)
last_num = self.id.split('.')[-1]
@@ -29,6 +29,14 @@ class Word:
self.int_id = int(last_num)
assert None not in (self.id, self.lemma, self.msd)
@staticmethod
def from_xml(xml, do_msd_translate):
lemma = xml.get('lemma')
msd = Word.get_msd(xml)
wid = xml.get('id')
text = xml.text
return Word(lemma, msd, wid, text, do_msd_translate)
@staticmethod
def get_msd(comp):
@@ -45,7 +53,7 @@ class Word:
def pc_word(pc, do_msd_translate):
pc.set('lemma', pc.text)
pc.set('msd', "N" if do_msd_translate else "U")
return Word(pc, do_msd_translate)
return Word.from_xml(pc, do_msd_translate)
def add_link(self, link, to):
self.links[link].append(to)