dots


dots / scripts / Scripts / plex
xxwhirlpool  ·  2026-04-12

m3u.py

 1#!/usr/bin/env -S uv run --script
 2# /// script
 3# requires-python = ">=3.14"
 4# dependencies = [
 5#     "plexapi>=4.18.1",
 6# ]
 7# ///
 8
 9# USAGE: m3u.py [TOKEN]
10#
11# download all playlists as M3U files
12
13from plexapi.server import PlexServer
14import sys
15
16SERVER_URL = "http://192.168.1.219:32400"
17TOKEN = sys.argv[1]
18
19plex = PlexServer(SERVER_URL, TOKEN)
20
21for plist in plex.playlists(playlistType="audio"):
22    list_title = plist.title
23    list_items = plist.items()
24    m3u = open("playlists_m3u/" + list_title + ".m3u", "w")
25    m3u.write("#EXTM3U\n")
26    for i in list_items:
27        loc = i.locations
28        for l in loc:
29            m3u.write(l + "\n")
30    m3u.close()