New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PATH]: Refactor/path module naming cleanup #7440
[PATH]: Refactor/path module naming cleanup #7440
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Quick initial look seems to work correctly, with a couple of exceptions.
Attempts at 3D Surface and 3D Waterline give error messages.
_SurfaceSupport.ERROR: PSF.isReady() no "Op.Surface" method.
Surface.ERROR: Failed to pre-process model and/or selected face(s).
_SurfaceSupport.ERROR: PSF.isReady() no "Op.Waterline" method.
Waterline.ERROR: Unable to pre-process obj.Base.
0a436c9
to
93112e6
Compare
Shall I build a snap for testers of this PR ? |
93112e6
to
c83a9a8
Compare
c83a9a8
to
b759d47
Compare
b759d47
to
b3b3403
Compare
b3b3403
to
304ed0b
Compare
304ed0b
to
351e3ad
Compare
351e3ad
to
005b0d3
Compare
cc19425
to
780699d
Compare
@Floriansimmer Is it possible to get any more information about why the github CI is failing? These unit tests pass locally on multiple platforms. |
780699d
to
d07cb93
Compare
d07cb93
to
f3f2c76
Compare
085c81b
to
1742dfc
Compare
dc44fce
to
c74a0ad
Compare
Since this PR is merged I get this error message when starting FreeCAD:
In the combo box the Path workbench is still listed and when I try to activate this error is raised:
|
Thanks for letting me know - I'll check it out tonight.
…On Thu, 13 Oct 2022 05:42:49 -0700 wwmayer ***@***.***> wrote:
Since this PR is merged I get this error message when starting
FreeCAD:
> Path WB not found
In the combo box the Path workbench is still listed and when I try to
activate this error is raised: ```
module 'Path.Tool' has no attribute 'Controller'
Traceback (most recent call last):
File "<string>", line 82, in Initialize
File
"/home/user/Projects/build_clang/Mod/Path/Path/Main/Gui/JobCmd.py",
line 29, in <module> import Path.Main.Gui.JobDlg as PathJobDlg File
"/home/user/Projects/build_clang/Mod/Path/Path/Main/Gui/JobDlg.py",
line 29, in <module> import Path.Main.Job as PathJob File
"/home/user/Projects/build_clang/Mod/Path/Path/Main/Job.py", line 31,
in <module> import Path.Tool.Controller as PathToolController File
"/home/user/Projects/build_clang/Mod/Path/Path/Tool/Controller.py",
line 351, in <module> from Path.Tool.Gui.Controller import
ViewProvider File
"/home/user/Projects/build_clang/Mod/Path/Path/Tool/Gui/Controller.py",
line 30, in <module> import Path.Tool.Controller as
PathToolController ```
|
I was able to solve the issue. Previously I've only deleted Mod/Path of my build directory but after realizing that another build works fine I now have deleted src/Mod/Path as well and after rebuilding it the issue is gone. |
Did this PR create this regression? https://forum.freecadweb.org/viewtopic.php?p=639162#p639162 |
Fwiw, appears to have happened in this commit |
It seems I messed up a rebase - will fix it tonight - sorry about that. |
Restructure the source code to bring some order into the python modules and make the code more digestible. It does away with most of the naming redundancy and clearly separates business logic from UI dependent code.
This also combines the C++ and python backed object classes in a single namespace. From the python side
Log
andGeom
are pulled into the top levelPath
namespace due to their universal usage. All other modules are in sub-modules.Going forward it should be noticeable if a module violates the dependency tree, introduces cyclic references or tries to pull UI logic into the backend business logic. Also, the new structure should be extensible in the future.