On 02/28/11 03:11 PM, Danek Duvall wrote:
Shawn Walker wrote:

On 02/28/11 02:46 PM, Danek Duvall wrote:
The code looks fine, but "130: 9:" is similarly inscrutable.  I'd rather
see something like

     error: invalid syntax on line 130, column 9, in modules/client/actuator.py:
     Text:         }

New diff:

diff -r 01699e7cb9d9 src/setup.py
--- a/src/setup.py      Fri Feb 25 15:09:57 2011 -0800
+++ b/src/setup.py      Mon Feb 28 15:11:23 2011 -0800
@@ -696,8 +696,18 @@
          try:
                  py_compile.compile(filename, os.devnull, doraise=True)
          except py_compile.PyCompileError, e:
-                raise DistutilsError("%s: failed syntax check: %s" %
-                    (filename, e))
+                res = ""
+                for err in e.exc_value:
+                        if isinstance(err, basestring):
+                                res += err + "\n"
+                                continue
+
+                        # Assume it's a tuple of (filename, lineno, col, code)
+                        fname, line, col, code = err
+                        res += "line %d, column %d, in %s:\n%s" % (line, col,
+                            fname, code)

I'm assuming that code here already has a newline at the end?  If so, LGTM.

Yes, since "code" is our actual code from the .py file, so any newlines we had in the file are included when printed.

-Shawn
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to