class SpellXMLGen: def __init__(self, dtd, essay): self.rootname = dtd self.checker = SpellChecker(essay) self.errors = self.checker.getErrors() self._createStruct() self._createTags() def _createStruct(self): self.root = etree.Element(self.rootname) self.textNode = etree.SubElement(self.root, "TEXT") self.textNode.text = etree.CDATA(self.checker.getEssay()) self.tagsNode = etree.SubElement(self.root, "TAGS") # generates a Misspelling tag def _createTag(self, word, n): spanstr = "{}~{}".format(word.getSpan()[0], word.getSpan()[1]) etree.SubElement(self.tagsNode, "Misspelling", text=word.getText(), spans=spanstr, id="M" + str(n)) def _createTags(self): i = 0 for w in self.errors: self._createTag(w, i) i += 1 def write(self, directory): tree = etree.ElementTree(self.root) tree.write(directory)
def __init__(self, dtd, essay): self.rootname = dtd self.checker = SpellChecker(essay) self.errors = self.checker.getErrors() self._createStruct() self._createTags()