From 89f3d6e3e3c1aab6a08817e96c55a8b638967dce Mon Sep 17 00:00:00 2001 From: Juan Pablo Caram Date: Mon, 30 Nov 2015 12:36:03 -0500 Subject: [PATCH] Added line number information to status bar message on parse error. --- FlatCAMApp.py | 2 +- FlatCAMGUI.py | 2 ++ camlib.py | 7 ++++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/FlatCAMApp.py b/FlatCAMApp.py index 4a67d629..9e4eab4d 100644 --- a/FlatCAMApp.py +++ b/FlatCAMApp.py @@ -1634,7 +1634,7 @@ class App(QtCore.QObject): raise IOError('Failed to open file: ' + filename) except ParseError, e: - app_obj.inform.emit("[error] Failed to parse file: " + filename) + app_obj.inform.emit("[error] Failed to parse file: " + filename + ". " + e[0]) app_obj.progress.emit(0) self.log.error(str(e)) raise diff --git a/FlatCAMGUI.py b/FlatCAMGUI.py index 6d981bff..4e5d467a 100644 --- a/FlatCAMGUI.py +++ b/FlatCAMGUI.py @@ -300,6 +300,7 @@ class FlatCAMInfoBar(QtGui.QWidget): self.text = QtGui.QLabel(self) self.text.setText("Hello!") + self.text.setToolTip("Hello!") layout.addWidget(self.text) @@ -307,6 +308,7 @@ class FlatCAMInfoBar(QtGui.QWidget): def set_text_(self, text): self.text.setText(text) + self.text.setToolTip(text) def set_status(self, text, level="info"): level = str(level) diff --git a/camlib.py b/camlib.py index 23d55665..ae85ddaa 100644 --- a/camlib.py +++ b/camlib.py @@ -14,6 +14,8 @@ from numpy import arctan2, Inf, array, sqrt, pi, ceil, sin, cos, dot, float32, \ from numpy.linalg import solve, norm from matplotlib.figure import Figure import re +import sys +import traceback import collections import numpy as np @@ -2054,9 +2056,12 @@ class Gerber (Geometry): self.solid_geometry = self.solid_geometry.difference(new_poly) except Exception, err: + ex_type, ex, tb = sys.exc_info() + traceback.print_tb(tb) #print traceback.format_exc() + log.error("PARSING FAILED. Line %d: %s" % (line_num, gline)) - raise ParseError("%s\nLine %d: %s" % (repr(err), line_num, gline)) + raise ParseError("Line %d: %s" % (line_num, gline), repr(err)) @staticmethod def create_flash_geometry(location, aperture):