From: Fredrik Tolf Date: Mon, 7 Jan 2013 07:02:30 +0000 (+0100) Subject: Added a simple utilities file. X-Git-Tag: 0.2~2 X-Git-Url: http://git.dolda2000.com/gitweb/?a=commitdiff_plain;h=342c8c21078cb74025b2f242b3649628a96ccb1d;p=pdm.git Added a simple utilities file. --- diff --git a/pdm/util.py b/pdm/util.py new file mode 100644 index 0000000..53cc82a --- /dev/null +++ b/pdm/util.py @@ -0,0 +1,16 @@ +"""Python Daemon Management -- Miscellaneous utilities + +This module contains various functions that may be useful to call from +the PDM REPL. +""" + +import sys, traceback, threading + +def threads(): + "Returns a dict of currently known threads, mapped to their respective frames." + tt = dict((th.ident, th) for th in threading.enumerate()) + return dict((tt.get(key, key), val) for key, val in sys._current_frames().iteritems()) + +def traces(): + "Returns the value of threads() with each frame expanded to a backtrace." + return dict((th, traceback.extract_stack(frame)) for th, frame in threads().iteritems())