me.url = episode.source.url(episode.tno, i, i + 1)
class Episode (object):
- def __init__(me, season, i, neps, title, src, tno = None, startch = None):
+ def __init__(me, season, i, neps, title, src, tno = None,
+ startch = None, endch = None):
me.season = season
me.i, me.neps, me.title = i, neps, title
me.chapters = []
me.source, me.tno = src, tno
- me.url = src.url(tno, startch, None)
+ me.url = src.url(tno, startch, endch)
def add_chapter(me, title, j):
ch = Chapter(me, title, j)
me.chapters.append(ch)
me.episodes = []
me.implicitp = implicitp
me.ep_i, episodes = 1, []
- def add_episode(me, j, neps, title, src, tno, startch):
- ep = Episode(me, j, neps, title, src, tno, startch)
+ def add_episode(me, j, neps, title, src, tno, startch, endch):
+ ep = Episode(me, j, neps, title, src, tno, startch, endch)
me.episodes.append(ep)
src.nuses += neps; me.ep_i += neps
return ep
super().__init__(series, *args, **kw)
me.title = title
me.i = None
- def add_episode(me, j, neps, title, src, tno, startch):
+ def add_episode(me, j, neps, title, src, tno, startch, endch):
if me.title is None and title is None:
raise ExpectedError("movie or movie season must have a title")
- return super().add_episode(j, neps, title, src, tno, startch)
+ return super().add_episode(j, neps, title, src, tno, startch, endch)
def _eplabel(me, i, neps, title):
if me.title is None:
label = title
def _process_episode(me, ww):
opts = ww.nextword(); check(opts is not None, "missing title/options")
- ti = None; sname = None; neps = 1; epi = None; ch = None
+ ti = None; sname = None; neps = 1; epi = None; loch = hich = None
for k, v in me._keyvals(opts):
if k is None:
if v.isdigit(): ti = int(v)
elif k == "s": sname = v
elif k == "n": neps = getint(v)
elif k == "ep": epi = getint(v)
- elif k == "ch": ch = getint(v)
+ elif k == "ch":
+ try: sep = v.index("-")
+ except ValueError: loch, hich = getint(v), None
+ else: loch, hich = getint(v[:sep]), getint(v[sep + 1:]) + 1
else: raise ExpectedError("unknown episode option `%s'" % k)
check(ti is not None, "missing title number")
series = me._get_series(sname)
try: src = me._isos[series.name]
except KeyError: src = me._auto_epsrc(series)
- episode = season.add_episode(epi, neps, title, src, ti, ch)
+ episode = season.add_episode(epi, neps, title, src, ti, loch, hich)
me._pl.add_episode(episode)
me._cur_episode = episode