def example_008_get_stream_url(plex): """ Example 8: Get a URL you can open in VLC, MPV, etc. """ jurassic_park = plex.library.section('Movies').get('Jurassic Park') print('Try running the following command:') print('vlc "%s"' % jurassic_park.getStreamUrl(videoResolution='800x600')) if __name__ == '__main__': parser = argparse.ArgumentParser(description='Run PlexAPI examples.') parser.add_argument('-r', '--resource', help='Name of the Plex resource (requires user/pass).') parser.add_argument('-u', '--username', help='Username for the Plex server.') parser.add_argument('-p', '--password', help='Password for the Plex server.') parser.add_argument( '-n', '--name', help= 'Only run tests containing this string. Leave blank to run all examples.' ) args = parser.parse_args() plex, user = fetch_server(args) for example in iter_tests(__name__, args): example(plex)
jurassic_park = movies.get('Jurassic Park') director = jurassic_park.directors[0] for movie in movies.search(None, director=director): print(movie.title) def example_007_list_files(plex): """ Example 7: List files for the latest episode of Friends. """ the_last_one = plex.library.section('TV Shows').get('Friends').episodes()[-1] for part in the_last_one.iter_parts(): print(part.file) def example_008_get_stream_url(plex): """ Example 8: Get a URL you can open in VLC, MPV, etc. """ jurassic_park = plex.library.section('Movies').get('Jurassic Park') print('Try running the following command:') print('vlc "%s"' % jurassic_park.getStreamUrl(videoResolution='800x600')) if __name__ == '__main__': parser = argparse.ArgumentParser(description='Run PlexAPI examples.') parser.add_argument('-r', '--resource', help='Name of the Plex resource (requires user/pass).') parser.add_argument('-u', '--username', help='Username for the Plex server.') parser.add_argument('-p', '--password', help='Password for the Plex server.') parser.add_argument('-n', '--name', help='Only run tests containing this string. Leave blank to run all examples.') args = parser.parse_args() plex, user = fetch_server(args) for example in iter_tests(__name__, args): example(plex)
@register() def most_active_users(plex): """ Example 10: List the most active users. """ users = defaultdict(int) for item in plex.history(): print(item.TYPE) users[item.username] += 1 users = sorted(users.items(), key=lambda x:x[1], reverse=True) for user, count in users[:5]: print('%s (%s plays)' % (user, count)) if __name__ == '__main__': # There are three ways to authenticate: # 1. If the server is running on localhost, just run without any auth. # 2. Pass in --username, --password, and --resource. # 3. Pass in --baseurl, --token parser = argparse.ArgumentParser(description='Run PlexAPI examples.') parser.add_argument('-u', '--username', help='Username for your MyPlex account.') parser.add_argument('-p', '--password', help='Password for your MyPlex account.') parser.add_argument('-r', '--resource', help='Name of the Plex resource (requires user/pass).') parser.add_argument('-b', '--baseurl', help='Baseurl needed for auth token authentication') parser.add_argument('-t', '--token', help='Auth token (instead of user/pass)') parser.add_argument('-q', '--example', help='Only run the specified example.') parser.add_argument('-v', '--verbose', default=False, action='store_true', help='Print verbose logging.') args = parser.parse_args() plex, account = fetch_server(args) for example in iter_tests(args.example): example['func'](plex)
# 2. Pass in --username, --password, and --resource. # 3. Pass in --baseurl, --token parser = argparse.ArgumentParser(description='Run PlexAPI examples.') parser.add_argument('-u', '--username', help='Username for your MyPlex account.') parser.add_argument('-p', '--password', help='Password for your MyPlex account.') parser.add_argument('-r', '--resource', help='Name of the Plex resource (requires user/pass).') parser.add_argument('-b', '--baseurl', help='Baseurl needed for auth token authentication') parser.add_argument('-t', '--token', help='Auth token (instead of user/pass)') parser.add_argument('-q', '--example', help='Only run the specified example.') parser.add_argument('-v', '--verbose', default=False, action='store_true', help='Print verbose logging.') args = parser.parse_args() plex, account = fetch_server(args) for example in iter_tests(args.example): example['func'](plex)