+class SingleFileDir (object):
+
+ _CHECK_COMPLETE = True
+
+ def __init__(me, dir):
+ me.dir = dir
+ fns = OS.listdir(OS.path.join(ROOT, dir))
+ fns.sort()
+ episodes = {}
+ last_i = 0
+ rx = RX.compile(r"""
+ E (\d+)
+ (?: \. \ (.*))?
+ %s $
+ """ % RX.escape(me._EXT), RX.X)
+
+ for fn in fns:
+ path = OS.path.join(dir, fn)
+ if not fn.endswith(me._EXT): continue
+ m = rx.match(fn)
+ if not m: continue
+ i = filter(m.group(1), int)
+ etitle = m.group(2)
+ if me._CHECK_COMPLETE:
+ check(i == last_i + 1, "episode %d /= %d" % (i, last_i + 1))
+ episodes[i] = me._mkepisode(path, i)
+ last_i = i
+ me.episodes = episodes
+