mkm3u: Allow explicit setting of series-name separator.
[epls] / mkm3u
diff --git a/mkm3u b/mkm3u
index b1d9fd2..ea60ddc 100755 (executable)
--- a/mkm3u
+++ b/mkm3u
@@ -547,6 +547,7 @@ class Playlist (object):
     me.nseries = 0
     me.single_series_p = False
     me.series_title = None
+    me.series_sep = ""
 
   def add_episode(me, episode):
     me.episodes.append(episode)
@@ -564,9 +565,9 @@ class Playlist (object):
         label = ep.label()
         if me.nseries > 1 and ep.series_title_p 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 ep.season.i is None: sep = ":"
+          else: sep = me.series_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:
@@ -588,7 +589,7 @@ class Playlist (object):
         title = ep.season.series.full_title
         if me.single_series_p:
           stag = "-"
-          if title is not None: label = title + " " + label
+          if title is not None: label = title + me.series_sep + " " + label
         else:
           if title is None: title = me.series_title
           stag = ep.season.series.name
@@ -817,6 +818,10 @@ class EpisodeListParser (object):
       src = me._auto_epsrc(series)
       src.nuses += n
 
+    elif cmd == "sep":
+      sep = ww.rest(); check(sep is not None, "missing separator")
+      me._pl.series_sep = sep
+
     else:
       raise ExpectedError("unknown command `%s'" % cmd)