def _mkepisode(me, path, i):
return AudioEpisode(path, i)
+class VideoFile (Source):
+ PREFIX = "file://"
+ TITLEP = CHAPTERP = False
+
+ def _duration(me, title, start_chapter, end_chaptwr):
+ out = program_output(["mediainfo", "--output=General;%Duration%",
+ OS.path.join(ROOT, me.fn)])
+ return int(out)//1000
+
+class VideoEpisode (VideoFile):
+ def __init__(me, fn, i, *args, **kw):
+ super().__init__(fn, *args, **kw)
+ me.i = i
+
+class VideoDir (SingleFileDir):
+ _EXT = ".mp4"
+ _CHECK_COMPLETE = False
+
+ def _mkepisode(me, path, i):
+ return VideoEpisode(path, i)
class Chapter (object):
def __init__(me, episode, title, i):
if dir == "-": forget(me._vdirs, series.name)
else: me._vdirs[series.name] = DVDDir(dir)
+ elif cmd == "vdir":
+ series = me._opts_series(cmd, opts)
+ dir = ww.rest(); check(dir is not None, "missing directory")
+ if not series.wantedp: return
+ if dir == "-": forget(me._sfdirs, series.name)
+ else: me._sfdirs[series.name] = VideoDir(dir)
+
elif cmd == "adir":
series = me._opts_series(cmd, opts)
dir = ww.rest(); check(dir is not None, "missing directory")