1
0
mirror of https://github.com/xuthus83/pigallery2.git synced 2025-01-14 14:43:17 +08:00

Adding guards to metadata loader and cleaning metadata #244

This commit is contained in:
Patrik J. Braun 2021-04-01 22:17:40 +02:00
parent 793b4074e3
commit b908c3e4fb
2 changed files with 24 additions and 12 deletions

View File

@ -116,22 +116,33 @@ export class MetadataLoader {
exif.tags.Make || exif.tags.FNumber ||
exif.tags.ExposureTime || exif.tags.FocalLength ||
exif.tags.LensModel) {
metadata.cameraData = {
model: exif.tags.Model,
make: exif.tags.Make,
lens: exif.tags.LensModel
};
if (Utils.isUInt32(exif.tags.ISO)) {
metadata.cameraData.ISO = exif.tags.ISO;
if (exif.tags.Model && exif.tags.Model !== '') {
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.model = '' + exif.tags.Model;
}
if (Utils.isFloat32(exif.tags.ISO)) {
metadata.cameraData.focalLength = exif.tags.FocalLength;
if (exif.tags.Make && exif.tags.Make !== '') {
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.make = '' + exif.tags.Make;
}
if (exif.tags.LensModel && exif.tags.LensModel !== '') {
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.lens = '' + exif.tags.LensModel;
}
if (Utils.isUInt32(exif.tags.ISO)) {
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.ISO = parseInt('' + exif.tags.ISO, 10);
}
if (Utils.isFloat32(exif.tags.FocalLength)) {
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.focalLength = parseFloat('' + exif.tags.FocalLength);
}
if (Utils.isFloat32(exif.tags.ExposureTime)) {
metadata.cameraData.exposure = exif.tags.ExposureTime;
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.exposure = parseFloat('' + exif.tags.ExposureTime);
}
if (Utils.isFloat32(exif.tags.FNumber)) {
metadata.cameraData.fStop = exif.tags.FNumber;
metadata.cameraData = metadata.cameraData || {};
metadata.cameraData.fStop = parseFloat('' + exif.tags.FNumber);
}
}
if (!isNaN(exif.tags.GPSLatitude) || exif.tags.GPSLongitude || exif.tags.GPSAltitude) {
@ -151,7 +162,6 @@ export class MetadataLoader {
if (exif.tags.CreateDate || exif.tags.DateTimeOriginal || exif.tags.ModifyDate) {
metadata.creationDate = (exif.tags.DateTimeOriginal || exif.tags.CreateDate || exif.tags.ModifyDate) * 1000;
}

View File

@ -231,10 +231,12 @@ export class Utils {
}
public static isUInt32(value: number, max: number = 4294967295) {
value = parseInt('' + value, 10);
return !isNaN(value) && value >= 0 && value <= max;
}
public static isInt32(value: number) {
value = parseFloat('' + value);
return !isNaN(value) && value >= -2147483648 && value <= 2147483647;
}