Index: action.py ================================================================== --- action.py +++ action.py @@ -257,19 +257,25 @@ # "pls" as default requires no conversion for most channels, and seems broadly supported by players # Playlist type placeholders (%pls, %m3u, %xspf, etc.) for dest, rx in placeholder_map.items(): rx = "(?<!%%)%s\\b" % rx +# rx = '(?!"\a"|"\n")%s\\b' % rx if re.search(rx, cmd, re.X): # no conversion if conf.playlist_asis: url = row["url"] # e.g. from .m3u to .pls else: url = convert_playlist(row["url"], listfmt(source), listfmt(dest), local_file=True, row=row) # insert quoted URL/filepath - return re.sub(rx, quote(url), cmd.replace("%%", "%"), 2, re.X) + #return re.sub(rx, quote(url), cmd.replace("%%", "%"), 2, re.X) + if conf.windows: + return re.sub(rx, quote(url), cmd.replace("%%", "%"), 2, re.X) + else: + return re.sub(rx, quote(url).replace("\\", "/"), cmd.replace("%%", "%"), 2, re.X) + if not add_default: return cmd else: return "/bin/false"