+ (ch.duration, label, ch.title, ch.url))
+
+ def dump(me, f):
+ if opts.list_name is not None: f.write("LIST %s\n" % opts.list_name)
+ if me.series_title is not None and \
+ me.nseries > 1 and not me.single_series_p:
+ raise ExpectedError("can't force series name for multi-series list")
+ series = set()
+ if me.single_series_p:
+ f.write("SERIES - %s\n" % quote(me.series_title))
+ for season in me.seasons:
+ for ep in season:
+ label = ep.label()
+ title = ep.season.series.full_title
+ if me.single_series_p:
+ stag = "-"
+ if title is not None: label = title + " " + label
+ else:
+ if title is None: title = me.series_title
+ stag = ep.season.series.name
+ if stag is None: stag = "-"
+ if stag not in series:
+ f.write("SERIES %s %s\n" % (stag, quote(title)))
+ series.add(stag)
+ f.write("ENTRY %s %s %s %d %d %d %g\n" %
+ (stag, quote(label), quote(ep.source.fn),
+ ep.tno, ep.start_chapter, ep.end_chapter, ep.duration))