fix(media): a tag-scan placeholder is not a book identity
The first real plan filed 1,106 chapters from 14 unrelated top-level folders onto one shelf, because all 1,106 carry the album tag [Unknown Album] and the same artist tag. Plex's album title is the authority for the shelf only when it names a book; a placeholder names nothing, and unrelated books share it. Those chapters now park with the path they have today, timestamp-glued variants included; Various Artists stays a legitimate multi-cast narrator.
This commit is contained in:
1 parent
4ae2bde9ab
commit
f1b8b60817
3 files changed
+94
-14
No files matched your search
@@ -126,6 +126,23 @@ setup() {
|
||||
at "$G/NoExt/part01" 9000
|
||||
row "$G/NoExt/part01" "Archivist" "Tapes" 1971 1 "Tape One"
|
||||
|
||||
# Tag-scan placeholders. Two unrelated books whose album rows both read
|
||||
# `[Unknown Album]`: the name is shared, so filing on it would merge books
|
||||
# that have nothing to do with each other. A rip timestamp can be glued to
|
||||
# the placeholder, and a multi-cast read says `Various Artists` — which IS a
|
||||
# narrator.
|
||||
H="$AB/Packs"
|
||||
at "$H/Stross/Ship/c1.mp3" 9000
|
||||
at "$H/Leckie/State/c1.mp3" 9000
|
||||
at "$H/Rip/tape.mp3" 9000
|
||||
at "$H/NoWho/Real Book.mp3" 9000
|
||||
at "$H/Multicast/Genesis.mp3" 9000
|
||||
row "$H/Stross/Ship/c1.mp3" "Various Artists" "[Unknown Album]" "" 1 "Part 1"
|
||||
row "$H/Leckie/State/c1.mp3" "Various Artists" "[Unknown Album]" "" 1 "Part 1"
|
||||
row "$H/Rip/tape.mp3" "Ann Reader" "Unknown album (03/03/2015 21:39:55)" "" 1 "One"
|
||||
row "$H/NoWho/Real Book.mp3" "[Unknown Artist]" "A Named Book" 2001 1 "One"
|
||||
row "$H/Multicast/Genesis.mp3" "Various Artists" "The Bible" "" 1 "Genesis"
|
||||
|
||||
# The enum TSV is what scripts/media-census.py enumerate writes: bytes, ext,
|
||||
# path, no header.
|
||||
python3 - "$AB" "$ENUM" <<'PY'
|
||||
@@ -319,6 +336,28 @@ PY
|
||||
[ "$(kind "$G/blank narrator.mp3")" = "park" ]
|
||||
}
|
||||
|
||||
@test "books that share a placeholder album name never share a shelf" {
|
||||
plan
|
||||
[ "$(dst "$H/Stross/Ship/c1.mp3")" = "$PARK/Packs/Stross/Ship/c1.mp3" ]
|
||||
[ "$(dst "$H/Leckie/State/c1.mp3")" = "$PARK/Packs/Leckie/State/c1.mp3" ]
|
||||
}
|
||||
|
||||
@test "a placeholder with a rip timestamp glued to it is still a placeholder" {
|
||||
plan
|
||||
[ "$(kind "$H/Rip/tape.mp3")" = "park" ]
|
||||
}
|
||||
|
||||
@test "a narrator placeholder parks even when the book is named" {
|
||||
plan
|
||||
[ "$(kind "$H/NoWho/Real Book.mp3")" = "park" ]
|
||||
}
|
||||
|
||||
@test "Various Artists is a multi-cast narrator and files its book" {
|
||||
plan
|
||||
[ "$(dst "$H/Multicast/Genesis.mp3")" = \
|
||||
"$AB/Various Artists/The Bible/Genesis.mp3" ]
|
||||
}
|
||||
|
||||
@test "the row, not the extension, decides what a chapter is" {
|
||||
plan
|
||||
[ "$(kind "$G/NoExt/part01")" = "chapter" ]
|
||||
|
||||
Reference in new issue
Block a user