class VideoDir (object):
- _R_ISO_PRE = list(map(lambda pat: RX.compile("^" + pat + r"\.iso$", RX.X),
- [r""" S? (?P<si> \d+) [A-Z]? \. \ (?P<stitle> .*) —
- (?: D \d+ \. \ )?
- (?P<epex> .*) """,
- r""" S (?P<si> \d+) (?: D \d+)? \. \ (?P<epex> .*) """,
- r""" S (?P<si> \d+) \. \ (?P<epex> E \d+ .*) """,
- r""" S (?P<si> \d+) \. \ (?P<epex> E \d+ .*) """,
- r""" S (?P<si> \d+) (?P<epex> E \d+) \. \ .* """,
- r""" \d+ \. \ (?P<epex> [ES] \d+ .*) """,
- r""" (?P<epnum> \d+ ) \. \ .* """]))
+ _R_ISO_PRE = list(map(lambda pats:
+ list(map(lambda pat:
+ RX.compile("^" + pat + r"\.iso$", RX.X),
+ pats)),
+ [[r""" S (?P<si> \d+) \. \ (?P<stitle> .*) — (?: D \d+ \. \ )?
+ (?P<epex> .*) """,
+ r""" S (?P<si> \d+) (?: D \d+)? \. \ (?P<epex> .*) """,
+ r""" S (?P<si> \d+) \. \ (?P<epex> E \d+ .*) """,
+ r""" S (?P<si> \d+) (?P<epex> E \d+) \. \ .* """],
+ [r""" (?P<si> \d+) [A-Z]? \. \ (?P<stitle> .*) — (?P<epex> .*) """],
+ [r""" \d+ \. \ (?P<epex> [ES] \d+ .*) """],
+ [r""" (?P<epnum> \d+ ) \. \ .* """]]))
_R_ISO_EP = RX.compile(r""" ^
(?: S (?P<si> \d+) \ )?
fns.sort()
season = None
seasons = {}
+ styles = me._R_ISO_PRE
for fn in fns:
path = OS.path.join(dir, fn)
if not fn.endswith(".iso"): continue
#print(";; `%s'" % path, file = SYS.stderr)
- for r in me._R_ISO_PRE:
- m = r.match(fn)
- if m: break
+ for sty in styles:
+ for r in sty:
+ m = r.match(fn)
+ if m: styles = [sty]; break
+ else:
+ continue
+ break
else:
#print(";;\tignored (regex mismatch)", file = SYS.stderr)
continue