fixes for non Plex Pass members.

This commit is contained in:
Blacktwin 2018-08-08 11:50:14 -04:00
parent 3cd993aaad
commit f25a881a27

View File

@ -198,7 +198,9 @@ def share(user, sections, allowSync, camera, channels, filterMovies, filterTelev
allowCameraUpload=camera, allowChannels=channels, filterMovies=filterMovies, allowCameraUpload=camera, allowChannels=channels, filterMovies=filterMovies,
filterTelevision=filterTelevision, filterMusic=filterMusic) filterTelevision=filterTelevision, filterMusic=filterMusic)
print('Shared libraries: {sections} with {user}.'.format(sections=sections, user=user)) print('Shared libraries: {sections} with {user}.'.format(sections=sections, user=user))
print('Settings: Sync: {}, Camer Upload: {}, Channels: {}, Movie Filters: {}, TV Filters: {}, Music Filter: {}'. if plex.myPlexSubscription == True:
print('Settings: Sync: {}, Camer Upload: {}, Channels: {}, '
'Movie Filters: {}, TV Filters: {}, Music Filter: {}'.
format(allowSync, camera, channels, filterMovies, filterTelevision, filterMusic)) format(allowSync, camera, channels, filterMovies, filterTelevision, filterMusic))
@ -209,13 +211,6 @@ def unshare(user, sections):
if __name__ == "__main__": if __name__ == "__main__":
movie_ratings = []
show_ratings = []
for movie in movies_keys:
movie_ratings += get_ratings_lst(movie)
for show in show_keys:
show_ratings += get_ratings_lst(show)
timestr = time.strftime("%Y%m%d-%H%M%S") timestr = time.strftime("%Y%m%d-%H%M%S")
parser = argparse.ArgumentParser(description="Share or unshare libraries.", parser = argparse.ArgumentParser(description="Share or unshare libraries.",
@ -226,8 +221,6 @@ if __name__ == "__main__":
help='Display user\'s shared libraries.') help='Display user\'s shared libraries.')
parser.add_argument('--unshare', default=False, action='store_true', parser.add_argument('--unshare', default=False, action='store_true',
help='To unshare all libraries.') help='To unshare all libraries.')
parser.add_argument('--kill', default=False, nargs='?',
help='Kill user\'s current stream(s). Include message to override default message.')
parser.add_argument('--add', default=False, action='store_true', parser.add_argument('--add', default=False, action='store_true',
help='Add additional libraries.') help='Add additional libraries.')
parser.add_argument('--remove', default=False, action='store_true', parser.add_argument('--remove', default=False, action='store_true',
@ -242,6 +235,23 @@ if __name__ == "__main__":
'(choices: %(choices)s') '(choices: %(choices)s')
parser.add_argument('--allLibraries', default=False, action='store_true', parser.add_argument('--allLibraries', default=False, action='store_true',
help='Select all libraries.') help='Select all libraries.')
parser.add_argument('--backup', default=False, action='store_true',
help='Backup share settings from json file.')
parser.add_argument('--restore', type = str, choices = json_check,
help='Restore share settings from json file.\n'
'Filename of json file to use.\n'
'(choices: %(choices)s)')
# For Plex Pass members
if plex.myPlexSubscription == True:
movie_ratings = []
show_ratings = []
for movie in movies_keys:
movie_ratings += get_ratings_lst(movie)
for show in show_keys:
show_ratings += get_ratings_lst(show)
parser.add_argument('--kill', default=False, nargs='?',
help='Kill user\'s current stream(s). Include message to override default message.')
parser.add_argument('--sync', default=False, action='store_true', parser.add_argument('--sync', default=False, action='store_true',
help='Use to allow user to sync content.') help='Use to allow user to sync content.')
parser.add_argument('--camera', default=False, action='store_true', parser.add_argument('--camera', default=False, action='store_true',
@ -263,21 +273,27 @@ if __name__ == "__main__":
parser.add_argument('--musicLabels', nargs='+', metavar='', parser.add_argument('--musicLabels', nargs='+', metavar='',
help='Use to add label restrictions for music library types.') help='Use to add label restrictions for music library types.')
parser.add_argument('--backup', default=False, action='store_true',
help='Backup share settings from json file.')
parser.add_argument('--restore', type = str, choices = json_check,
help='Restore share settings from json file.\n'
'Filename of json file to use.\n'
'(choices: %(choices)s)')
opts = parser.parse_args() opts = parser.parse_args()
users = '' users = ''
libraries = '' libraries = ''
# Plex Pass additional share options
kill = False
sync = False
camera = False
channels = False
filterMovies = {} filterMovies = {}
filterTelevision = {} filterTelevision = {}
filterMusic = {} filterMusic = {}
try:
# Setting additional share options if opts.kill:
kill = opts.kill
if opts.sync:
sync = opts.sync
if opts.camera:
camera = opts.camera
if opts.channels:
channels = opts.channels
if opts.movieLabels: if opts.movieLabels:
filterMovies['label'] = opts.movieLabels filterMovies['label'] = opts.movieLabels
if opts.movieRatings: if opts.movieRatings:
@ -288,6 +304,8 @@ if __name__ == "__main__":
filterTelevision['contentRating'] = opts.tvRatings filterTelevision['contentRating'] = opts.tvRatings
if opts.musicLabels: if opts.musicLabels:
filterMusic['label'] = opts.musicLabels filterMusic['label'] = opts.musicLabels
except AttributeError:
print('No Plex Pass moving on...')
# Defining users # Defining users
if opts.allUsers and not opts.user: if opts.allUsers and not opts.user:
@ -316,28 +334,28 @@ if __name__ == "__main__":
user_shares = find_shares(user) user_shares = find_shares(user)
if libraries: if libraries:
if opts.share: if opts.share:
share(user, libraries, opts.sync, opts.camera, opts.channels, filterMovies, filterTelevision, share(user, libraries, sync, camera, channels, filterMovies, filterTelevision,
filterMusic) filterMusic)
if opts.add and user_shares['sections']: if opts.add and user_shares['sections']:
libraries = libraries + user_shares['sections'] libraries = libraries + user_shares['sections']
libraries = list(set(libraries)) libraries = list(set(libraries))
share(user, libraries, opts.sync, opts.camera, opts.channels, filterMovies, filterTelevision, share(user, libraries, sync, camera, channels, filterMovies, filterTelevision,
filterMusic) filterMusic)
if opts.remove and user_shares['sections']: if opts.remove and user_shares['sections']:
libraries = [sect for sect in user_shares['sections'] if sect not in libraries] libraries = [sect for sect in user_shares['sections'] if sect not in libraries]
share(user, libraries, opts.sync, opts.camera, opts.channels, filterMovies, filterTelevision, share(user, libraries, sync, camera, channels, filterMovies, filterTelevision,
filterMusic) filterMusic)
if opts.shared: if opts.shared:
user_json = json.dumps(user_shares, indent=4, sort_keys=True) user_json = json.dumps(user_shares, indent=4, sort_keys=True)
print('Current share settings for {}: {}'.format(user, user_json)) print('Current share settings for {}: {}'.format(user, user_json))
if opts.unshare and opts.kill: if opts.unshare and kill:
kill_session(user, opts.kill) kill_session(user, kill)
time.sleep(3) time.sleep(3)
unshare(user, sections_lst) unshare(user, sections_lst)
elif opts.unshare: elif opts.unshare:
unshare(user, sections_lst) unshare(user, sections_lst)
elif opts.kill: elif kill:
kill_session(user, opts.kill) kill_session(user, kill)
if opts.backup: if opts.backup:
print('Backing up share information...') print('Backing up share information...')