feat(server): read additional lens exif tags (#17125)
* fix(server): read additional lens exif tags * Update order of read tags * Fix e2e test * Fix e2e test * Fix e2e test * Fix e2e test * Update test * Filter unknown lens exif data * Formatting fixes
This commit is contained in:
@@ -76,6 +76,19 @@ const validateRange = (value: number | undefined, min: number, max: number): Non
|
||||
return val;
|
||||
};
|
||||
|
||||
const getLensModel = (exifTags: ImmichTags): string | null => {
|
||||
const lensModel = String(
|
||||
exifTags.LensID ?? exifTags.LensType ?? exifTags.LensSpec ?? exifTags.LensModel ?? '',
|
||||
).trim();
|
||||
if (lensModel === '----') {
|
||||
return null;
|
||||
}
|
||||
if (lensModel.startsWith('Unknown')) {
|
||||
return null;
|
||||
}
|
||||
return lensModel || null;
|
||||
};
|
||||
|
||||
type ImmichTagsWithFaces = ImmichTags & { RegionInfo: NonNullable<ImmichTags['RegionInfo']> };
|
||||
|
||||
type Dates = {
|
||||
@@ -228,7 +241,7 @@ export class MetadataService extends BaseService {
|
||||
fps: validate(Number.parseFloat(exifTags.VideoFrameRate!)),
|
||||
iso: validate(exifTags.ISO) as number,
|
||||
exposureTime: exifTags.ExposureTime ?? null,
|
||||
lensModel: exifTags.LensModel ?? null,
|
||||
lensModel: getLensModel(exifTags),
|
||||
fNumber: validate(exifTags.FNumber),
|
||||
focalLength: validate(exifTags.FocalLength),
|
||||
|
||||
|
||||
Reference in New Issue
Block a user