dots


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

tracklist.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: tracklist.py [TOKEN]
10
11from plexapi.server import PlexServer
12from os import sys
13
14SERVER_URL = "http://192.168.1.219:32400"
15TOKEN = sys.argv[1]
16
17plex = PlexServer(SERVER_URL, TOKEN)
18
19for list in plex.playlists(playlistType="audio"):
20    listTitle = list.title
21    items = list.items()
22    pl_file = open("playlists/" + listTitle + ".txt", "w")
23    for i in items:
24        title = i.title
25        artist = i.originalTitle
26        albumArtist = i.grandparentTitle
27        if artist == None:
28            artist = albumArtist + " - "
29        else:
30            artist = i.originalTitle + " - "
31        pl_file.write(artist + title + "\n")
32    pl_file.close()