Initial Commit
This commit is contained in:
commit
629e7a62cc
10
.gitignore
vendored
Normal file
10
.gitignore
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# Vim
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
|
||||||
|
# Single character files (used for testing)
|
||||||
|
?.py
|
||||||
|
?.sh
|
||||||
|
|
||||||
|
__pycache__
|
||||||
|
apiconfig.py
|
2
apiconfig-default.py
Normal file
2
apiconfig-default.py
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
url = 'http://radarr.host.ip:port'
|
||||||
|
apikey = 'yourradarrapikey'
|
3
backup
Executable file
3
backup
Executable file
|
@ -0,0 +1,3 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
rsync -a --delete /home/junior/PlexDev /backup/
|
2
radarr/apiconfig-default.py
Normal file
2
radarr/apiconfig-default.py
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
url = 'http://radarr.host.ip:port'
|
||||||
|
apikey = 'yourradarrapikey'
|
25
radarr/unmonitor.py
Normal file
25
radarr/unmonitor.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
import json
|
||||||
|
import os
|
||||||
|
from pyarr import RadarrAPI
|
||||||
|
import sys
|
||||||
|
|
||||||
|
try:
|
||||||
|
import apiconfig
|
||||||
|
except:
|
||||||
|
print("Error!")
|
||||||
|
print(" \"apiconfig.py\" seems to be missing!")
|
||||||
|
print(" Have you copied the default config to \"apiconfig.py\" and made appropriate edits?")
|
||||||
|
print()
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
radarr = RadarrAPI(apiconfig.url, apiconfig.apikey)
|
||||||
|
|
||||||
|
movies = radarr.get_movie()
|
||||||
|
|
||||||
|
for movie in movies:
|
||||||
|
if movie['monitored'] == True and movie['hasFile'] == True:
|
||||||
|
print(f"Movie \"{movie['title']} id={movie['id']} has a file but is still monitored!")
|
||||||
|
data = {"movieIds":[movie['id']], "monitored": False}
|
||||||
|
radarr.upd_movies(data)
|
||||||
|
|
||||||
|
# vim: set ts=4 sw=4 et:
|
44
updatecoll.py
Normal file
44
updatecoll.py
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
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])
|
Loading…
Reference in New Issue
Block a user