fix(media): a series is the name before the episode marker
Keyed on the whole episode title, every episode of a box set became a group of one and never reached the five-episode size that calls something a series, so the live run filed 124 Monk episodes as 124 movie folders, each named after its own episode. ep_of now returns the series — the name before SxxEyy / 1x04 / Part N — and the planner groups and names the quarantine pile by that series, so one show is one pile: 'Monk - S05E03 - Mr. Monk and the Big Game' is series monk. The threshold keeps its job: a lone film named Part 2 stays a film. Re-planning the live census with this moves nothing differently except the 124 Monk files, which now join the TV pile: 168 episode files across 3 series.
This commit is contained in:
1 parent
1cb28095a7
commit
73f77a13c3
4 files changed
+84
-20
No files matched your search
+12
-3
@@ -322,13 +322,22 @@ def key_of(title):
|
||||
|
||||
|
||||
def ep_of(path):
|
||||
"""(show, episode-token) when the basename carries SxxEyy / 1x04 / Part N."""
|
||||
"""(series, episode-token) when the basename carries SxxEyy / 1x04 / Part N.
|
||||
|
||||
The series is the name BEFORE the marker. The box-set convention writes
|
||||
"Monk - S05E03 - Mr. Monk and the Big Game", and the episode title that
|
||||
follows the marker is not the show's name: keying on the whole title gave
|
||||
every episode of one series its own group, so a 124-episode box set never
|
||||
reached the size that calls something a series and each episode was filed
|
||||
as its own film. A file named only by its marker has nothing before it, so
|
||||
its whole title stands in."""
|
||||
name = os.path.splitext(os.path.basename(path))[0]
|
||||
m = EP_RE.search(name)
|
||||
if not m:
|
||||
return None
|
||||
show, _ = title_of(path)
|
||||
return show, norm(m.group(1)).replace(" ", "")
|
||||
head = name[:m.start()].strip(" ._\u2013-")
|
||||
series = title_of(head)[0] if head else None
|
||||
return series or title_of(path)[0], norm(m.group(1)).replace(" ", "")
|
||||
|
||||
|
||||
def base_words(title, key):
|
||||
|
||||
Reference in new issue
Block a user