From 27b3d1e9fb5ce0089694e7444042c1d8d946ea5b Mon Sep 17 00:00:00 2001 From: Piero Toffanin Date: Mon, 4 Jan 2021 09:54:19 -0500 Subject: [PATCH] Add support for geo files --- index.js | 6 +++--- libs/Task.js | 9 ++++++++- package.json | 2 +- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/index.js b/index.js index eb9e6d9..6c6dd54 100644 --- a/index.js +++ b/index.js @@ -138,7 +138,7 @@ app.post('/task/new/init', authCheck, taskNew.assignUUID, formDataParser, taskNe * - * name: images * in: formData - * description: Images to process, plus an optional GCP file (*.txt) and/or an optional seed file (seed.zip). If included, the GCP file should have .txt extension. If included, the seed archive pre-polulates the task directory with its contents. + * description: Images to process, plus an optional GEO file (geo.txt) and/or an optional GCP file (*.txt) and/or an optional seed file (seed.zip). If included, the GCP file should have .txt extension. If included, the seed archive pre-polulates the task directory with its contents. * required: true * type: file * - @@ -205,13 +205,13 @@ app.post('/task/new/commit/:uuid', authCheck, taskNew.getUUID, taskNew.handleCom * - * name: images * in: formData - * description: Images to process, plus an optional GCP file (*.txt) and/or an optional seed file (seed.zip). If included, the GCP file should have .txt extension. If included, the seed archive pre-polulates the task directory with its contents. + * description: Images to process, plus an optional GEO file (geo.txt) and/or an optional GCP file (*.txt) and/or an optional seed file (seed.zip). If included, the GCP file should have .txt extension. If included, the seed archive pre-polulates the task directory with its contents. * required: false * type: file * - * name: zipurl * in: formData - * description: URL of the zip file containing the images to process, plus an optional GCP file. If included, the GCP file should have .txt extension + * description: URL of the zip file containing the images to process, plus an optional GEO file and/or an optional GCP file. If included, the GCP file should have .txt extension * required: false * type: string * - diff --git a/libs/Task.js b/libs/Task.js index b9a3c95..313e6e4 100644 --- a/libs/Task.js +++ b/libs/Task.js @@ -48,6 +48,7 @@ module.exports = class Task{ this.setStatus(statusCodes.QUEUED); this.options = options; this.gcpFiles = []; + this.geoFiles = []; this.output = []; this.runningProcesses = []; this.webhook = webhook; @@ -74,11 +75,14 @@ module.exports = class Task{ if (err) cb(err); else{ files.forEach(file => { - if (/\.txt$/gi.test(file)){ + if (/^geo\.txt$/gi.test(file)){ + this.geoFiles.push(file); + }else if (/\.txt$/gi.test(file)){ this.gcpFiles.push(file); } }); logger.debug(`Found ${this.gcpFiles.length} GCP files (${this.gcpFiles.join(" ")}) for ${this.uuid}`); + logger.debug(`Found ${this.geoFiles.length} GEO files (${this.geoFiles.join(" ")}) for ${this.uuid}`); cb(null); } }); @@ -463,6 +467,9 @@ module.exports = class Task{ if (this.gcpFiles.length > 0){ runnerOptions.gcp = fs.realpathSync(path.join(this.getGcpFolderPath(), this.gcpFiles[0])); } + if (this.geoFiles.length > 0){ + runnerOptions.geo = fs.realpathSync(path.join(this.getGcpFolderPath(), this.geoFiles[0])); + } this.runningProcesses.push(odmRunner.run(runnerOptions, this.uuid, (err, code, signal) => { if (err){ diff --git a/package.json b/package.json index 0682f66..5c804aa 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "NodeODM", - "version": "2.1.2", + "version": "2.1.3", "description": "REST API to access ODM", "main": "index.js", "scripts": {