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
*/
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",
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;