diff --git a/meshroom/core/__init__.py b/meshroom/core/__init__.py index 3c9522a6..c6853812 100644 --- a/meshroom/core/__init__.py +++ b/meshroom/core/__init__.py @@ -1,3 +1,4 @@ +from __future__ import print_function import importlib import inspect import os @@ -24,10 +25,9 @@ def add_to_path(p): sys.path = old_path -def loadNodesDesc(folder, packageName='nodes'): +def loadNodes(folder, packageName): """ """ - global nodesDesc nodeTypes = [] errors = [] @@ -54,16 +54,24 @@ def loadNodesDesc(folder, packageName='nodes'): except Exception as e: errors.append(' * Errors while loading "{}".\n File: {}\n {}'.format(pluginName, pluginFile, str(e))) - nodesDesc = dict([(m.__name__, m) for m in nodeTypes]) - print('Plugins loaded: ', ', '.join(nodesDesc.keys())) - if errors: - print('== Error while loading the following plugins: ==') - print('\n'.join(errors)) - print('================================================') - + if errors: + print('== Error while loading the following plugins: ==') + print('\n'.join(errors)) + print('================================================') return nodeTypes +def loadAllNodes(folder): + global nodesDesc + for f in os.listdir(folder): + if os.path.isdir(os.path.join(folder, f)): + nodeTypes = loadNodes(folder, f) + + nodes = dict([(m.__name__, m) for m in nodeTypes]) + print('Plugins loaded: ', ', '.join(nodes.keys())) + nodesDesc.update(nodes) + + # Load plugins -# TODO: seems "risky" at module level, should be in a registerNodes function in meshroom package -loadNodesDesc(folder=os.path.dirname(os.path.dirname(__file__))) +meshroomFolder = os.path.dirname(os.path.dirname(__file__)) +loadAllNodes(folder=os.path.join(meshroomFolder, 'nodes')) diff --git a/meshroom/nodes/CamPairs.py b/meshroom/nodes/aliceVision/CamPairs.py similarity index 100% rename from meshroom/nodes/CamPairs.py rename to meshroom/nodes/aliceVision/CamPairs.py diff --git a/meshroom/nodes/CameraInit.py b/meshroom/nodes/aliceVision/CameraInit.py similarity index 100% rename from meshroom/nodes/CameraInit.py rename to meshroom/nodes/aliceVision/CameraInit.py diff --git a/meshroom/nodes/DepthMap.py b/meshroom/nodes/aliceVision/DepthMap.py similarity index 100% rename from meshroom/nodes/DepthMap.py rename to meshroom/nodes/aliceVision/DepthMap.py diff --git a/meshroom/nodes/DepthMapFilter.py b/meshroom/nodes/aliceVision/DepthMapFilter.py similarity index 100% rename from meshroom/nodes/DepthMapFilter.py rename to meshroom/nodes/aliceVision/DepthMapFilter.py diff --git a/meshroom/nodes/FeatureExtraction.py b/meshroom/nodes/aliceVision/FeatureExtraction.py similarity index 100% rename from meshroom/nodes/FeatureExtraction.py rename to meshroom/nodes/aliceVision/FeatureExtraction.py diff --git a/meshroom/nodes/FeatureMatching.py b/meshroom/nodes/aliceVision/FeatureMatching.py similarity index 100% rename from meshroom/nodes/FeatureMatching.py rename to meshroom/nodes/aliceVision/FeatureMatching.py diff --git a/meshroom/nodes/Fuse.py b/meshroom/nodes/aliceVision/Fuse.py similarity index 100% rename from meshroom/nodes/Fuse.py rename to meshroom/nodes/aliceVision/Fuse.py diff --git a/meshroom/nodes/ImageMatching.py b/meshroom/nodes/aliceVision/ImageMatching.py similarity index 100% rename from meshroom/nodes/ImageMatching.py rename to meshroom/nodes/aliceVision/ImageMatching.py diff --git a/meshroom/nodes/Meshing.py b/meshroom/nodes/aliceVision/Meshing.py similarity index 100% rename from meshroom/nodes/Meshing.py rename to meshroom/nodes/aliceVision/Meshing.py diff --git a/meshroom/nodes/PrepareDenseScene.py b/meshroom/nodes/aliceVision/PrepareDenseScene.py similarity index 100% rename from meshroom/nodes/PrepareDenseScene.py rename to meshroom/nodes/aliceVision/PrepareDenseScene.py diff --git a/meshroom/nodes/StructureFromMotion.py b/meshroom/nodes/aliceVision/StructureFromMotion.py similarity index 100% rename from meshroom/nodes/StructureFromMotion.py rename to meshroom/nodes/aliceVision/StructureFromMotion.py diff --git a/meshroom/nodes/Texturing.py b/meshroom/nodes/aliceVision/Texturing.py similarity index 100% rename from meshroom/nodes/Texturing.py rename to meshroom/nodes/aliceVision/Texturing.py diff --git a/meshroom/nodes/aliceVision/__init__.py b/meshroom/nodes/aliceVision/__init__.py new file mode 100644 index 00000000..d879df15 --- /dev/null +++ b/meshroom/nodes/aliceVision/__init__.py @@ -0,0 +1,2 @@ +__version__ = 'develop' + diff --git a/meshroom/nodes/test/__init__.py b/meshroom/nodes/test/__init__.py new file mode 100644 index 00000000..d879df15 --- /dev/null +++ b/meshroom/nodes/test/__init__.py @@ -0,0 +1,2 @@ +__version__ = 'develop' + diff --git a/meshroom/nodes/appendText.py b/meshroom/nodes/test/appendText.py similarity index 100% rename from meshroom/nodes/appendText.py rename to meshroom/nodes/test/appendText.py diff --git a/meshroom/nodes/ls.py b/meshroom/nodes/test/ls.py similarity index 100% rename from meshroom/nodes/ls.py rename to meshroom/nodes/test/ls.py