From cdcc8df33e90790c92d1d175cd4dffdb089db260 Mon Sep 17 00:00:00 2001 From: Yann Lanthony Date: Fri, 17 Nov 2017 18:59:27 +0100 Subject: [PATCH] [nodes] Publish: move filepaths resolution into a method --- meshroom/nodes/aliceVision/Publish.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/meshroom/nodes/aliceVision/Publish.py b/meshroom/nodes/aliceVision/Publish.py index a331520a..16ee964c 100644 --- a/meshroom/nodes/aliceVision/Publish.py +++ b/meshroom/nodes/aliceVision/Publish.py @@ -30,6 +30,13 @@ class Publish(desc.Node): ), ] + def resolvedPaths(self, inputFiles, outDir): + paths = {} + for inputFile in inputFiles: + for f in glob.glob(inputFile.value): + paths[f] = os.path.join(outDir, os.path.basename(f)) + return paths + def processChunk(self, chunk): print("Publish") if not chunk.node.inputFiles: @@ -38,19 +45,15 @@ class Publish(desc.Node): if not chunk.node.output.value: return - inputFiles = [] - for inputFile in chunk.node.inputFiles: - iFiles = glob.glob(inputFile.value) - inputFiles.extend(iFiles) - if not inputFiles: - raise RuntimeError("Publish: input files listed, but nothing to publish. Listed input files: {}".format(node.inputFiles)) + outFiles = self.resolvedPaths(chunk.node.inputFiles, chunk.node.output.value) + + if not outFiles: + raise RuntimeError("Publish: input files listed, but nothing to publish. Listed input files: {}".format(chunk.node.inputFiles)) if not os.path.exists(chunk.node.output.value): os.mkdir(chunk.node.output.value) - for iFile in inputFiles: - filename = os.path.basename(iFile) - oFile = os.path.join(chunk.node.output.value, filename) + for iFile, oFile in outFiles: print('Publish file', iFile, 'into', oFile) shutil.copyfile(iFile, oFile) print('Publish end')