Covers: Omit files with errors #383

This commit is contained in:
Michael Mayer 2021-10-05 18:58:52 +02:00
parent f7153cdd21
commit 7a7bb20fd1

View file

@ -26,7 +26,7 @@ func UpdateAlbumDefaultCovers() (err error) {
SELECT pa.album_uid, max(p.id) AS photo_id FROM photos p SELECT pa.album_uid, max(p.id) AS photo_id FROM photos p
JOIN photos_albums pa ON pa.photo_uid = p.photo_uid AND pa.hidden = 0 AND pa.missing = 0 JOIN photos_albums pa ON pa.photo_uid = p.photo_uid AND pa.hidden = 0 AND pa.missing = 0
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY pa.album_uid) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' GROUP BY pa.album_uid) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
) b ON b.album_uid = albums.album_uid ) b ON b.album_uid = albums.album_uid
SET thumb = b.file_hash WHERE ?`, condition) SET thumb = b.file_hash WHERE ?`, condition)
case SQLite: case SQLite:
@ -35,7 +35,7 @@ func UpdateAlbumDefaultCovers() (err error) {
SELECT f.file_hash FROM files f SELECT f.file_hash FROM files f
JOIN photos_albums pa ON pa.album_uid = albums.album_uid AND pa.photo_uid = f.photo_uid AND pa.hidden = 0 AND pa.missing = 0 JOIN photos_albums pa ON pa.album_uid = albums.album_uid AND pa.photo_uid = f.photo_uid AND pa.hidden = 0 AND pa.missing = 0
JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0 JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0
WHERE f.deleted_at IS NULL AND f.file_missing = 0 AND f.file_hash <> '' AND f.file_primary = 1 AND f.file_type = 'jpg' WHERE f.deleted_at IS NULL AND f.file_missing = 0 AND f.file_hash <> '' AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
ORDER BY p.taken_at DESC LIMIT 1 ORDER BY p.taken_at DESC LIMIT 1
) WHERE ?`, condition)) ) WHERE ?`, condition))
default: default:
@ -70,7 +70,7 @@ func UpdateAlbumFolderCovers() (err error) {
SELECT p2.photo_path, f.file_hash FROM files f, ( SELECT p2.photo_path, f.file_hash FROM files f, (
SELECT p.photo_path, max(p.id) AS photo_id FROM photos p SELECT p.photo_path, max(p.id) AS photo_id FROM photos p
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY p.photo_path) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' GROUP BY p.photo_path) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
) b ON b.photo_path = albums.album_path ) b ON b.photo_path = albums.album_path
SET thumb = b.file_hash WHERE ?`, condition) SET thumb = b.file_hash WHERE ?`, condition)
case SQLite: case SQLite:
@ -80,7 +80,7 @@ func UpdateAlbumFolderCovers() (err error) {
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY p.photo_path GROUP BY p.photo_path
) b ) b
WHERE f.photo_id = b.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' WHERE f.photo_id = b.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
AND b.photo_path = albums.album_path LIMIT 1) AND b.photo_path = albums.album_path LIMIT 1)
WHERE ?`, condition)) WHERE ?`, condition))
default: default:
@ -115,7 +115,7 @@ func UpdateAlbumMonthCovers() (err error) {
SELECT p2.photo_year, p2.photo_month, f.file_hash FROM files f, ( SELECT p2.photo_year, p2.photo_month, f.file_hash FROM files f, (
SELECT p.photo_year, p.photo_month, max(p.id) AS photo_id FROM photos p SELECT p.photo_year, p.photo_month, max(p.id) AS photo_id FROM photos p
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY p.photo_year, p.photo_month) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' GROUP BY p.photo_year, p.photo_month) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
) b ON b.photo_year = albums.album_year AND b.photo_month = albums.album_month ) b ON b.photo_year = albums.album_year AND b.photo_month = albums.album_month
SET thumb = b.file_hash WHERE ?`, condition) SET thumb = b.file_hash WHERE ?`, condition)
case SQLite: case SQLite:
@ -125,7 +125,7 @@ func UpdateAlbumMonthCovers() (err error) {
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY p.photo_year, p.photo_month GROUP BY p.photo_year, p.photo_month
) b ) b
WHERE f.photo_id = b.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' WHERE f.photo_id = b.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
AND b.photo_year = albums.album_year AND b.photo_month = albums.album_month LIMIT 1) AND b.photo_year = albums.album_year AND b.photo_month = albums.album_month LIMIT 1)
WHERE ?`, condition)) WHERE ?`, condition))
default: default:
@ -188,7 +188,7 @@ func UpdateLabelCovers() (err error) {
JOIN categories c ON c.label_id = pl.label_id JOIN categories c ON c.label_id = pl.label_id
WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL WHERE p.photo_quality > 0 AND p.photo_private = 0 AND p.deleted_at IS NULL
GROUP BY c.category_id GROUP BY c.category_id
) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_type = 'jpg' AND f.file_missing = 0 ) p2 WHERE p2.photo_id = f.photo_id AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg' AND f.file_missing = 0
) b ON b.label_id = labels.id ) b ON b.label_id = labels.id
SET thumb = b.file_hash WHERE ?`, condition) SET thumb = b.file_hash WHERE ?`, condition)
case SQLite: case SQLite:
@ -196,7 +196,7 @@ func UpdateLabelCovers() (err error) {
SELECT f.file_hash FROM files f SELECT f.file_hash FROM files f
JOIN photos_labels pl ON pl.label_id = labels.id AND pl.photo_id = f.photo_id AND pl.uncertainty < 100 JOIN photos_labels pl ON pl.label_id = labels.id AND pl.photo_id = f.photo_id AND pl.uncertainty < 100
JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0 JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0
WHERE f.deleted_at IS NULL AND f.file_hash <> '' AND f.file_missing = 0 AND f.file_primary = 1 AND f.file_type = 'jpg' WHERE f.deleted_at IS NULL AND f.file_hash <> '' AND f.file_missing = 0 AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
ORDER BY p.photo_quality DESC, pl.uncertainty ASC, p.taken_at DESC LIMIT 1 ORDER BY p.photo_quality DESC, pl.uncertainty ASC, p.taken_at DESC LIMIT 1
) WHERE ?`, condition)) ) WHERE ?`, condition))
@ -206,7 +206,7 @@ func UpdateLabelCovers() (err error) {
JOIN photos_labels pl ON pl.photo_id = f.photo_id AND pl.uncertainty < 100 JOIN photos_labels pl ON pl.photo_id = f.photo_id AND pl.uncertainty < 100
JOIN categories c ON c.label_id = pl.label_id AND c.category_id = labels.id JOIN categories c ON c.label_id = pl.label_id AND c.category_id = labels.id
JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0 JOIN photos p ON p.id = f.photo_id AND p.photo_private = 0 AND p.deleted_at IS NULL AND p.photo_quality > 0
WHERE f.deleted_at IS NULL AND f.file_hash <> '' AND f.file_missing = 0 AND f.file_primary = 1 AND f.file_type = 'jpg' WHERE f.deleted_at IS NULL AND f.file_hash <> '' AND f.file_missing = 0 AND f.file_primary = 1 AND f.file_error = '' AND f.file_type = 'jpg'
ORDER BY p.photo_quality DESC, pl.uncertainty ASC, p.taken_at DESC LIMIT 1 ORDER BY p.photo_quality DESC, pl.uncertainty ASC, p.taken_at DESC LIMIT 1
) WHERE thumb IS NULL`)) ) WHERE thumb IS NULL`))