Generate proper labels for Canvas resources
This commit is contained in:
@@ -1,8 +1,11 @@
|
||||
import Canvas from '../src/Canvas.js';
|
||||
import Image from '../src/Image.js';
|
||||
import Manifest from '../src/Manifest.js';
|
||||
import Common from '../src/common.js';
|
||||
/**
|
||||
* Generate a canvas object to serve
|
||||
* @todo Use createCanvas from Common?
|
||||
* @todo Pass a Manifest object, not a manifest id
|
||||
* @param {string} manifestId The corresponding manifest's id
|
||||
* @param {number|string} name The canvas name
|
||||
*/
|
||||
@@ -11,8 +14,19 @@ export default async function generateCanvas(manifestId, name) {
|
||||
const BASE_URL = process.env.BASE_URL;
|
||||
|
||||
const canvas = new Canvas(IIIF_API_VERSION, BASE_URL);
|
||||
const manifest = new Manifest(IIIF_API_VERSION, BASE_URL);
|
||||
manifest.generateID(manifestId);
|
||||
|
||||
canvas.generateID(manifestId, name);
|
||||
canvas.label = `${manifestId}-${name.toLowerCase()}`;
|
||||
let label = name
|
||||
.replace(/c(\w{1,2})0+(\d+).*(\.\w{2,3})?$/i, function (str, c, number) {
|
||||
return `C${c}. ${number}`;
|
||||
});
|
||||
// Add PCA to canvas label for HSI images
|
||||
if (manifest.technique === 'hsi') {
|
||||
label += ` ${filename.split('_')[3].replace(/\..*$/,'')}`;
|
||||
}
|
||||
canvas.label = label;
|
||||
|
||||
const image = new Image(canvas.id);
|
||||
image.generateID(process.env.IMAGE_SERVER_URL, await Common.getImageName(canvas));
|
||||
|
||||
Reference in New Issue
Block a user