mirror of
https://github.com/xuthus83/pigallery2.git
synced 2024-11-03 21:04:03 +08:00
Improve on reading dates from XMP sidecars
This commit is contained in:
parent
98a78e34fe
commit
03e0822181
@ -160,10 +160,31 @@ export class MetadataLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let hasPhotoshopDate = false;
|
||||||
|
if ((sidecarData as SideCar).photoshop !== undefined) {
|
||||||
|
if ((sidecarData as SideCar).photoshop.DateCreated !== undefined) {
|
||||||
|
const date = Utils.timestampToMS((sidecarData as SideCar).photoshop.DateCreated, null);
|
||||||
|
if (date) {
|
||||||
|
metadata.creationDate = date;
|
||||||
|
hasPhotoshopDate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ((sidecarData as SideCar).xmp !== undefined) {
|
if ((sidecarData as SideCar).xmp !== undefined) {
|
||||||
if ((sidecarData as SideCar).xmp.Rating !== undefined) {
|
if ((sidecarData as SideCar).xmp.Rating !== undefined) {
|
||||||
metadata.rating = (sidecarData as SideCar).xmp.Rating;
|
metadata.rating = (sidecarData as SideCar).xmp.Rating;
|
||||||
}
|
}
|
||||||
|
if (
|
||||||
|
!hasPhotoshopDate && (
|
||||||
|
(sidecarData as SideCar).xmp.CreateDate !== undefined ||
|
||||||
|
(sidecarData as SideCar).xmp.ModifyDate !== undefined
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
metadata.creationDate =
|
||||||
|
Utils.timestampToMS((sidecarData as SideCar).xmp.CreateDate, null) ||
|
||||||
|
Utils.timestampToMS((sidecarData as SideCar).xmp.ModifyDate, null) ||
|
||||||
|
metadata.creationDate;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -611,12 +632,30 @@ export class MetadataLoader {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
let hasPhotoshopDate = false;
|
||||||
|
if ((sidecarData as SideCar).photoshop !== undefined) {
|
||||||
|
if ((sidecarData as SideCar).photoshop.DateCreated !== undefined) {
|
||||||
|
const date = Utils.timestampToMS((sidecarData as SideCar).photoshop.DateCreated, null);
|
||||||
|
if (date) {
|
||||||
|
metadata.creationDate = date;
|
||||||
|
hasPhotoshopDate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ((sidecarData as SideCar).xmp !== undefined) {
|
if ((sidecarData as SideCar).xmp !== undefined) {
|
||||||
if ((sidecarData as SideCar).xmp.Rating !== undefined) {
|
if ((sidecarData as SideCar).xmp.Rating !== undefined) {
|
||||||
metadata.rating = (sidecarData as SideCar).xmp.Rating;
|
metadata.rating = (sidecarData as SideCar).xmp.Rating;
|
||||||
}
|
}
|
||||||
if ((sidecarData as SideCar).xmp.CreateDate) {
|
if (
|
||||||
metadata.creationDate = Utils.timestampToMS((sidecarData as SideCar).xmp.CreateDate, null);
|
!hasPhotoshopDate && (
|
||||||
|
(sidecarData as SideCar).xmp.CreateDate !== undefined ||
|
||||||
|
(sidecarData as SideCar).xmp.ModifyDate !== undefined
|
||||||
|
)
|
||||||
|
) {
|
||||||
|
metadata.creationDate =
|
||||||
|
Utils.timestampToMS((sidecarData as SideCar).xmp.CreateDate, null) ||
|
||||||
|
Utils.timestampToMS((sidecarData as SideCar).xmp.ModifyDate, null) ||
|
||||||
|
metadata.creationDate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ export interface MediaDimension {
|
|||||||
export interface SideCar {
|
export interface SideCar {
|
||||||
dc?: SideCarDc;
|
dc?: SideCarDc;
|
||||||
xmp?: SideCarXmp;
|
xmp?: SideCarXmp;
|
||||||
|
photoshop?: SideCarPhotoshop;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface SideCarDc {
|
export interface SideCarDc {
|
||||||
@ -41,6 +42,13 @@ export interface SideCarDc {
|
|||||||
export interface SideCarXmp {
|
export interface SideCarXmp {
|
||||||
Rating?: RatingTypes;
|
Rating?: RatingTypes;
|
||||||
CreateDate?: string;
|
CreateDate?: string;
|
||||||
|
ModifyDate?: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface SideCarPhotoshop {
|
||||||
|
// Corresponds to Exif.Photo.DateTimeOriginal. No corresponding key exists in
|
||||||
|
// the xmp namespace!
|
||||||
|
DateCreated?: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
export const MediaDTOUtils = {
|
export const MediaDTOUtils = {
|
||||||
|
Loading…
Reference in New Issue
Block a user