diff options
| author | Lieuwe <lieuwemo@gmail.com> | 2011-03-06 14:39:50 (GMT) |
|---|---|---|
| committer | Lieuwe <lieuwemo@gmail.com> | 2011-03-06 14:39:50 (GMT) |
| commit | f599959efed6cb87d25382f54c6657094603dcc5 (patch) | |
| tree | db7a736c96a907178d9eaccc5b1255a33ea3efc8 /src/python | |
| parent | d619204d589281b824c8e689ad35429a56a9cd47 (diff) | |
| download | powder-f599959efed6cb87d25382f54c6657094603dcc5.zip powder-f599959efed6cb87d25382f54c6657094603dcc5.tar.gz | |
more work on the chat client, it now supports nick changes
Diffstat (limited to 'src/python')
| -rw-r--r-- | src/python/tpt_console.py | 35 |
1 files changed, 26 insertions, 9 deletions
diff --git a/src/python/tpt_console.py b/src/python/tpt_console.py index 620307b..491faf5 100644 --- a/src/python/tpt_console.py +++ b/src/python/tpt_console.py @@ -42,6 +42,7 @@ element={"none":0,"dust":1,"watr":2,"oil":3,"fire":4,"stne":5,"lava":6,"gunp":7, def fork_unblock(): pass#i need to implement this some day. def error(ex): + traceback.print_exc() err=traceback.format_exc() sys.stdout.write(err) @@ -78,18 +79,34 @@ def _handle(txt): _extensions=[] def loadext(fname): - _extensions.append(__import__(fname)) + ext=__import__(fname) + ext.init() + _extensions.append(ext) def keypress(key): - try: - for item in _extensions: + unload=[] + for item in _extensions: + try: item.key(key) - except Exception as ex: - error(ex) + except Exception as ex: + error(ex) + unload.append(item) + for item in unload: + item.exit() + _extensions.remove(item) + def step(): - try: - for item in _extensions: + unload=[] + for item in _extensions: + try: item.step() - except Exception as ex: - error(ex) + except Exception as ex: + error(ex) + unload.append(item) + for item in unload: + try: + item.exit() + except Exception as ex: + error(ex) + _extensions.remove(item) |
