Edgewall Software

Ticket #537: py3.3_astfix.diff

File py3.3_astfix.diff, 1.5 KB (added by rp, 11 years ago)
  • genshi/template/astutil.py

     
    345345                self.visit(statement)
    346346            self._change_indent(-1)
    347347
     348    # Py3.3 Try(stmt* body, excepthandler* handlers, stmt* orelse, stmt* finalbody)
     349    def visit_Try(self, node):
     350        self._new_line()
     351        self._write('try:')
     352        self._change_indent(1)
     353        for statement in node.body:
     354            self.visit(statement)
     355        self._change_indent(-1)
     356        if getattr(node, 'handlers', None):
     357            for handler in node.handlers:
     358                self.visit(handler)
     359        self._new_line()
     360        if getattr(node, 'orelse', None):
     361            self._write('else:')
     362            self._change_indent(1)
     363            for statement in node.orelse:
     364                self.visit(statement)
     365            self._change_indent(-1)
     366        if getattr(node, 'finalbody', None):
     367            self._new_line()
     368            self._write('finally:')
     369            self._change_indent(1)
     370            for statement in node.finalbody:
     371                self.visit(statement)
     372            self._change_indent(-1)
     373
    348374    # excepthandler = (expr? type, expr? name, stmt* body)
    349375    def visit_ExceptHandler(self, node):
    350376        self._new_line()
     
    766792    visit_Raise = _clone
    767793    visit_TryExcept = _clone
    768794    visit_TryFinally = _clone
     795    visit_Try = _clone
    769796    visit_Assert = _clone
    770797    visit_ExceptHandler = _clone
    771798