74 lines
2.2 KiB
Python
74 lines
2.2 KiB
Python
#!/home/rouggy/Scripts/ArrDeleteFiles/.venv/bin/python3
|
|
|
|
import requests
|
|
import os
|
|
import logging
|
|
import glob
|
|
|
|
|
|
logging.basicConfig(filename='/home/rouggy/Scripts/ArrDeleteFiles/Sonarr/Sonarr.log', level=logging.DEBUG)
|
|
|
|
PATH_LIST = ["Movies", "Series", "4K-Movies", "4K-Series", "Cartoons", "Kids", "Concerts"]
|
|
|
|
BasePath = ""
|
|
SourcePath = ""
|
|
SourceFolder = ""
|
|
|
|
|
|
def checkSeasonFolder(SourceFolder):
|
|
count = 0
|
|
for file in glob.glob(SourceFolder + "/*"):
|
|
if file.endswith(".mkv"):
|
|
logging.info(f"Found mkv file {file} in the folder: {SourceFolder}")
|
|
count += 1
|
|
if count > 1:
|
|
logging.info("Identified a Season folder")
|
|
return True
|
|
else:
|
|
logging.info("This is not a Season folder")
|
|
return False
|
|
|
|
def sendNotifications(title, message, priority):
|
|
resp = requests.post('https://gotify.rouggy.com/message?token=AKMj5SsZblmpAJ_', json={
|
|
"message": message,
|
|
"priority": priority,
|
|
"title": title
|
|
})
|
|
|
|
|
|
try:
|
|
# Sonarr
|
|
EventType = os.environ.get('sonarr_eventtype')
|
|
logging.debug(f"Event Type: {EventType}")
|
|
SourcePath = os.environ.get('sonarr_episodefile_sourcepath')
|
|
logging.debug(f"Source Path: {SourcePath}")
|
|
SourceFolder = os.environ.get('sonarr_episodefile_sourcefolder')
|
|
logging.debug(f"Source Folder: {SourceFolder}")
|
|
|
|
|
|
# Get the folder name of the file to check if movie/serie is inside a folder or not
|
|
BasePath = os.path.basename(SourceFolder)
|
|
logging.debug(f"Base Path: {BasePath}")
|
|
except:
|
|
logging.warning("Could not get environment variables")
|
|
|
|
if BasePath not in PATH_LIST:
|
|
try:
|
|
os.remove(SourcePath)
|
|
logging.debug(f"Removing file {SourcePath}")
|
|
for file in glob.glob(SourceFolder + "/*"):
|
|
if not file.endswith(".mkv"):
|
|
os.remove(file)
|
|
logging.debug(f"Removing file {file} from {SourceFolder}")
|
|
if not checkSeasonFolder(SourceFolder):
|
|
os.rmdir(SourceFolder)
|
|
logging.debug(f"Deleting folder {SourceFolder}")
|
|
except:
|
|
logging.warning("Error while trying to delete the files")
|
|
else:
|
|
try:
|
|
os.remove(SourcePath)
|
|
except:
|
|
pass
|
|
|
|
sendNotifications("Delete Serie", f"Source Path:{SourcePath}", 10) |