Merge remote-tracking branch 'origin/master'
This commit is contained in:
commit
8f92570a16
@ -52,6 +52,7 @@ TAUTULLI_URL = ''
|
||||
TAUTULLI_APIKEY = ''
|
||||
TAUTULLI_URL = os.getenv('TAUTULLI_URL', TAUTULLI_URL)
|
||||
TAUTULLI_APIKEY = os.getenv('TAUTULLI_APIKEY', TAUTULLI_APIKEY)
|
||||
TAUTULLI_ENCODING = os.getenv('TAUTULLI_ENCODING', 'UTF-8')
|
||||
|
||||
SUBJECT_TEXT = "Tautulli has killed a stream."
|
||||
BODY_TEXT = "Killed session ID '{id}'. Reason: {message}"
|
||||
@ -124,7 +125,7 @@ def get_activity():
|
||||
except Exception as e:
|
||||
sys.stderr.write(
|
||||
"Tautulli API 'get_activity' request failed: {0}.\n".format(e))
|
||||
pass
|
||||
return []
|
||||
|
||||
|
||||
def get_user_session_ids(user_id):
|
||||
@ -241,6 +242,10 @@ def terminate_long_pause(session_id, message, limit, interval, notify=None):
|
||||
return
|
||||
|
||||
|
||||
def arg_decoding(arg):
|
||||
return arg.decode(TAUTULLI_ENCODING).encode('UTF-8')
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Killing Plex streams from Tautulli.")
|
||||
@ -248,7 +253,7 @@ if __name__ == "__main__":
|
||||
help='Kill selector.\nChoices: (%(choices)s)')
|
||||
parser.add_argument('--userId', type=int,
|
||||
help='The unique identifier for the user.')
|
||||
parser.add_argument('--username',
|
||||
parser.add_argument('--username', type=arg_decoding,
|
||||
help='The username of the person streaming.')
|
||||
parser.add_argument('--sessionId', required=True,
|
||||
help='The unique identifier for the stream.')
|
||||
@ -259,7 +264,7 @@ if __name__ == "__main__":
|
||||
help='The time session is allowed to remain paused.')
|
||||
parser.add_argument('--interval', type=int, default=30,
|
||||
help='The seconds between paused session checks.')
|
||||
parser.add_argument('--killMessage', nargs='+',
|
||||
parser.add_argument('--killMessage', nargs='+', type=arg_decoding,
|
||||
help='Message to send to user whose stream is killed.')
|
||||
|
||||
opts = parser.parse_args()
|
||||
|
@ -11,7 +11,7 @@ Conditions: \[ `Transcode Decision` | `is` | `transcode` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage Transcoding streams are not allowed.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed.'
|
||||
```
|
||||
|
||||
### Kill non-local streams paused for a long time
|
||||
@ -24,7 +24,7 @@ Conditions: \[ `Stream Local` | `is not` | `1` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop paused --sessionId {session_id} --killMessage Your stream was paused for over 20 minutes and has been automatically stopped for you.
|
||||
--jbop paused --sessionId {session_id} --killMessage 'Your stream was paused for over 20 minutes and has been automatically stopped for you.'
|
||||
```
|
||||
|
||||
### Kill streams paused for a custom time
|
||||
@ -36,7 +36,7 @@ Triggers: Playback Paused
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop paused --interval 15 --limit 300 --sessionId {session_id} --killMessage Your stream was paused for over 5 minutes and has been automatically stopped for you.
|
||||
--jbop paused --interval 15 --limit 300 --sessionId {session_id} --killMessage 'Your stream was paused for over 5 minutes and has been automatically stopped for you.'
|
||||
```
|
||||
|
||||
### Kill paused transcodes
|
||||
@ -46,7 +46,7 @@ Conditions: \[ `Transcode Decision` | `is` | `transcode` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage Paused streams are automatically stopped.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Paused streams are automatically stopped.'
|
||||
```
|
||||
|
||||
### Limit User stream count, kill last stream
|
||||
@ -56,7 +56,7 @@ Conditions: \[ `User Streams` | `is greater than` | `3` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage You are only allowed 3 streams.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'You are only allowed 3 streams.'
|
||||
```
|
||||
|
||||
### IP Whitelist
|
||||
@ -66,7 +66,7 @@ Conditions: \[ `IP Address` | `is not` | `192.168.0.100 or 192.168.0.101` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage {ip_address} is not allowed to access {server_name}.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage '{ip_address} is not allowed to access {server_name}.'
|
||||
```
|
||||
|
||||
### Kill by platform
|
||||
@ -76,7 +76,7 @@ Conditions: \[ `Platform` | `is` | `Roku or Android` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage {platform} is not allowed on {server_name}.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage '{platform} is not allowed on {server_name}.'
|
||||
```
|
||||
|
||||
### Kill transcode by library
|
||||
@ -88,7 +88,7 @@ Conditions:
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage Transcoding streams are not allowed from the 4K Movies library.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed from the 4K Movies library.'
|
||||
```
|
||||
|
||||
### Kill transcode by original resolution
|
||||
@ -100,7 +100,7 @@ Conditions:
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage Transcoding streams are not allowed for {stream_video_resolution}p streams.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed for {stream_video_resolution}p streams.'
|
||||
```
|
||||
|
||||
### Kill transcode by bitrate
|
||||
@ -112,7 +112,7 @@ Conditions:
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage Transcoding streams are not allowed from over 4 Mbps (Yours: {stream_bitrate}).
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage 'Transcoding streams are not allowed from over 4 Mbps (Yours: {stream_bitrate}).'
|
||||
```
|
||||
|
||||
### Kill by hours of the day
|
||||
@ -123,7 +123,7 @@ Triggers: Playback Start
|
||||
Conditions: \[ `Timestamp` | `begins with` | `09 or 10` \]
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage {server_name} is unavailable between 9 and 10 AM.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage '{server_name} is unavailable between 9 and 10 AM.'
|
||||
```
|
||||
|
||||
### Kill non local streams
|
||||
@ -132,7 +132,7 @@ Triggers: Playback Start
|
||||
Conditions: \[ `Stream Local` | `is not` | `1` \]
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage {server_name} only allows local streams.
|
||||
--jbop stream --username {username} --sessionId {session_id} --killMessage '{server_name} only allows local streams.'
|
||||
```
|
||||
|
||||
### Kill transcodes and send a notification to agent 1
|
||||
@ -142,7 +142,7 @@ Conditions: \[ `Transcode Decision` | `is` | `transcode` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop stream --username {username} --sessionId {session_id} --notify 1 --killMessage Transcoding streams are not allowed.
|
||||
--jbop stream --username {username} --sessionId {session_id} --notify 1 --killMessage 'Transcoding streams are not allowed.'
|
||||
```
|
||||
|
||||
### Kill transcodes using the default message
|
||||
@ -162,5 +162,5 @@ Conditions: \[ `Username` | `is` | `Bob` \]
|
||||
|
||||
Arguments:
|
||||
```
|
||||
--jbop allStreams --userId {user_id} --notify 1 --killMessage Hey Bob, we need to talk!
|
||||
--jbop allStreams --userId {user_id} --notify 1 --killMessage 'Hey Bob, we need to talk!'
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user