diff --git a/edocument.py b/edocument.py index d3f5f6ef3f..cd7d68d693 100644 --- a/edocument.py +++ b/edocument.py @@ -12,6 +12,22 @@ from trytond.pool import Pool from trytond.rpc import RPC from trytond.transaction import Transaction +# XXX fix: https://genshi.edgewall.org/ticket/582 +from genshi.template.astutil import ASTCodeGenerator, ASTTransformer +if not hasattr(ASTCodeGenerator, 'visit_NameConstant'): + def visit_NameConstant(self, node): + if node.value is None: + self._write('None') + elif node.value is True: + self._write('True') + elif node.value is False: + self._write('False') + else: + raise Exception("Unknown NameConstant %r" % (node.value,)) + ASTCodeGenerator.visit_NameConstant = visit_NameConstant +if not hasattr(ASTTransformer, 'visit_NameConstant'): + # Re-use visit_Name because _clone is deleted + ASTTransformer.visit_NameConstant = ASTTransformer.visit_Name loader = genshi.template.TemplateLoader( os.path.join(os.path.dirname(__file__), 'template'),