diff --git a/src/Mod/Path/PathScripts/PathCircularHoleBase.py b/src/Mod/Path/PathScripts/PathCircularHoleBase.py index 7983b5efb33b..12daca556797 100644 --- a/src/Mod/Path/PathScripts/PathCircularHoleBase.py +++ b/src/Mod/Path/PathScripts/PathCircularHoleBase.py @@ -143,7 +143,7 @@ def holeDiameter(self, obj, base, sub): return shape.Curve.Radius * 2 if shape.ShapeType == 'Face': - for i in range(len(shape.Edges)): + for i in range(len(shape.Edges)): if (type(shape.Edges[i].Curve) == Part.Circle and shape.Edges[i].Curve.Radius * 2 < shape.BoundBox.XLength*1.1 and shape.Edges[i].Curve.Radius * 2 > shape.BoundBox.XLength*0.9): diff --git a/src/Mod/Path/PathScripts/PathDressupHoldingTags.py b/src/Mod/Path/PathScripts/PathDressupHoldingTags.py index 38297e917f20..cb24e5e39379 100644 --- a/src/Mod/Path/PathScripts/PathDressupHoldingTags.py +++ b/src/Mod/Path/PathScripts/PathDressupHoldingTags.py @@ -759,7 +759,13 @@ def __init__(self, obj, base): obj.addProperty("App::PropertyIntegerList", "Disabled", "Tag", QtCore.QT_TRANSLATE_NOOP("Path_DressupTag", "IDs of disabled holding tags")) obj.addProperty("App::PropertyInteger", "SegmentationFactor", "Tag", QtCore.QT_TRANSLATE_NOOP("Path_DressupTag", "Factor determining the # of segments used to approximate rounded tags.")) - self.__setstate__(obj) + # for pylint ... + self.obj = obj + self.solids = [] + self.tags = [] + self.pathData = None + self.toolRadius = None + self.mappers = [] obj.Proxy = self obj.Base = base diff --git a/src/Mod/Path/PathScripts/PathDrillingGui.py b/src/Mod/Path/PathScripts/PathDrillingGui.py index 11504c4bc674..6d8d8249a463 100644 --- a/src/Mod/Path/PathScripts/PathDrillingGui.py +++ b/src/Mod/Path/PathScripts/PathDrillingGui.py @@ -51,6 +51,7 @@ class TaskPanelOpPage(PathCircularHoleBaseGui.TaskPanelOpPage): '''Controller for the drilling operation's page''' def initPage(self, obj): + # pylint: disable=attribute-defined-outside-init self.peckDepthSpinBox = PathGui.QuantitySpinBox(self.form.peckDepth, obj, 'PeckDepth') self.peckRetractSpinBox = PathGui.QuantitySpinBox(self.form.peckRetractHeight, obj, 'RetractHeight') self.dwellTimeSpinBox = PathGui.QuantitySpinBox(self.form.dwellTime, obj, 'DwellTime') @@ -80,6 +81,7 @@ def getForm(self): return FreeCADGui.PySideUic.loadUi(":/panels/PageOpDrillingEdit.ui") def updateQuantitySpinBoxes(self, index = None): + # pylint: disable=unused-argument self.peckDepthSpinBox.updateSpinBox() self.peckRetractSpinBox.updateSpinBox() self.dwellTimeSpinBox.updateSpinBox() diff --git a/src/Mod/Path/PathScripts/PathMillFace.py b/src/Mod/Path/PathScripts/PathMillFace.py index cb6c02f08077..3a32be98442c 100644 --- a/src/Mod/Path/PathScripts/PathMillFace.py +++ b/src/Mod/Path/PathScripts/PathMillFace.py @@ -131,7 +131,7 @@ def areaOpShapes(self, obj): else: holes.append((b[0].Shape, wire)) else: - PathLog.error('The base subobject, "{}," is not a face. Ignoring "{}."'.format(sub, sub)) + PathLog.error('The base subobject, "{0}," is not a face. Ignoring "{0}."'.format(sub)) if obj.ExcludeRaisedAreas is True and len(holes) > 0: for shape, wire in holes: diff --git a/src/Mod/Path/PathScripts/PathToolBit.py b/src/Mod/Path/PathScripts/PathToolBit.py index 2aaa54c0a825..9b26ed849ba6 100644 --- a/src/Mod/Path/PathScripts/PathToolBit.py +++ b/src/Mod/Path/PathScripts/PathToolBit.py @@ -311,6 +311,7 @@ def __init__(self): class ToolBitFactory(object): def CreateFromAttrs(self, attrs, name='ToolBit'): + # pylint: disable=protected-access obj = Factory.Create(name, attrs['shape']) obj.Label = attrs['name'] params = attrs['parameter'] diff --git a/src/Mod/Path/PathScripts/PathToolBitEdit.py b/src/Mod/Path/PathScripts/PathToolBitEdit.py index 141cb898e566..9cddec80bcb2 100644 --- a/src/Mod/Path/PathScripts/PathToolBitEdit.py +++ b/src/Mod/Path/PathScripts/PathToolBitEdit.py @@ -22,16 +22,13 @@ # * * # *************************************************************************** -import FreeCAD import FreeCADGui -import Path import PathScripts.PathGui as PathGui import PathScripts.PathLog as PathLog import PathScripts.PathPreferences as PathPreferences import PathScripts.PathSetupSheetGui as PathSetupSheetGui import PathScripts.PathToolBit as PathToolBit -import copy -import math +import os import re from PySide import QtCore, QtGui @@ -122,6 +119,7 @@ def setupAttributes(self, tool): self.model.dataChanged.connect(self.updateData) def updateData(self, topLeft, bottomRight): + # pylint: disable=unused-argument if 0 == topLeft.column(): isset = self.model.item(topLeft.row(), 0).checkState() == QtCore.Qt.Checked self.model.item(topLeft.row(), 1).setEnabled(isset) @@ -138,11 +136,10 @@ def accept(self): if enabled and not prop.getValue() is None: prop.setupProperty(self.tool, name, PathToolBit.PropertyGroupAttribute, prop.getValue()) elif hasattr(self.tool, name): - self.obj.removeProperty(name) + self.tool.removeProperty(name) def reject(self): self.tool.Proxy.unloadBitBody(self.tool) - pass def updateUI(self): PathLog.track() @@ -161,6 +158,7 @@ def updateShape(self): self.bitEditor[editor].updateSpinBox() def updateTool(self): + # pylint: disable=protected-access PathLog.track() self.tool.Label = str(self.form.toolName.text()) self.tool.BitShape = str(self.form.shapePath.text()) diff --git a/src/Mod/Path/PathScripts/PathToolBitGui.py b/src/Mod/Path/PathScripts/PathToolBitGui.py index f1d6ec9f5f7b..abab173c7c08 100644 --- a/src/Mod/Path/PathScripts/PathToolBitGui.py +++ b/src/Mod/Path/PathScripts/PathToolBitGui.py @@ -24,13 +24,11 @@ import FreeCAD import FreeCADGui -import PathScripts.PathGui as PathGui import PathScripts.PathIconViewProvider as PathIconViewProvider import PathScripts.PathLog as PathLog import PathScripts.PathPreferences as PathPreferences import PathScripts.PathToolBit as PathToolBit import PathScripts.PathToolBitEdit as PathToolBitEdit -import PathScripts.PathUtil as PathUtil import os from PySide import QtCore, QtGui @@ -53,6 +51,7 @@ class ViewProvider(object): def __init__(self, vobj, name): PathLog.track(name, vobj.Object) + self.panel = None self.icon = name self.obj = vobj.Object self.vobj = vobj @@ -84,10 +83,10 @@ def getDisplayMode(self, mode): def _openTaskPanel(self, vobj, deleteOnReject): PathLog.track() - self.taskPanel = TaskPanel(vobj, deleteOnReject) + self.panel = TaskPanel(vobj, deleteOnReject) FreeCADGui.Control.closeDialog() - FreeCADGui.Control.showDialog(self.taskPanel) - self.taskPanel.setupUi() + FreeCADGui.Control.showDialog(self.panel) + self.panel.setupUi() def setCreate(self, vobj): PathLog.track() @@ -101,7 +100,7 @@ def setEdit(self, vobj, mode=0): def unsetEdit(self, vobj, mode): # pylint: disable=unused-argument FreeCADGui.Control.closeDialog() - self.taskPanel = None + self.panel = None return def claimChildren(self): @@ -143,9 +142,6 @@ def accept(self): FreeCADGui.Control.closeDialog() FreeCAD.ActiveDocument.recompute() - def getFields(self): - self.editor.getFields() - def updateUI(self): self.editor.updateUI() @@ -153,9 +149,6 @@ def updateModel(self): self.editor.updateTool() FreeCAD.ActiveDocument.recompute() - def setFields(self): - self.editor.setFields() - def setupUi(self): self.editor.setupUI() @@ -164,6 +157,9 @@ class ToolBitSelector(object): ToolRole = QtCore.Qt.UserRole + 1 def __init__(self): + self.buttons = None + self.editor = None + self.dialog = None self.form = FreeCADGui.PySideUic.loadUi(':/panels/ToolBitSelector.ui') self.setupUI() diff --git a/src/Mod/Path/PathScripts/PathToolBitLibraryGui.py b/src/Mod/Path/PathScripts/PathToolBitLibraryGui.py index b5aba5def222..92f2d381a96c 100644 --- a/src/Mod/Path/PathScripts/PathToolBitLibraryGui.py +++ b/src/Mod/Path/PathScripts/PathToolBitLibraryGui.py @@ -32,7 +32,7 @@ import json import os import traceback -import uuid +import uuid as UUID PathLog.setLevel(PathLog.Level.DEBUG, PathLog.thisModule()) PathLog.trackModule(PathLog.thisModule()) @@ -70,7 +70,6 @@ def _rowWithUuid(self, uuid): def _copyTool(self, uuid_, dstRow): model = self.model() - items = [] model.insertRow(dstRow) srcRow = self._rowWithUuid(uuid_) for col in range(model.columnCount()): @@ -81,7 +80,7 @@ def _copyTool(self, uuid_, dstRow): model.setData(model.index(dstRow, col), srcItem.data(_PathRole), _PathRole) # Even a clone of a tool gets its own uuid so it can be identified when # rearranging the order or inserting/deleting rows - model.setData(model.index(dstRow, col), uuid.uuid4(), _UuidRole) + model.setData(model.index(dstRow, col), UUID.uuid4(), _UuidRole) else: model.item(dstRow, col).setEditable(False) @@ -96,6 +95,7 @@ def dropEvent(self, event): stream = PySide.QtCore.QDataStream(data) srcRows = [] while not stream.atEnd(): + # pylint: disable=unused-variable row = stream.readInt32() srcRows.append(row) col = stream.readInt32() @@ -141,7 +141,7 @@ def _toolAdd(self, nr, tool, path): toolNr = PySide.QtGui.QStandardItem() toolNr.setData(nr, PySide.QtCore.Qt.EditRole) toolNr.setData(path, _PathRole) - toolNr.setData(uuid.uuid4(), _UuidRole) + toolNr.setData(UUID.uuid4(), _UuidRole) toolName = PySide.QtGui.QStandardItem() toolName.setData(tool['name'], PySide.QtCore.Qt.EditRole) @@ -159,6 +159,7 @@ def _toolAdd(self, nr, tool, path): def toolAdd(self): PathLog.track() + # pylint: disable=broad-except try: nr = 0 for row in range(self.model.rowCount()): @@ -170,7 +171,7 @@ def toolAdd(self): tool = PathToolBit.Declaration(foo) self._toolAdd(nr + i, tool, foo) self.toolTableView.resizeColumnsToContents() - except: + except Exception: PathLog.error('something happened') PathLog.error(traceback.print_exc()) @@ -198,6 +199,7 @@ def toolEnumerate(self): self.model.setData(self.model.index(row, 0), row + 1, PySide.QtCore.Qt.EditRole) def toolSelect(self, selected, deselected): + # pylint: disable=unused-argument self.form.toolDelete.setEnabled(len(self.toolTableView.selectedIndexes()) > 0) def open(self, path=None, dialog=False): diff --git a/src/Mod/Path/PathScripts/PathToolController.py b/src/Mod/Path/PathScripts/PathToolController.py index 57fbf2e87cae..96cc49e8e361 100644 --- a/src/Mod/Path/PathScripts/PathToolController.py +++ b/src/Mod/Path/PathScripts/PathToolController.py @@ -82,6 +82,7 @@ def onDocumentRestored(self, obj): obj.setEditorMode('Placement', 2) def onDelete(self, obj, arg2=None): + # pylint: disable=unused-argument if not self.usesLegacyTool(obj): if len(obj.Tool.InList) == 1: obj.Document.removeObject(obj.Tool.Name) @@ -214,6 +215,7 @@ def Create(name = 'Default Tool', tool=None, toolNumber=1, assignViewProvider=Tr return obj def FromTemplate(template, assignViewProvider=True): + # pylint: disable=unused-argument PathLog.track() name = template.get(ToolControllerTemplate.Name, ToolControllerTemplate.Label) diff --git a/src/Mod/Path/PathScripts/PathToolControllerGui.py b/src/Mod/Path/PathScripts/PathToolControllerGui.py index 3a82f0fc412b..3a05fbe301f3 100644 --- a/src/Mod/Path/PathScripts/PathToolControllerGui.py +++ b/src/Mod/Path/PathScripts/PathToolControllerGui.py @@ -28,7 +28,6 @@ import PathScripts import PathScripts.PathGui as PathGui import PathScripts.PathLog as PathLog -import PathScripts.PathToolBit as PathToolBit import PathScripts.PathToolBitGui as PathToolBitGui import PathScripts.PathToolEdit as PathToolEdit import PathScripts.PathUtil as PathUtil diff --git a/src/Mod/Path/PathTests/TestPathHelix.py b/src/Mod/Path/PathTests/TestPathHelix.py index de6c5527a7f7..9f72ab4cc291 100644 --- a/src/Mod/Path/PathTests/TestPathHelix.py +++ b/src/Mod/Path/PathTests/TestPathHelix.py @@ -36,6 +36,7 @@ class TestPathHelix(PathTestUtils.PathTestBase): def setUp(self): + self.clone = None self.doc = FreeCAD.open(FreeCAD.getHomePath() + 'Mod/Path/PathTests/test_holes00.fcstd') self.job = PathJob.Create('Job', [self.doc.Body]) diff --git a/src/Mod/Path/PathTests/TestPathToolBit.py b/src/Mod/Path/PathTests/TestPathToolBit.py index 1b1f2ba71464..b7e27c184225 100644 --- a/src/Mod/Path/PathTests/TestPathToolBit.py +++ b/src/Mod/Path/PathTests/TestPathToolBit.py @@ -29,16 +29,16 @@ class TestPathToolBit(PathTestUtils.PathTestBase): def test00(self): - '''Find a tool template from file name''' + '''Find a tool shapee from file name''' - path = PathToolBit.findTemplate('endmill-straight.fcstd') + path = PathToolBit.findShape('endmill-straight.fcstd') self.assertIsNot(path, None) self.assertNotEqual(path, 'endmill-straight.fcstd') def test01(self): - '''Find a tool template from an invalid absolute path.''' + '''Find a tool shapee from an invalid absolute path.''' - path = PathToolBit.findTemplate('/this/is/unlikely/a/valid/path/v-bit.fcstd') + path = PathToolBit.findShape('/this/is/unlikely/a/valid/path/v-bit.fcstd') self.assertIsNot(path, None) self.assertNotEqual(path, '/this/is/unlikely/a/valid/path/v-bit.fcstd') diff --git a/src/Mod/Path/utils/path-lint.sh b/src/Mod/Path/utils/path-lint.sh index f0106ca82d03..def379183c50 100755 --- a/src/Mod/Path/utils/path-lint.sh +++ b/src/Mod/Path/utils/path-lint.sh @@ -56,6 +56,7 @@ EXTERNAL_MODULES+=' Path' EXTERNAL_MODULES+=' PySide' EXTERNAL_MODULES+=' PySide.QtCore' EXTERNAL_MODULES+=' PySide.QtGui' +EXTERNAL_MODULES+=' Sketcher' EXTERNAL_MODULES+=' TechDraw' EXTERNAL_MODULES+=' TestSketcherApp' EXTERNAL_MODULES+=' area'