mirror of
https://github.com/immich-app/immich.git
synced 2024-12-29 15:11:58 +00:00
feat(server): prefer tagslist (#12286)
This commit is contained in:
parent
6f37ab6a9e
commit
ddd73b9911
2 changed files with 16 additions and 3 deletions
|
@ -434,6 +434,21 @@ describe(MetadataService.name, () => {
|
|||
});
|
||||
});
|
||||
|
||||
it('should ignore Keywords when TagsList is present', async () => {
|
||||
assetMock.getByIds.mockResolvedValue([assetStub.image]);
|
||||
metadataMock.readTags.mockResolvedValue({ Keywords: 'Child', TagsList: ['Parent/Child'] });
|
||||
tagMock.upsertValue.mockResolvedValue(tagStub.parent);
|
||||
|
||||
await sut.handleMetadataExtraction({ id: assetStub.image.id });
|
||||
|
||||
expect(tagMock.upsertValue).toHaveBeenNthCalledWith(1, { userId: 'user-id', value: 'Parent', parent: undefined });
|
||||
expect(tagMock.upsertValue).toHaveBeenNthCalledWith(2, {
|
||||
userId: 'user-id',
|
||||
value: 'Parent/Child',
|
||||
parent: tagStub.parent,
|
||||
});
|
||||
});
|
||||
|
||||
it('should not apply motion photos if asset is video', async () => {
|
||||
assetMock.getByIds.mockResolvedValue([{ ...assetStub.livePhotoMotionAsset, isVisible: true }]);
|
||||
mediaMock.probe.mockResolvedValue(probeStub.matroskaContainer);
|
||||
|
|
|
@ -355,9 +355,7 @@ export class MetadataService {
|
|||
const tags: unknown[] = [];
|
||||
if (exifTags.TagsList) {
|
||||
tags.push(...exifTags.TagsList);
|
||||
}
|
||||
|
||||
if (exifTags.Keywords) {
|
||||
} else if (exifTags.Keywords) {
|
||||
let keywords = exifTags.Keywords;
|
||||
if (!Array.isArray(keywords)) {
|
||||
keywords = [keywords];
|
||||
|
|
Loading…
Reference in a new issue