# HG changeset patch # User Atul Varma # Date 1252620813 25200 # Node ID 2dc43c316df9cb5f872938af10c381eab27371e8 # Parent 9fe3f115f9519420ff4b95c0eb5050de01ef96cd Added opcb parameter diff -r 9fe3f115f951 -r 2dc43c316df9 pydertron.py --- a/pydertron.py Thu Sep 10 14:58:00 2009 -0700 +++ b/pydertron.py Thu Sep 10 15:13:33 2009 -0700 @@ -280,7 +280,7 @@ loading and executing scripts. """ - def __init__(self, fs, watchdog=watchdog): + def __init__(self, fs, watchdog=watchdog, opcb=None): rt = pydermonkey.Runtime() cx = rt.new_context() root_proto = cx.new_object() @@ -292,6 +292,7 @@ watchdog.add_context(cx) self.fs = fs + self.opcb = opcb self.rt = rt self.cx = cx self.curr_exc = None @@ -333,9 +334,10 @@ del self.rt def _opcb(self, cx): - # Don't do anything; if a keyboard interrupt was triggered, + # Note that if a keyboard interrupt was triggered, # it'll get raised here automatically. - pass + if self.opcb: + self.opcb() def _throwhook(self, cx): curr_exc = cx.get_pending_exception()