From 760a2c1af9ef8e7c710759d32bec0dbea35d990e Mon Sep 17 00:00:00 2001 From: DeepSOIC Date: Tue, 21 Nov 2017 18:52:19 +0300 Subject: [PATCH] Py3: a few more fixes --- lattice2AttachablePlacement.py | 1 + lattice2BaseFeature.py | 20 +++++++++++++------- lattice2ValueSeriesGenerator.py | 2 +- 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/lattice2AttachablePlacement.py b/lattice2AttachablePlacement.py index 6420562..ec65e72 100644 --- a/lattice2AttachablePlacement.py +++ b/lattice2AttachablePlacement.py @@ -129,6 +129,7 @@ def CreateAttachablePlacement(name): FreeCAD.ActiveDocument.openTransaction("Create Attachable Placement") FreeCADGui.addModule("lattice2AttachablePlacement") FreeCADGui.addModule("lattice2Executer") + FreeCADGui.addModule("PartGui") FreeCADGui.doCommand("f = lattice2AttachablePlacement.makeAttachablePlacement(name='"+name+"')") FreeCADGui.doCommand("lattice2Executer.executeFeature(f)") FreeCADGui.doCommand("PartGui.AttachmentEditor.editAttachment(f, take_selection= True," diff --git a/lattice2BaseFeature.py b/lattice2BaseFeature.py index ed41f98..5a50cd0 100644 --- a/lattice2BaseFeature.py +++ b/lattice2BaseFeature.py @@ -195,11 +195,14 @@ class LatticeFeature(): return [] def verifyIntegrity(self): - if self.__init__.__func__ is not LatticeFeature.__init__.__func__: - FreeCAD.Console.PrintError("__init__() of lattice object is overridden. Please don't! Fix it!\n") - if self.execute.__func__ is not LatticeFeature.execute.__func__: - FreeCAD.Console.PrintError("execute() of lattice object is overridden. Please don't! Fix it!\n") - + try: + if self.__init__.__func__ is not LatticeFeature.__init__.__func__: + FreeCAD.Console.PrintError("__init__() of lattice object is overridden. Please don't! Fix it!\n") + if self.execute.__func__ is not LatticeFeature.execute.__func__: + FreeCAD.Console.PrintError("execute() of lattice object is overridden. Please don't! Fix it!\n") + except AttributeError as err: + pass # quick-n-dirty fix for Py3. TODO: restore the functionality in Py3, or remove this routine altogether. + def onChanged(self, obj, prop): #prop is a string - name of the property if prop == 'isLattice': if obj.ViewObject is not None: @@ -244,8 +247,11 @@ class ViewProviderLatticeFeature: pass def verifyIntegrity(self): - if self.__init__.__func__ is not ViewProviderLatticeFeature.__init__.__func__: - FreeCAD.Console.PrintError("__init__() of lattice object view provider is overridden. Please don't! Fix it!\n") + try: + if self.__init__.__func__ is not ViewProviderLatticeFeature.__init__.__func__: + FreeCAD.Console.PrintError("__init__() of lattice object view provider is overridden. Please don't! Fix it!\n") + except AttributeError as err: + pass # quick-n-dirty fix for Py3. TODO: restore the functionality in Py3, or remove this routine altogether. def getIcon(self): return getIconPath("Lattice.svg") diff --git a/lattice2ValueSeriesGenerator.py b/lattice2ValueSeriesGenerator.py index 118fe4b..b772a34 100644 --- a/lattice2ValueSeriesGenerator.py +++ b/lattice2ValueSeriesGenerator.py @@ -129,7 +129,7 @@ class ValueSeriesGenerator: self.readonlynessDict[propname] = bool_writable def _setPropertyWritable(self, propname, bool_writable, suppress_warning = False): - if self.readonlynessDict.has_key(propname): + if propname in self.readonlynessDict: bool_writable = bool_writable and self.readonlynessDict[propname] self.documentObject.setEditorMode(propname, 0 if bool_writable else 1)