From 38f0249fabdf756c9626861bf514b623a95ae162 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=B2=20P=2E?= Date: Thu, 14 Nov 2024 20:23:54 +0100 Subject: [PATCH] Modify params endpoint response --- controllers/params.mjs | 17 ++++++++++++++++- src/common.js | 16 ++++++++++++---- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/controllers/params.mjs b/controllers/params.mjs index db71d78..56c585a 100644 --- a/controllers/params.mjs +++ b/controllers/params.mjs @@ -6,5 +6,20 @@ import Common from '../src/common.js'; * Show all possible parameters for manifest URLs */ export default async function exposeParams() { - return await Common.getParamsFromFolders(); + console.log(process.env.IMAGES_DIR); + let techs = []; + + for (let key in Common.TECH_NAMES) { + techs.push({ + 'acronym': key.toUpperCase(), + 'fullname': Common.TECH_NAMES[key] + }); + } + + let papyri = await Common.getParamsFromFolders(); + + return { + 'techniques' : techs, + papyri + }; } diff --git a/src/common.js b/src/common.js index 85db7a8..a9fcb64 100644 --- a/src/common.js +++ b/src/common.js @@ -15,6 +15,8 @@ const TECH_NAMES = { nir: "Near Infrared Imaging 1000nm", hsi: "SWIR Hyperspectral Imaging", uvf: "Technical Photography UVF", + mbi: "Multispectral Imaging", + md: "Digital Microscope", } const authors = { DAN: 'Danilo P. Pavone', @@ -56,20 +58,26 @@ function extractDOMetadata(imgFilename) { copyright: "The Bodleian Libraries, University of Oxford", } } +Common.TECH_NAMES = TECH_NAMES; /** * Retrieves available image techniques * for all papyruses based on folder contents * @returns {object} */ Common.getParamsFromFolders = async function() { - let params = {}; + let params = []; const papyri = await fs.promises.readdir(process.env.IMAGES_DIR); for (let p of papyri) { - params[p] = []; + let techniques = []; for (let tech of await fs.promises.readdir(`${process.env.IMAGES_DIR}/${p}`)) { - params[p].push(tech.toLowerCase().replaceAll('_','-')); + techniques.push(tech.replace(/PHerc_\d+_/i, '')); } + + params.push({ + name : p.replace('_', ' '), + techniques + }); } return params; @@ -234,4 +242,4 @@ Common.getMetadataFromImgName = function (imgFilename, technique) { return extractor[technique](imgFilename); } -export default Common; \ No newline at end of file +export default Common;