Added a script to set the addedAt datetime to the file creation date
This commit is contained in:
parent
3a615c7eb6
commit
a788f77f96
58
fixadded.py
Executable file
58
fixadded.py
Executable file
|
|
@ -0,0 +1,58 @@
|
|||
#!/usr/bin/python
|
||||
|
||||
import os
|
||||
from datetime import datetime
|
||||
from pathlib import Path
|
||||
from plexapi.myplex import MyPlexAccount
|
||||
from plexapi.server import PlexServer
|
||||
from plexapi.media import Media
|
||||
from pprint import pprint
|
||||
import sys
|
||||
import time
|
||||
|
||||
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()
|
||||
|
||||
fixing = False
|
||||
if len(sys.argv) > 1:
|
||||
if sys.argv[1] == "--fix":
|
||||
fixing = True
|
||||
|
||||
plex = PlexServer(apiconfig.url, apiconfig.apikey)
|
||||
|
||||
wrong_count = 0
|
||||
print("Looking for videos that have added dates not matching ctime...")
|
||||
videos = plex.library.section(apiconfig.libraryname).all()
|
||||
nowstamp = time.time()
|
||||
cutoff = 86400 * 10
|
||||
for video in videos:
|
||||
file = None
|
||||
for part in video.iterParts():
|
||||
if file == None: file = part.file
|
||||
if not os.path.isfile(file):
|
||||
print(f"*** Missing: {video.title} ({file})")
|
||||
continue
|
||||
path = Path(file)
|
||||
stat = path.stat()
|
||||
filestamp = stat.st_mtime
|
||||
#if (nowstamp - addedstamp) < cutoff:
|
||||
# print(f"{video.title}: {addedstamp}")
|
||||
filedate = datetime.fromtimestamp(int(filestamp))
|
||||
addeddate = video.addedAt
|
||||
if filedate.date() != addeddate.date():
|
||||
wrong_count += 1
|
||||
print(f"{video.title}: ctime={filedate.date()} added={addeddate.date()}")
|
||||
if fixing:
|
||||
video.editAddedAt(filedate, locked=True)
|
||||
|
||||
|
||||
print(f"Total Files With Wrong Added: {wrong_count}")
|
||||
if not fixing and (wrong_count > 0):
|
||||
print("Fix these files by using the '--fix' parameter")
|
||||
print()
|
||||
Loading…
Reference in New Issue
Block a user