From af54a106fd127a9ee781d26415bd4e2152b0a5aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sat, 1 Sep 2018 00:34:41 +0200 Subject: [PATCH] Monkey patch Genshi for Python 3 --- edocument.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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'),