Modify params endpoint response

This commit is contained in:
Nicolò P. 2024-11-14 20:23:54 +01:00
parent 1aed11cf2e
commit 38f0249fab
2 changed files with 28 additions and 5 deletions

View File

@ -6,5 +6,20 @@ import Common from '../src/common.js';
* Show all possible parameters for manifest URLs * Show all possible parameters for manifest URLs
*/ */
export default async function exposeParams() { 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
};
} }

View File

@ -15,6 +15,8 @@ const TECH_NAMES = {
nir: "Near Infrared Imaging 1000nm", nir: "Near Infrared Imaging 1000nm",
hsi: "SWIR Hyperspectral Imaging", hsi: "SWIR Hyperspectral Imaging",
uvf: "Technical Photography UVF", uvf: "Technical Photography UVF",
mbi: "Multispectral Imaging",
md: "Digital Microscope",
} }
const authors = { const authors = {
DAN: 'Danilo P. Pavone', DAN: 'Danilo P. Pavone',
@ -56,20 +58,26 @@ function extractDOMetadata(imgFilename) {
copyright: "The Bodleian Libraries, University of Oxford", copyright: "The Bodleian Libraries, University of Oxford",
} }
} }
Common.TECH_NAMES = TECH_NAMES;
/** /**
* Retrieves available image techniques * Retrieves available image techniques
* for all papyruses based on folder contents * for all papyruses based on folder contents
* @returns {object} * @returns {object}
*/ */
Common.getParamsFromFolders = async function() { Common.getParamsFromFolders = async function() {
let params = {}; let params = [];
const papyri = await fs.promises.readdir(process.env.IMAGES_DIR); const papyri = await fs.promises.readdir(process.env.IMAGES_DIR);
for (let p of papyri) { for (let p of papyri) {
params[p] = []; let techniques = [];
for (let tech of await fs.promises.readdir(`${process.env.IMAGES_DIR}/${p}`)) { 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; return params;
@ -234,4 +242,4 @@ Common.getMetadataFromImgName = function (imgFilename, technique) {
return extractor[technique](imgFilename); return extractor[technique](imgFilename);
} }
export default Common; export default Common;