X-Git-Url: https://git.mdrn.pl/librarian.git/blobdiff_plain/893924685f2bc659cb71d7c68501fc3cf1daa0f0..e9cdd3f1f653de79f94ddfcdf319fcc31e7f0cef:/librarian/xmlutils.py diff --git a/librarian/xmlutils.py b/librarian/xmlutils.py index 9e921a2..8890f4e 100644 --- a/librarian/xmlutils.py +++ b/librarian/xmlutils.py @@ -22,14 +22,15 @@ class Xmill(object): self.text_filters.append(fun) def filter_text(self, text): - for flt in self.text_filters: - if text is None: - return None - text = flt(text) # TODO: just work on the tree and let lxml handle escaping. e = etree.Element("x") e.text = text - return etree.tostring(e, encoding=unicode)[3:-4] + # This whole mixing text with ML is so wrong. + output = etree.tostring(e, encoding=unicode)[3:-4] + for flt in self.text_filters: + output = flt(output) + return output + def generate(self, document): """Generate text from node using handlers defined in class."""