Create aired_today_playlist.py
https://gist.github.com/blacktwin/397f07724abebd1223ba6ea644ea1669
This commit is contained in:
parent
84359a3e59
commit
4208b3dbaa
60
aired_today_playlist.py
Normal file
60
aired_today_playlist.py
Normal file
@ -0,0 +1,60 @@
|
||||
"""
|
||||
Create a Plex Playlist with what was aired on this today's month-day, sort by oldest first.
|
||||
If Playlist from yesterday exists delete and create today's.
|
||||
If today's Playlist exists exit.
|
||||
"""
|
||||
|
||||
import operator, time
|
||||
from plexapi.server import PlexServer
|
||||
import requests
|
||||
|
||||
baseurl = 'http://localhost:32400'
|
||||
token = 'xxxxxx'
|
||||
plex = PlexServer(baseurl, token)
|
||||
|
||||
library_name = ['Movies', 'TV Shows'] # You library names
|
||||
|
||||
child_lst = []
|
||||
aired_lst = []
|
||||
|
||||
today = time.gmtime(time.time())
|
||||
|
||||
TODAY_PLAY_TITLE = 'Aired Today {}-{}'.format(today.tm_mon, today.tm_mday)
|
||||
|
||||
# Remove old Aired Today Playlists
|
||||
for playlist in plex.playlists():
|
||||
if playlist.title == TODAY_PLAY_TITLE.startswith('Aired Today') and not TODAY_PLAY_TITLE:
|
||||
r = requests.delete('{}/playlists/{}?X-Plex-Token={}'
|
||||
.format(baseurl, TODAY_PLAY_TITLE, token))
|
||||
print('Removing old Aired Today Playlists ')
|
||||
print(r)
|
||||
elif playlist.title == TODAY_PLAY_TITLE:
|
||||
print('{} already exists. No need to make again.'.format(TODAY_PLAY_TITLE))
|
||||
exit(0)
|
||||
|
||||
# Get all movies or episodes from LIBRARY_NAME
|
||||
for library in library_name:
|
||||
for child in plex.library.section(library).all():
|
||||
if child.type == 'movie':
|
||||
child_lst += [child]
|
||||
elif child.type == 'show':
|
||||
child_lst += child.episodes()
|
||||
else:
|
||||
pass
|
||||
|
||||
# Find what aired with today's month-day
|
||||
for video in child_lst:
|
||||
try:
|
||||
if str(video.originallyAvailableAt.month) == str(today.tm_mon) \
|
||||
and str(video.originallyAvailableAt.day) == str(today.tm_mday):
|
||||
aired_lst += [[video] + [str(video.originallyAvailableAt)]]
|
||||
except Exception as e:
|
||||
pass
|
||||
# Sort by original air date, oldest first
|
||||
aired_lst = sorted(aired_lst, key=operator.itemgetter(1))
|
||||
|
||||
# Remove date used for sorting
|
||||
play_lst = [x[0] for x in aired_lst]
|
||||
|
||||
# Create Playlist
|
||||
plex.createPlaylist(TODAY_PLAY_TITLE, play_lst)
|
Loading…
Reference in New Issue
Block a user