From 171cfcd55803148d430f2927ec8662bdf90fc248 Mon Sep 17 00:00:00 2001 From: timv Date: Wed, 12 Jun 2013 12:50:33 -0400 Subject: [PATCH] tweaks. --- src/Dyna/Backend/Python/graph.py | 3 ++- src/Dyna/Backend/Python/interpreter.py | 13 ++++++++++--- src/Dyna/Backend/Python/repl.py | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Dyna/Backend/Python/graph.py b/src/Dyna/Backend/Python/graph.py index edd64ae..f69cd2d 100644 --- a/src/Dyna/Backend/Python/graph.py +++ b/src/Dyna/Backend/Python/graph.py @@ -36,4 +36,5 @@ def animate(interp): print 'wrote examples/force.dyna.mp4' -animate(interp) +def main(interp): + animate(interp) diff --git a/src/Dyna/Backend/Python/interpreter.py b/src/Dyna/Backend/Python/interpreter.py index 38247ba..ac2d8cd 100644 --- a/src/Dyna/Backend/Python/interpreter.py +++ b/src/Dyna/Backend/Python/interpreter.py @@ -558,14 +558,20 @@ def main(): parser.add_argument('-o', dest='output', help='Output chart.') parser.add_argument('--draw', action='store_true', help='Output html page with hypergraph and chart.') - parser.add_argument('--postprocess', type=file, - help='run post-processing script.') + parser.add_argument('--postprocess', help='run post-processing script.') parser.add_argument('--profile', action='store_true', help='run profiler.') args = parser.parse_args() + if args.postprocess is not None: + try: + pp =__import__(args.postprocess) + except ImportError: + print ('ERROR: No postprocessor named %r' % args.postprocess) + return + interp = Interpreter() if args.profile: @@ -638,7 +644,8 @@ def main(): if args.postprocess is not None: # TODO: import and call main method instead. - execfile(args.postprocess.name, {'interp': interp}) + pp.main(interp) + if __name__ == '__main__': diff --git a/src/Dyna/Backend/Python/repl.py b/src/Dyna/Backend/Python/repl.py index a3ea9b7..046adc7 100644 --- a/src/Dyna/Backend/Python/repl.py +++ b/src/Dyna/Backend/Python/repl.py @@ -112,7 +112,7 @@ class REPL(cmd.Cmd, object): changed = self.interp.do(src) # throws AggregatorConflict except (AggregatorConflict, DynaInitializerException, DynaCompilerError) as e: - print type(e), ':' + print type(e).__name__ + ':' print e print '> new rule(s) were not added to program.' -- 2.50.1