197
198
199
200
201
202
203
204
205
206
207
208
209
210
211 | row = copy.copy(row)
# Inject other meta fields (%title, %genre, %playing, %format, etc.)
rx_keys = "[\$\%](" + "|".join(row.keys()) + ")\\b"
cmd = re.sub(rx_keys, lambda m: "%r" % str(row.get(m.group(1))), cmd)
# Add default %pls if cmd has no %url placeholder
if not add_default and cmd.find("%") < 0:
cmd = cmd + " %pls"
# "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():
if re.search(rx, cmd, re.X):
# no conversion |
|
| 197
198
199
200
201
202
203
204
205
206
207
208
209
210
211 | row = copy.copy(row)
# Inject other meta fields (%title, %genre, %playing, %format, etc.)
rx_keys = "[\$\%](" + "|".join(row.keys()) + ")\\b"
cmd = re.sub(rx_keys, lambda m: "%r" % str(row.get(m.group(1))), cmd)
# Add default %pls if cmd has no %url placeholder
if add_default and cmd.find("%") < 0:
cmd = cmd + " %pls"
# "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():
if re.search(rx, cmd, re.X):
# no conversion |