JBOPS/killstream/kill_session_bitrate.py
2017-10-20 15:19:50 -04:00

38 lines
1.1 KiB
Python

"""
Kill stream if bitrate is > BITRATE_LIMIT
PlexPy > Settings > Notification Agents > Scripts > Bell icon:
[X] Notify on playback start
PlexPy > Settings > Notification Agents > Scripts > Gear icon:
Playback Start: kill_session_bitrate.py
"""
import requests
from plexapi.server import PlexServer
## EDIT THESE SETTINGS ##
PLEX_TOKEN = 'xxxxx'
PLEX_URL = 'http://localhost:32400'
MESSAGE = "You are not allowed to stream above 4 Mbps."
ignore_lst = ('')
##/EDIT THESE SETTINGS ##
sess = requests.Session()
sess.verify = False
plex = PlexServer(PLEX_URL, PLEX_TOKEN, session=sess)
def kill_session():
for session in plex.sessions():
bitrate = session.media[0].parts[0].streams[0].bitrate
user = session.usernames[0]
if user not in ignore_lst and int(bitrate) > 4000:
title = (session.grandparentTitle + ' - ' if session.type == 'episode' else '') + session.title
print('{user} is watching {title} and they might be asleep.'.format(user=user, title=title))
session.stop(reason=MESSAGE)
kill_session()