PlexDev/updatecoll.py
2023-09-15 16:31:27 +00:00

45 lines
1.3 KiB
Python

from plexapi.myplex import MyPlexAccount
from plexapi.server import PlexServer
from plexapi.media import Media
from pprint import pprint
import sys
PLEX_URL = 'http://localhost:32400'
PLEX_TOKEN = 'h3ffbZ4pDxgNtGuUDFys'
PATH_FOLDER = '/videos/'
LIBRARY = 'Junior Movies'
colmap = {
"Action-Adventure": "Action/Adventure",
"Animated": "Animated",
"Christmas": "Christmas",
"Comedy-Romantic": "Comedy/Romance",
"Documentary": "Documentary",
"Drama": "Drama",
"Imports": "Imports",
"Scary": "Scary",
"Sci-Fi": "Sci-Fi"
}
colcontents = {}
for col in colmap.values():
colcontents[col] = []
plex = PlexServer(PLEX_URL, PLEX_TOKEN)
print("Building collection contents lists...")
for col in colmap.values():
videos = plex.library.section(LIBRARY).search(collection=col)
for video in videos: colcontents[col].append(video.title)
print("Checking collections for each movie...")
videos = plex.library.section(LIBRARY).all()
for video in videos:
file = None
for part in video.iterParts():
if file == None: file = part.file
[top_folder, junk] = file[len(PATH_FOLDER):].split("/", 1)
if video.title not in colcontents[colmap[top_folder]]:
print(f"Movie {video.title} is missing collection {colmap[top_folder]}")
video.addCollection(colmap[top_folder])