[Yt-svn] yt-commit r1055 - trunk/yt

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Sat Dec 27 22:04:03 PST 2008


Author: mturk
Date: Sat Dec 27 22:04:03 2008
New Revision: 1055
URL: http://yt.spacepope.org/changeset/1055

Log:
Added --paste as a general command line option.  Any traceback will be pasted
as a private paste in the paste.enzotools.org pastebin.  paste paste paste.



Modified:
   trunk/yt/commands.py
   trunk/yt/funcs.py

Modified: trunk/yt/commands.py
==============================================================================
--- trunk/yt/commands.py	(original)
+++ trunk/yt/commands.py	Sat Dec 27 22:04:03 2008
@@ -274,8 +274,8 @@
         pc.save(os.path.join(opts.output,"%s" % (pf)))
 
 def run_main():
-    if "--parallel" in sys.argv:
-        del sys.argv[sys.argv.index("--parallel")]
+    for co in ["--parallel", "--paste"]:
+        if co in sys.argv: del sys.argv[sys.argv.index(co)]
     YT = YTCommands()
     sys.exit(YT.main())
 

Modified: trunk/yt/funcs.py
==============================================================================
--- trunk/yt/funcs.py	(original)
+++ trunk/yt/funcs.py	Sat Dec 27 22:04:03 2008
@@ -23,7 +23,7 @@
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 """
 
-import time, types, signal, traceback
+import time, types, signal, traceback, sys
 import progressbar as pb
 from math import floor, ceil
 
@@ -35,6 +35,23 @@
 except ValueError:  # Not in main thread
     pass
 
+def paste_traceback(exc_type, exc, tb):
+    sys.__excepthook__(exc_type, exc, tb)
+    import xmlrpclib, cStringIO
+    p = xmlrpclib.ServerProxy(
+            "http://paste.enzotools.org/xmlrpc/",
+            allow_none=True)
+    s = cStringIO.StringIO()
+    traceback.print_exception(exc_type, exc, tb, file=s)
+    s = s.getvalue()
+    ret = p.pastes.newPaste('pytb', s, None, '', '', True)
+    print
+    print "Traceback pasted to http://paste.enzotools.org/show/%s" % (ret)
+    print
+
+if "--paste" in sys.argv:
+    sys.excepthook = paste_traceback
+
 def blank_wrapper(f):
     return lambda a: a
 



More information about the yt-svn mailing list