class VideoDir (object):
_R_ISO_PRE = RX.compile(r""" ^
- (?: S (?P<si> \d+) (?: \. \ (?P<st> .*)—)? (?: D (?P<sdi> \d+))? |
- (?P<di> \d+))
- \. \ #
- (?P<eps> .*)
+ (?: S (?P<si> \d+)
+ (?: \. \ (?P<st> .*) — (?: D \d+ \. \ )? |
+ D \d+ \. \ |
+ (?= E \d+ \. \ ) |
+ \. \ ) |
+ \d+ \. \ )
+ (?: (?P<eplist>
+ (?: S \d+ \ )? E \d+ (?: – \d+)?
+ (?: , \ (?: S \d+ \ )? E \d+ (?: – \d+)?)*) |
+ (?P<epname> E \d+) \. \ .*)
\. iso $
""", RX.X)
disc = VideoDisc(path)
ts = season
any, bad = False, False
- for eprange in m.group("eps").split(", "):
+ epname = m.group("epname")
+ if epname is not None: eplist = [epname]
+ else: eplist = m.group("eplist").split(", ")
+ for eprange in eplist:
mm = me._R_ISO_EP.match(eprange)
if mm is None: bad = True; continue
if not any: