You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by rd...@apache.org on 2010/05/28 22:20:42 UTC

svn commit: r949280 - in /subversion/trunk/subversion/bindings/swig/python: libsvn_swig_py/swigutil_py.c svn/core.py

Author: rdonch
Date: Fri May 28 20:20:42 2010
New Revision: 949280

URL: http://svn.apache.org/viewvc?rev=949280&view=rev
Log:
Revert r949242 and do something better instead: give SubversionException a
__str__ which will dump the whole error chain.

* subversion/bindings/swig/python/svn/core.py:
  (SubversionException.__str__): New function.

* subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c:
  (svn_swig_py_svn_exception): Don't strip traced errors.


Modified:
    subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
    subversion/trunk/subversion/bindings/swig/python/svn/core.py

Modified: subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c?rev=949280&r1=949279&r2=949280&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c (original)
+++ subversion/trunk/subversion/bindings/swig/python/libsvn_swig_py/swigutil_py.c Fri May 28 20:20:42 2010
@@ -347,11 +347,6 @@ void svn_swig_py_svn_exception(svn_error
   if (error_chain == NULL)
     return;
 
-  /* ### It'd be really nifty to display the entire stack trace in
-         python-land (similar to what we do in JavaHL), but since that's
-         out of my league, we settle with just purging the traced frames. */
-  error_chain = svn_error_purge_tracing(error_chain);
-
   /* Start with no references. */
   args_list = args = apr_err_ob = message_ob = file_ob = line_ob = NULL;
   svn_module = exc_class = exc_ob = NULL;

Modified: subversion/trunk/subversion/bindings/swig/python/svn/core.py
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/bindings/swig/python/svn/core.py?rev=949280&r1=949279&r2=949280&view=diff
==============================================================================
--- subversion/trunk/subversion/bindings/swig/python/svn/core.py (original)
+++ subversion/trunk/subversion/bindings/swig/python/svn/core.py Fri May 28 20:20:42 2010
@@ -66,6 +66,15 @@ class SubversionException(Exception):
     self.file = file
     self.line = line
 
+  def __str__(self):
+    dump = '%d - %s' % (self.apr_err, self.message)
+    if self.file != None:    
+      dump = dump + '\n at %s:%d' % (self.file, self.line)
+    if self.child != None:
+      dump = dump + '\n' + self.child.__str__()
+
+    return dump
+
   @classmethod
   def _new_from_err_list(cls, errors):
     """Return new Subversion exception object from list of svn_error_t data.