stargate.epls: Remove the `Stargate' prefix from the SG-1 films.
[epls] / mkm3u
diff --git a/mkm3u b/mkm3u
index 982475c..5867236 100755 (executable)
--- a/mkm3u
+++ b/mkm3u
@@ -354,9 +354,9 @@ class BaseSeason (object):
     return ep
   def _epnames(me, i, neps):
     playlist = me.series.playlist
-    if neps == 1: return playlist.epname, "%d" % i
-    elif neps == 2: return playlist.epnames, "%d, %d" % (i, i + 1)
-    else: return playlist.epnames, "%d–%d" % (i, i + neps - 1)
+    if neps == 1: return playlist.epname, ["%d" % i]
+    elif neps == 2: return playlist.epnames, ["%d" % i, "%d" % (i + 1)]
+    else: return playlist.epnames, ["%d–%d" % (i, i + neps - 1)]
 
 class Season (BaseSeason):
   def __init__(me, series, title, i, *args, **kw):
@@ -365,13 +365,21 @@ class Season (BaseSeason):
   def _eplabel(me, i, neps, title):
     epname, epn = me._epnames(i, neps)
     if title is None:
-      if me.implicitp: label = "%s %s" % (epname, epn)
-      elif me.title is None: label = "%s %d.%s" % (epname, me.i, epn)
-      else: label = "%s—%s %s" % (me.title, epname, epn)
+      if me.implicitp:
+        label = "%s %s" % (epname, ", ".join(epn))
+      elif me.title is None:
+        label = "%s %s" % \
+          (epname, ", ".join("%d.%s" % (me.i, e) for e in epn))
+      else:
+        label = "%s—%s %s" % (me.title, epname, ", ".join(epn))
     else:
-      if me.implicitp: label = "%s. %s" % (epn, title)
-      elif me.title is None: label = "%d.%s. %s" % (me.i, epn, title)
-      else: label = "%s—%s. %s" % (me.title, epn, title)
+      if me.implicitp:
+        label = "%s. %s" % (", ".join(epn), title)
+      elif me.title is None:
+        label = "%s. %s" % \
+          (", ".join("%d.%s" % (me.i, e) for e in epn), title)
+      else:
+        label = "%s—%s. %s" % (me.title, ", ".join(epn), title)
     return label
 
 class MovieSeason (BaseSeason):
@@ -388,7 +396,7 @@ class MovieSeason (BaseSeason):
       label = title
     elif title is None:
       epname, epn = me._epnames(i, neps)
-      label = "%s—%s %s" % (me.title, epname, epn)
+      label = "%s—%s %s" % (me.title, epname, ", ".join(epn))
     else:
       label = "%s—%s" % (me.title, title)
     return label
@@ -429,7 +437,10 @@ class Playlist (object):
       f.write("\n")
       for ep in season:
         label = ep.label()
-        if me.nseries > 1: label = ep.season.series.title + " " + label
+        if me.nseries > 1 and ep.season.series.title is not None:
+          if ep.season.i is None: sep = "—"
+          else: sep = " "
+          label = ep.season.series.title + sep + label
         if not ep.chapters:
           f.write("#EXTINF:%d,,%s\n%s\n" % (ep.duration, label, ep.url))
         else: