# HG changeset patch
# User paulb@jeremy
# Date 1161723867 -7200
# Node ID 81a732b70193de84d238bd5ef2845d1d0b9a0cda
# Parent 353f320afab7eecff0a970042dccf78c8ee6146e
Added support for exception constructs.
diff -r 353f320afab7 -r 81a732b70193 viewer.py
--- a/viewer.py Tue Oct 24 23:03:15 2006 +0200
+++ b/viewer.py Tue Oct 24 23:04:27 2006 +0200
@@ -364,6 +364,56 @@
self.default(node)
self.stream.write("\n")
+ def visitTryExcept(self, node):
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self._keyword("try")
+ self.stream.write(":\n")
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self.dispatch(node.body)
+ self.stream.write("
\n")
+ for spec, assign, statement in node.handlers:
+ self.stream.write("
\n")
+ self._keyword("except")
+ if spec is not None:
+ self.dispatch(spec)
+ if assign is not None:
+ self.stream.write(",\n")
+ self.dispatch(assign)
+ self.stream.write(":\n")
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self.dispatch(statement)
+ self.stream.write("
\n")
+ if node.else_ is not None:
+ self.stream.write("
\n")
+ self._keyword("else")
+ self.stream.write(":\n")
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self.dispatch(node.else_)
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+
+ def visitTryFinally(self, node):
+ self.stream.write("\n")
+ self.stream.write("
\n")
+ self._keyword("try")
+ self.stream.write(":\n")
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self.dispatch(node.body)
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self._keyword("finally")
+ self.stream.write(":\n")
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+ self.dispatch(node.final)
+ self.stream.write("
\n")
+ self.stream.write("
\n")
+
def visitWhile(self, node):
self.stream.write("\n")
self.stream.write("
\n")