diff --git a/src/Mod/Fem/femguiutils/migrate_gui.py b/src/Mod/Fem/femguiutils/migrate_gui.py index b55f5b0033..709f5bc829 100644 --- a/src/Mod/Fem/femguiutils/migrate_gui.py +++ b/src/Mod/Fem/femguiutils/migrate_gui.py @@ -30,129 +30,73 @@ __title__ = "FEM GUI that migrates old scripted objects" __author__ = "Bernd Hahnebach" __url__ = "https://www.freecad.org" +from importlib.util import spec_from_loader + class FemMigrateGui: - def find_module(self, fullname, path): + def find_spec(self, fullname, path, target=None): - if fullname == "femguiobjects": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintBodyHeatSource": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintElectrostaticPotential": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintFlowVelocity": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintInitialFlowVelocity": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintSelfWeight": - return self - if fullname == "femguiobjects._ViewProviderFemConstraintTie": - return self - if fullname == "femguiobjects._ViewProviderFemElementFluid1D": - return self - if fullname == "femguiobjects._ViewProviderFemElementGeometry1D": - return self - if fullname == "femguiobjects._ViewProviderFemElementGeometry2D": - return self - if fullname == "femguiobjects._ViewProviderFemElementRotation1D": - return self - if fullname == "femguiobjects._ViewProviderFemMaterial": - return self - if fullname == "femguiobjects._ViewProviderFemMaterialMechanicalNonlinear": - return self - if fullname == "femguiobjects._ViewProviderFemMaterialReinforced": - return self - if fullname == "femguiobjects._ViewProviderFemMeshBoundaryLayer": - return self - if fullname == "femguiobjects._ViewProviderFemMeshGmsh": - return self - if fullname == "femguiobjects._ViewProviderFemMeshGroup": - return self - if fullname == "femguiobjects._ViewProviderFemMeshRegion": - return self - if fullname == "femguiobjects._ViewProviderFemMeshResult": - return self - if fullname == "femguiobjects._ViewProviderFemResultMechanical": - return self - if fullname == "femguiobjects._ViewProviderFemSolverCalculix": - return self - - if fullname == "PyGui": - return self - if fullname == "PyGui._ViewProviderFemConstraintBodyHeatSource": - return self - if fullname == "PyGui._ViewProviderFemConstraintElectrostaticPotential": - return self - if fullname == "PyGui._ViewProviderFemConstraintFlowVelocity": - return self - if fullname == "PyGui._ViewProviderFemConstraintSelfWeight": - return self - if fullname == "PyGui._ViewProviderFemElementFluid1D": - return self - if fullname == "PyGui._ViewProviderFemElementGeometry1D": - return self - if fullname == "PyGui._ViewProviderFemElementGeometry2D": - return self - if fullname == "PyGui._ViewProviderFemElementRotation1D": - return self - if fullname == "PyGui._ViewProviderFemMaterial": - return self - if fullname == "PyGui._ViewProviderFemMaterialMechanicalNonlinear": - return self - if fullname == "PyGui._ViewProviderFemMeshBoundaryLayer": - return self - if fullname == "PyGui._ViewProviderFemMeshGmsh": - return self - if fullname == "PyGui._ViewProviderFemMeshGroup": - return self - if fullname == "PyGui._ViewProviderFemMeshRegion": - return self - if fullname == "PyGui._ViewProviderFemMeshResult": - return self - if fullname == "PyGui._ViewProviderFemResultMechanical": - return self - if fullname == "PyGui._ViewProviderFemSolverCalculix": - return self - if fullname == "PyGui._ViewProviderFemSolverZ88": - return self - - if fullname == "PyGui._ViewProviderFemBeamSection": - return self - if fullname == "PyGui._ViewProviderFemFluidSection": - return self - if fullname == "PyGui._ViewProviderFemShellThickness": - return self - - if fullname == "_ViewProviderFemBeamSection": - return self - if fullname == "_ViewProviderFemConstraintSelfWeight": - return self - if fullname == "_ViewProviderFemMaterial": - return self - if fullname == "_ViewProviderFemMaterialMechanicalNonlinear": - return self - if fullname == "_ViewProviderFemMeshGmsh": - return self - if fullname == "_ViewProviderFemMeshGroup": - return self - if fullname == "_ViewProviderFemMeshRegion": - return self - if fullname == "_ViewProviderFemResultMechanical": - return self - if fullname == "_ViewProviderFemShellThickness": - return self - if fullname == "_ViewProviderFemSolverCalculix": - return self - if fullname == "_ViewProviderFemSolverZ88": - return self - - if fullname == "_ViewProviderFemMechanicalResult": - return self - if fullname == "ViewProviderFemResult": - return self - if fullname == "_ViewProviderMechanicalMaterial": - return self + if fullname in { + "femguiobjects", + "femguiobjects._ViewProviderFemConstraintBodyHeatSource", + "femguiobjects._ViewProviderFemConstraintElectrostaticPotential", + "femguiobjects._ViewProviderFemConstraintFlowVelocity", + "femguiobjects._ViewProviderFemConstraintInitialFlowVelocity", + "femguiobjects._ViewProviderFemConstraintSelfWeight", + "femguiobjects._ViewProviderFemConstraintTie", + "femguiobjects._ViewProviderFemElementFluid1D", + "femguiobjects._ViewProviderFemElementGeometry1D", + "femguiobjects._ViewProviderFemElementGeometry2D", + "femguiobjects._ViewProviderFemElementRotation1D", + "femguiobjects._ViewProviderFemMaterial", + "femguiobjects._ViewProviderFemMaterialMechanicalNonlinear", + "femguiobjects._ViewProviderFemMaterialReinforced", + "femguiobjects._ViewProviderFemMeshBoundaryLayer", + "femguiobjects._ViewProviderFemMeshGmsh", + "femguiobjects._ViewProviderFemMeshGroup", + "femguiobjects._ViewProviderFemMeshRegion", + "femguiobjects._ViewProviderFemMeshResult", + "femguiobjects._ViewProviderFemResultMechanical", + "femguiobjects._ViewProviderFemSolverCalculix", + "PyGui", + "PyGui._ViewProviderFemConstraintBodyHeatSource", + "PyGui._ViewProviderFemConstraintElectrostaticPotential", + "PyGui._ViewProviderFemConstraintFlowVelocity", + "PyGui._ViewProviderFemConstraintSelfWeight", + "PyGui._ViewProviderFemElementFluid1D", + "PyGui._ViewProviderFemElementGeometry1D", + "PyGui._ViewProviderFemElementGeometry2D", + "PyGui._ViewProviderFemElementRotation1D", + "PyGui._ViewProviderFemMaterial", + "PyGui._ViewProviderFemMaterialMechanicalNonlinear", + "PyGui._ViewProviderFemMeshBoundaryLayer", + "PyGui._ViewProviderFemMeshGmsh", + "PyGui._ViewProviderFemMeshGroup", + "PyGui._ViewProviderFemMeshRegion", + "PyGui._ViewProviderFemMeshResult", + "PyGui._ViewProviderFemResultMechanical", + "PyGui._ViewProviderFemSolverCalculix", + "PyGui._ViewProviderFemSolverZ88", + "PyGui._ViewProviderFemBeamSection", + "PyGui._ViewProviderFemFluidSection", + "PyGui._ViewProviderFemShellThickness", + "_ViewProviderFemBeamSection", + "_ViewProviderFemConstraintSelfWeight", + "_ViewProviderFemMaterial", + "_ViewProviderFemMaterialMechanicalNonlinear", + "_ViewProviderFemMeshGmsh", + "_ViewProviderFemMeshGroup", + "_ViewProviderFemMeshRegion", + "_ViewProviderFemResultMechanical", + "_ViewProviderFemShellThickness", + "_ViewProviderFemSolverCalculix", + "_ViewProviderFemSolverZ88", + "_ViewProviderFemMechanicalResult", + "ViewProviderFemResult", + "_ViewProviderMechanicalMaterial", + }: + return spec_from_loader(fullname, self) return None diff --git a/src/Mod/Fem/femtools/migrate_app.py b/src/Mod/Fem/femtools/migrate_app.py index 48a09fbe0f..902fcbcc2c 100644 --- a/src/Mod/Fem/femtools/migrate_app.py +++ b/src/Mod/Fem/femtools/migrate_app.py @@ -30,147 +30,81 @@ __title__ = "FEM class and methods that migrates old App objects" __author__ = "Bernd Hahnebach" __url__ = "https://www.freecad.org" +from importlib.util import spec_from_loader + import FreeCAD class FemMigrateApp: - def find_module(self, fullname, path): - - if fullname == "femsolver.elmer.equations": - return self - if fullname == "femsolver.elmer.equations.fluxsolver": - return self - - if fullname == "femobjects": - return self - if fullname == "femobjects._FemConstraintBodyHeatSource": - return self - if fullname == "femobjects._FemConstraintElectrostaticPotential": - return self - if fullname == "femobjects._FemConstraintFlowVelocity": - return self - if fullname == "femobjects._FemConstraintInitialFlowVelocity": - return self - if fullname == "femobjects._FemConstraintSelfWeight": - return self - if fullname == "femobjects._FemConstraintTie": - return self - if fullname == "femobjects._FemElementFluid1D": - return self - if fullname == "femobjects._FemElementGeometry1D": - return self - if fullname == "femobjects._FemElementGeometry2D": - return self - if fullname == "femobjects._FemElementRotation1D": - return self - if fullname == "femobjects._FemMaterial": - return self - if fullname == "femobjects._FemMaterialMechanicalNonlinear": - return self - if fullname == "femobjects._FemMaterialReinforced": - return self - if fullname == "femobjects._FemMeshBoundaryLayer": - return self - if fullname == "femobjects._FemMeshGmsh": - return self - if fullname == "femobjects._FemMeshGroup": - return self - if fullname == "femobjects._FemMeshRegion": - return self - if fullname == "femobjects._FemMeshResult": - return self - if fullname == "femobjects._FemResultMechanical": - return self - if fullname == "femobjects._FemSolverCalculix": - return self - - if fullname == "PyObjects": - return self - if fullname == "PyObjects._FemConstraintBodyHeatSource": - return self - if fullname == "PyObjects._FemConstraintElectrostaticPotential": - return self - if fullname == "PyObjects._FemConstraintFlowVelocity": - return self - if fullname == "PyObjects._FemConstraintInitialFlowVelocity": - return self - if fullname == "PyObjects._FemConstraintSelfWeight": - return self - if fullname == "PyObjects._FemElementFluid1D": - return self - if fullname == "PyObjects._FemElementGeometry1D": - return self - if fullname == "PyObjects._FemElementGeometry2D": - return self - if fullname == "PyObjects._FemElementRotation1D": - return self - if fullname == "PyObjects._FemMaterial": - return self - if fullname == "PyObjects._FemMaterialMechanicalNonlinear": - return self - if fullname == "PyObjects._FemMeshBoundaryLayer": - return self - if fullname == "PyObjects._FemMeshGmsh": - return self - if fullname == "PyObjects._FemMeshGroup": - return self - if fullname == "PyObjects._FemMeshRegion": - return self - if fullname == "PyObjects._FemMeshResult": - return self - if fullname == "PyObjects._FemResultMechanical": - return self - if fullname == "PyObjects._FemSolverCalculix": - return self - if fullname == "PyObjects._FemSolverZ88": - return self - - if fullname == "PyObjects._FemBeamSection": - return self - if fullname == "PyObjects._FemFluidSection": - return self - if fullname == "PyObjects._FemShellThickness": - return self - - if fullname == "_FemBeamSection": - return self - if fullname == "_FemConstraintSelfWeight": - return self - if fullname == "_FemMaterial": - return self - if fullname == "_FemMaterialMechanicalNonlinear": - return self - if fullname == "_FemMeshGmsh": - return self - if fullname == "_FemMeshGroup": - return self - if fullname == "_FemMeshRegion": - return self - if fullname == "_FemResultMechanical": - return self - if fullname == "_FemShellThickness": - return self - if fullname == "_FemSolverCalculix": - return self - if fullname == "_FemSolverZ88": - return self - - if fullname == "_FemMechanicalResult": - return self - if fullname == "FemResult": - return self - if fullname == "_MechanicalMaterial": - return self - - if fullname == "FemBeamSection": - return self - if fullname == "FemShellThickness": - return self - if fullname == "MechanicalAnalysis": - return self - if fullname == "MechanicalMaterial": - return self + def find_spec(self, fullname, path, target=None): + if fullname in { + "femsolver.elmer.equations", + "femsolver.elmer.equations.fluxsolver", + "femobjects", + "femobjects._FemConstraintBodyHeatSource", + "femobjects._FemConstraintElectrostaticPotential", + "femobjects._FemConstraintFlowVelocity", + "femobjects._FemConstraintInitialFlowVelocity", + "femobjects._FemConstraintSelfWeight", + "femobjects._FemConstraintTie", + "femobjects._FemElementFluid1D", + "femobjects._FemElementGeometry1D", + "femobjects._FemElementGeometry2D", + "femobjects._FemElementRotation1D", + "femobjects._FemMaterial", + "femobjects._FemMaterialMechanicalNonlinear", + "femobjects._FemMaterialReinforced", + "femobjects._FemMeshBoundaryLayer", + "femobjects._FemMeshGmsh", + "femobjects._FemMeshGroup", + "femobjects._FemMeshRegion", + "femobjects._FemMeshResult", + "femobjects._FemResultMechanical", + "femobjects._FemSolverCalculix", + "PyObjects", + "PyObjects._FemConstraintBodyHeatSource", + "PyObjects._FemConstraintElectrostaticPotential", + "PyObjects._FemConstraintFlowVelocity", + "PyObjects._FemConstraintInitialFlowVelocity", + "PyObjects._FemConstraintSelfWeight", + "PyObjects._FemElementFluid1D", + "PyObjects._FemElementGeometry1D", + "PyObjects._FemElementGeometry2D", + "PyObjects._FemElementRotation1D", + "PyObjects._FemMaterial", + "PyObjects._FemMaterialMechanicalNonlinear", + "PyObjects._FemMeshBoundaryLayer", + "PyObjects._FemMeshGmsh", + "PyObjects._FemMeshGroup", + "PyObjects._FemMeshRegion", + "PyObjects._FemMeshResult", + "PyObjects._FemResultMechanical", + "PyObjects._FemSolverCalculix", + "PyObjects._FemSolverZ88", + "PyObjects._FemBeamSection", + "PyObjects._FemFluidSection", + "PyObjects._FemShellThickness", + "_FemBeamSection", + "_FemConstraintSelfWeight", + "_FemMaterial", + "_FemMaterialMechanicalNonlinear", + "_FemMeshGmsh", + "_FemMeshGroup", + "_FemMeshRegion", + "_FemResultMechanical", + "_FemShellThickness", + "_FemSolverCalculix", + "_FemSolverZ88", + "_FemMechanicalResult", + "FemResult", + "_MechanicalMaterial", + "FemBeamSection", + "FemShellThickness", + "MechanicalAnalysis", + "MechanicalMaterial", + }: + return spec_from_loader(fullname, self) return None def create_module(self, spec):