mirror of
https://github.com/beetbox/beets.git
synced 2025-12-06 16:42:42 +01:00
smartplaylist: rename output format m3u8 to extm3u
This commit is contained in:
parent
c0afd3eb3c
commit
883bbb3e4b
3 changed files with 12 additions and 12 deletions
|
|
@ -121,7 +121,7 @@ class SmartPlaylistPlugin(BeetsPlugin):
|
|||
spl_update.parser.add_option(
|
||||
"--output",
|
||||
type="string",
|
||||
help="specify the playlist format: m3u|m3u8.",
|
||||
help="specify the playlist format: m3u|extm3u.",
|
||||
)
|
||||
spl_update.func = self.update_cmd
|
||||
return [spl_update]
|
||||
|
|
@ -313,20 +313,20 @@ class SmartPlaylistPlugin(BeetsPlugin):
|
|||
)
|
||||
mkdirall(m3u_path)
|
||||
pl_format = self.config["output"].get()
|
||||
if pl_format != "m3u" and pl_format != "m3u8":
|
||||
if pl_format != "m3u" and pl_format != "extm3u":
|
||||
msg = "Unsupported output format '{}' provided! "
|
||||
msg += "Supported: m3u, m3u8"
|
||||
msg += "Supported: m3u, extm3u"
|
||||
raise Exception(msg.format(pl_format))
|
||||
m3u8 = pl_format == "m3u8"
|
||||
extm3u = pl_format == "extm3u"
|
||||
with open(syspath(m3u_path), "wb") as f:
|
||||
keys = []
|
||||
if m3u8:
|
||||
if extm3u:
|
||||
keys = self.config["fields"].get(list)
|
||||
f.write(b"#EXTM3U\n")
|
||||
for entry in m3us[m3u]:
|
||||
item = entry.item
|
||||
comment = ""
|
||||
if m3u8:
|
||||
if extm3u:
|
||||
attr = [(k, entry.item[k]) for k in keys]
|
||||
al = [
|
||||
f" {a[0]}={json.dumps(str(a[1]))}" for a in attr
|
||||
|
|
|
|||
|
|
@ -122,11 +122,11 @@ other configuration options are:
|
|||
playlist item URI, e.g. ``http://beets:8337/item/$id/file``.
|
||||
When this option is specified, the local path-related options ``prefix``,
|
||||
``relative_to``, ``forward_slash`` and ``urlencode`` are ignored.
|
||||
- **output**: Specify the playlist format: m3u|m3u8. Default ``m3u``.
|
||||
- **output**: Specify the playlist format: m3u|extm3u. Default ``m3u``.
|
||||
- **fields**: Specify the names of the additional item fields to export into
|
||||
the playlist. This allows using e.g. the ``id`` field within other tools such
|
||||
as the `webm3u`_ plugin.
|
||||
To use this option, you must set the ``output`` option to ``m3u8``.
|
||||
To use this option, you must set the ``output`` option to ``extm3u``.
|
||||
|
||||
.. _webm3u: https://github.com/mgoltzsche/beets-webm3u
|
||||
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ class SmartPlaylistTest(_common.TestCase):
|
|||
|
||||
self.assertEqual(content, b"/tagada.mp3\n")
|
||||
|
||||
def test_playlist_update_output_m3u8(self):
|
||||
def test_playlist_update_output_extm3u(self):
|
||||
spl = SmartPlaylistPlugin()
|
||||
|
||||
i = MagicMock()
|
||||
|
|
@ -215,7 +215,7 @@ class SmartPlaylistTest(_common.TestCase):
|
|||
spl._matched_playlists = [pl]
|
||||
|
||||
dir = bytestring_path(mkdtemp())
|
||||
config["smartplaylist"]["output"] = "m3u8"
|
||||
config["smartplaylist"]["output"] = "extm3u"
|
||||
config["smartplaylist"]["prefix"] = "http://beets:8337/files"
|
||||
config["smartplaylist"]["relative_to"] = False
|
||||
config["smartplaylist"]["playlist_dir"] = py3_path(dir)
|
||||
|
|
@ -241,7 +241,7 @@ class SmartPlaylistTest(_common.TestCase):
|
|||
+ b"http://beets:8337/files/tagada.mp3\n",
|
||||
)
|
||||
|
||||
def test_playlist_update_output_m3u8_fields(self):
|
||||
def test_playlist_update_output_extm3u_fields(self):
|
||||
spl = SmartPlaylistPlugin()
|
||||
|
||||
i = MagicMock()
|
||||
|
|
@ -267,7 +267,7 @@ class SmartPlaylistTest(_common.TestCase):
|
|||
spl._matched_playlists = [pl]
|
||||
|
||||
dir = bytestring_path(mkdtemp())
|
||||
config["smartplaylist"]["output"] = "m3u8"
|
||||
config["smartplaylist"]["output"] = "extm3u"
|
||||
config["smartplaylist"]["relative_to"] = False
|
||||
config["smartplaylist"]["playlist_dir"] = py3_path(dir)
|
||||
config["smartplaylist"]["fields"] = ["id", "genre"]
|
||||
|
|
|
|||
Loading…
Reference in a new issue