Changes in etgen¶
2021-12-23¶
Released version 1.1.2
2021-12-16¶
Fix #4401 (cannot import name ‘escape’ from ‘cgi’)
2021-09-02¶
Move validate_pain001()
and its XSD files to lino_xl.lib.finan
.
Released version 1.1.1
2020-05-04¶
Released version 1.1.0
2020-05-01¶
Fixed two warnings “ResourceWarning: unclosed file <_io.TextIOWrapper
name=’…/tests/finan.PaymentOrder-63.xml’ mode=’r’ encoding=’UTF-8’>”
caused by etgen.sepa.validate
.
New rule for etgen.html.to_rst()
: when the value is a string, we now
assume that it is raw HTML, which means that we parse it and then process is
like normal element tree elements.
2019-10-14¶
html2rst now digests html
and body
elements and provides clearer
error messages for unsupported elements
Released version 1.0.0
Version 0.0.4 (released 2018-03-11)¶
use the ElementTree builder (
E
) fromlxml
instead of my own implementation based onxml.etree.ElementTree
. Though not the easy way. It has a few consequences (see below).
We cannot use E.tostring() any more because the E
defined in
lxml.etree
doesn’t have that method. My extended version of
tostring()
is now as a global function in etgen.html
.
Old code:
from etgen.html import E
...
E.tostring()
New code:
from etgen.html import E, tostring
...
tostring()
Same problem for E.iselement and E.to_rst and E.raw.
In lxml we don’t have the hack of adding an underscore to attributes like class which are a reserved in Python. We must convert these cases. Before:
return E.li(a, class_="active")
After:
return E.li(a, **{'class': "active"})
Failures saying TypeError: bad argument type: __proxy__(u’ by ‘) are because lxml elements don’t like Django translatable strings. Old code:
return E.div(E.h2(self.actor.label), e)
New code:
return E.div(E.h2(str(self.actor.label)), e)
Another failure was in code which updates existing elements
TypeError: update() takes no keyword arguments
. Old code:
e.attrib.update(align='right')
New code:
e.set('align', 'right')
Version 0.0.3 (released 2018-02-16)¶
Added a test case for
etgen.sepa.validate
.Added dependency to atelier (fix for https://travis-ci.org/lino-framework/etgen/jobs/342304371)
Version 0.0.2 (released 2018-02-16)¶
Added package data in etgen/sepa/XSD/*.xsd
.
Version 0.0.1 (released 2018-02-16)¶
The package was born as a repackaging of code which was previously in
Lino as the packages lino.utils.xmlgen
and
lino.utils.html2rst
. We moved them out of Lino into an
independent package etgen
because they might be of use also for
projects which don’t use Lino.