~mdw
/
epls
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mkm3u: New hack for `episodes' which are carved out of chapter breaks.
[epls]
/
mkm3u
diff --git
a/mkm3u
b/mkm3u
index
7583937
..
9b308aa
100755
(executable)
--- a/
mkm3u
+++ b/
mkm3u
@@
-284,12
+284,13
@@
class Chapter (object):
me.url = episode.source.url(episode.tno, i, i + 1)
class Episode (object):
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.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)
def add_chapter(me, title, j):
ch = Chapter(me, title, j)
me.chapters.append(ch)
@@
-303,8
+304,8
@@
class BaseSeason (object):
me.episodes = []
me.implicitp = implicitp
me.ep_i, episodes = 1, []
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
me.episodes.append(ep)
src.nuses += neps; me.ep_i += neps
return ep
@@
-335,10
+336,10
@@
class MovieSeason (BaseSeason):
super().__init__(series, *args, **kw)
me.title = title
me.i = None
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")
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 _eplabel(me, i, neps, title):
if me.title is None:
label = title
@@
-541,7
+542,7
@@
class EpisodeListParser (object):
def _process_episode(me, ww):
opts = ww.nextword(); check(opts is not None, "missing title/options")
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 = hi
ch = None
for k, v in me._keyvals(opts):
if k is None:
if v.isdigit(): ti = int(v)
for k, v in me._keyvals(opts):
if k is None:
if v.isdigit(): ti = int(v)
@@
-550,7
+551,10
@@
class EpisodeListParser (object):
elif k == "s": sname = v
elif k == "n": neps = getint(v)
elif k == "ep": epi = getint(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)
else: raise ExpectedError("unknown episode option `%s'" % k)
check(ti is not None, "missing title number")
series = me._get_series(sname)
@@
-572,7
+576,7
@@
class EpisodeListParser (object):
try: src = me._isos[series.name]
except KeyError: src = me._auto_epsrc(series)
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, hi
ch)
me._pl.add_episode(episode)
me._cur_episode = episode
me._pl.add_episode(episode)
me._cur_episode = episode