diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index 649e1a6..b3fdda5 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,9 +1,9 @@ -speakeasyVersion: 1.314.2 +speakeasyVersion: 1.315.2 sources: my-source: sourceNamespace: my-source - sourceRevisionDigest: sha256:47470bfb44b020cd69be59454db663cee96e3785fe69c1cb66975c79fc70f4f5 - sourceBlobDigest: sha256:a96006e2ed7e711843decd464b26f3a516ea491a27a009b5e5bdc2b10e376cd2 + sourceRevisionDigest: sha256:613a501abaf2ce6ec122540abf84fa5126de2616f7c715d76a4a95e518b72c64 + sourceBlobDigest: sha256:05a6870a98b2913fd1f872f9cd4130fe01e19da77202af2d6df92109ce41634b tags: - latest - main @@ -11,8 +11,8 @@ targets: plexpy: source: my-source sourceNamespace: my-source - sourceRevisionDigest: sha256:47470bfb44b020cd69be59454db663cee96e3785fe69c1cb66975c79fc70f4f5 - sourceBlobDigest: sha256:a96006e2ed7e711843decd464b26f3a516ea491a27a009b5e5bdc2b10e376cd2 + sourceRevisionDigest: sha256:613a501abaf2ce6ec122540abf84fa5126de2616f7c715d76a4a95e518b72c64 + sourceBlobDigest: sha256:05a6870a98b2913fd1f872f9cd4130fe01e19da77202af2d6df92109ce41634b outLocation: /github/workspace/repo workflow: workflowVersion: 1.0.0 diff --git a/RELEASES.md b/RELEASES.md index af032e5..bbe3bae 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -648,4 +648,14 @@ Based on: ### Generated - [python v0.10.0] . ### Releases +- [PyPI v0.10.0] https://pypi.org/project/plex-api-client/0.10.0 - . + +## 2024-06-25 00:22:23 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.315.2 (2.352.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.10.0] . +### Releases - [PyPI v0.10.0] https://pypi.org/project/plex-api-client/0.10.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index fc9e7c9..4b931de 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -3,11 +3,11 @@ info: title: CodeSamples overlay for python target version: 0.0.0 actions: - - target: $["paths"]["/butler"]["get"] + - target: $["paths"]["/activities"]["get"] update: x-codeSamples: - lang: python - label: getButlerTasks + label: getServerActivities source: |- import plex_api @@ -17,16 +17,16 @@ actions: ) - res = s.butler.get_butler_tasks() + res = s.activities.get_server_activities() if res.object is not None: # handle response pass - - target: $["paths"]["/library/sections"]["get"] + - target: $["paths"]["/butler"]["post"] update: x-codeSamples: - lang: python - label: getLibraries + label: startAllTasks source: |- import plex_api @@ -36,54 +36,16 @@ actions: ) - res = s.library.get_libraries() + res = s.butler.start_all_tasks() - if res.object is not None: + if res is not None: # handle response pass - - target: $["paths"]["/devices"]["get"] + - target: $["paths"]["/updater/check"]["put"] update: x-codeSamples: - lang: python - label: getDevices - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_devices() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/recentlyAdded"]["get"] - update: - x-codeSamples: - - lang: python - label: getRecentlyAdded - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_recently_added() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/sections/{sectionId}"]["get"] - update: - x-codeSamples: - - lang: python - label: getLibrary + label: checkForUpdates source: |- import plex_api from plex_api.models import operations @@ -94,16 +56,39 @@ actions: ) - res = s.library.get_library(section_id=1000, include_details=operations.IncludeDetails.ZERO) + res = s.updater.check_for_updates(download=operations.Download.ONE) + + if res is not None: + # handle response + pass + - target: $["paths"]["/library/sections/watchlist/{filter}"]["get"] + update: + x-codeSamples: + - lang: python + label: getWatchlist + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.watchlist.get_watchlist(request=operations.GetWatchlistRequest( + filter_=operations.PathParamFilter.RELEASED, + x_plex_token='', + )) if res.object is not None: # handle response pass - - target: $["paths"]["/status/sessions"]["get"] + - target: $["paths"]["/:/prefs"]["get"] update: x-codeSamples: - lang: python - label: getSessions + label: getServerPreferences source: |- import plex_api @@ -113,7 +98,104 @@ actions: ) - res = s.sessions.get_sessions() + res = s.server.get_server_preferences() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/hashes"]["get"] + update: + x-codeSamples: + - lang: python + label: getFileHash + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_file_hash(url='file://C:\Image.png&type=13', type=4462.17) + + if res is not None: + # handle response + pass + - target: $["paths"]["/servers"]["get"] + update: + x-codeSamples: + - lang: python + label: getServerList + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.server.get_server_list() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/sections/{sectionId}/{tag}"]["get"] + update: + x-codeSamples: + - lang: python + label: getLibraryItems + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_library_items(section_id='', tag=operations.Tag.GENRE, include_guids=1) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/log"]["get"] + update: + x-codeSamples: + - lang: python + label: logLine + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.log.log_line(level=operations.Level.THREE, message='Test log message', source='Postman') + + if res is not None: + # handle response + pass + - target: $["paths"]["/"]["get"] + update: + x-codeSamples: + - lang: python + label: getServerCapabilities + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.server.get_server_capabilities() if res.object is not None: # handle response @@ -139,13 +221,14 @@ actions: if res is not None: # handle response pass - - target: $["paths"]["/transcode/sessions"]["get"] + - target: $["paths"]["/playlists"]["post"] update: x-codeSamples: - lang: python - label: getTranscodeSessions + label: createPlaylist source: |- import plex_api + from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -153,16 +236,21 @@ actions: ) - res = s.sessions.get_transcode_sessions() + res = s.playlists.create_playlist(request=operations.CreatePlaylistRequest( + title='', + type=operations.QueryParamType.PHOTO, + smart=operations.Smart.ONE, + uri='https://inborn-brochure.biz', + )) if res.object is not None: # handle response pass - - target: $["paths"]["/activities"]["get"] + - target: $["paths"]["/statistics/resources"]["get"] update: x-codeSamples: - lang: python - label: getServerActivities + label: getResourcesStatistics source: |- import plex_api @@ -172,11 +260,138 @@ actions: ) - res = s.activities.get_server_activities() + res = s.statistics.get_resources_statistics(timespan=4) if res.object is not None: # handle response pass + - target: $["paths"]["/statistics/bandwidth"]["get"] + update: + x-codeSamples: + - lang: python + label: getBandwidthStatistics + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.statistics.get_bandwidth_statistics(timespan=4) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/pins"]["post"] + update: + x-codeSamples: + - lang: python + label: getPin + source: |- + import plex_api + + s = plex_api.PlexAPI( + x_plex_client_identifier='Postman', + ) + + + res = s.plex.get_pin(x_plex_product='Postman', strong=False, x_plex_client_identifier='Postman') + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/butler/{taskName}"]["post"] + update: + x-codeSamples: + - lang: python + label: startTask + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.butler.start_task(task_name=operations.TaskName.CLEAN_OLD_BUNDLES) + + if res is not None: + # handle response + pass + - target: $["paths"]["/library/all/top"]["get"] + update: + x-codeSamples: + - lang: python + label: getTopWatchedContent + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_top_watched_content(type=505531, include_guids=1) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/status/sessions/history/all"]["get"] + update: + x-codeSamples: + - lang: python + label: getSessionHistory + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.sessions.get_session_history(sort='', account_id=1, filter_=operations.Filter(), library_section_id=12) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/:/timeline"]["get"] + update: + x-codeSamples: + - lang: python + label: getTimeline + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.video.get_timeline(request=operations.GetTimelineRequest( + rating_key=23409, + key='/library/metadata/23409', + state=operations.State.PLAYING, + has_mde=1, + time=2000, + duration=10000, + context='home:hub.continueWatching', + play_queue_item_id=1, + play_back_time=2000, + row=1, + )) + + if res is not None: + # handle response + pass - target: $["paths"]["/butler/{taskName}"]["delete"] update: x-codeSamples: @@ -197,11 +412,11 @@ actions: if res is not None: # handle response pass - - target: $["paths"]["/playlists/{playlistID}"]["get"] + - target: $["paths"]["/library/sections"]["get"] update: x-codeSamples: - lang: python - label: getPlaylist + label: getLibraries source: |- import plex_api @@ -211,11 +426,643 @@ actions: ) - res = s.playlists.get_playlist(playlist_id=4109.48) + res = s.library.get_libraries() if res.object is not None: # handle response pass + - target: $["paths"]["/library/sections/{sectionId}"]["get"] + update: + x-codeSamples: + - lang: python + label: getLibrary + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_library(section_id=1000, include_details=operations.IncludeDetails.ZERO) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/sections/{sectionId}"]["delete"] + update: + x-codeSamples: + - lang: python + label: deleteLibrary + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.delete_library(section_id=1000) + + if res is not None: + # handle response + pass + - target: $["paths"]["/library/sections/{sectionId}/search"]["get"] + update: + x-codeSamples: + - lang: python + label: searchLibrary + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.search_library(section_id=933505, type=operations.Type.FOUR) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/log/networked"]["get"] + update: + x-codeSamples: + - lang: python + label: enablePaperTrail + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.log.enable_paper_trail() + + if res is not None: + # handle response + pass + - target: $["paths"]["/playlists/{playlistID}/items"]["delete"] + update: + x-codeSamples: + - lang: python + label: clearPlaylistContents + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.clear_playlist_contents(playlist_id=1893.18) + + if res is not None: + # handle response + pass + - target: $["paths"]["/butler"]["delete"] + update: + x-codeSamples: + - lang: python + label: stopAllTasks + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.butler.stop_all_tasks() + + if res is not None: + # handle response + pass + - target: $["paths"]["/updater/apply"]["put"] + update: + x-codeSamples: + - lang: python + label: applyUpdates + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.updater.apply_updates(tonight=operations.Tonight.ONE, skip=operations.Skip.ONE) + + if res is not None: + # handle response + pass + - target: $["paths"]["/playlists/upload"]["post"] + update: + x-codeSamples: + - lang: python + label: uploadPlaylist + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.upload_playlist(path='/home/barkley/playlist.m3u', force=operations.Force.ZERO) + + if res is not None: + # handle response + pass + - target: $["paths"]["/hubs/search"]["get"] + update: + x-codeSamples: + - lang: python + label: performSearch + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.search.perform_search(query='dylan', section_id=1516.53, limit=5) + + if res is not None: + # handle response + pass + - target: $["paths"]["/security/resources"]["get"] + update: + x-codeSamples: + - lang: python + label: getSourceConnectionInformation + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.authentication.get_source_connection_information(source='server://client-identifier') + + if res is not None: + # handle response + pass + - target: $["paths"]["/home"]["get"] + update: + x-codeSamples: + - lang: python + label: getHomeData + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.plex.get_home_data() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/:/unscrobble"]["get"] + update: + x-codeSamples: + - lang: python + label: markUnplayed + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.media.mark_unplayed(key=59398) + + if res is not None: + # handle response + pass + - target: $["paths"]["/hubs/sections/{sectionId}"]["get"] + update: + x-codeSamples: + - lang: python + label: getLibraryHubs + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.hubs.get_library_hubs(section_id=6728.76, count=9010.22, only_transient=operations.QueryParamOnlyTransient.ZERO) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"] + update: + x-codeSamples: + - lang: python + label: stopTranscodeSession + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.sessions.stop_transcode_session(session_key='zz7llzqlx8w9vnrsbnwhbmep') + + if res is not None: + # handle response + pass + - target: $["paths"]["/clients"]["get"] + update: + x-codeSamples: + - lang: python + label: getAvailableClients + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.server.get_available_clients() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/:/scrobble"]["get"] + update: + x-codeSamples: + - lang: python + label: markPlayed + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.media.mark_played(key=59398) + + if res is not None: + # handle response + pass + - target: $["paths"]["/hubs"]["get"] + update: + x-codeSamples: + - lang: python + label: getGlobalHubs + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.hubs.get_global_hubs(count=1262.49, only_transient=operations.OnlyTransient.ONE) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/myplex/account"]["get"] + update: + x-codeSamples: + - lang: python + label: getMyPlexAccount + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.server.get_my_plex_account() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/playlists/{playlistID}"]["delete"] + update: + x-codeSamples: + - lang: python + label: deletePlaylist + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.delete_playlist(playlist_id=216.22) + + if res is not None: + # handle response + pass + - target: $["paths"]["/search"]["get"] + update: + x-codeSamples: + - lang: python + label: getSearchResults + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.search.get_search_results(query='110') + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/recentlyAdded"]["get"] + update: + x-codeSamples: + - lang: python + label: getRecentlyAdded + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_recently_added() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/playlists/{playlistID}"]["put"] + update: + x-codeSamples: + - lang: python + label: updatePlaylist + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.update_playlist(playlist_id=3915, title='', summary='') + + if res is not None: + # handle response + pass + - target: $["paths"]["/transcode/sessions"]["get"] + update: + x-codeSamples: + - lang: python + label: getTranscodeSessions + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.sessions.get_transcode_sessions() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/pins/{pinID}"]["get"] + update: + x-codeSamples: + - lang: python + label: getToken + source: |- + import plex_api + + s = plex_api.PlexAPI( + x_plex_client_identifier='Postman', + ) + + + res = s.plex.get_token(pin_id='', x_plex_client_identifier='Postman') + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] + update: + x-codeSamples: + - lang: python + label: startUniversalTranscode + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.video.start_universal_transcode(request=operations.StartUniversalTranscodeRequest( + has_mde=1, + path='/library/metadata/23409', + media_index=0, + part_index=0, + protocol='hls', + fast_seek=0, + direct_play=0, + direct_stream=0, + subtitle_size=100, + subtites='burn', + audio_boost=100, + location='lan', + media_buffer_size=102400, + session='zvcage8b7rkioqcm8f4uns4c', + add_debug_overlay=0, + auto_adjust_quality=0, + )) + + if res is not None: + # handle response + pass + - target: $["paths"]["/hubs/search/voice"]["get"] + update: + x-codeSamples: + - lang: python + label: performVoiceSearch + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.search.perform_voice_search(query='dead+poop', section_id=4094.8, limit=5) + + if res is not None: + # handle response + pass + - target: $["paths"]["/library/sections/{sectionId}/refresh"]["get"] + update: + x-codeSamples: + - lang: python + label: refreshLibrary + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.refresh_library(section_id=934.16) + + if res is not None: + # handle response + pass + - target: $["paths"]["/playlists/{playlistID}/items"]["get"] + update: + x-codeSamples: + - lang: python + label: getPlaylistContents + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.get_playlist_contents(playlist_id=5004.46, type=9403.59) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/playlists/{playlistID}/items"]["put"] + update: + x-codeSamples: + - lang: python + label: addPlaylistContents + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.playlists.add_playlist_contents(playlist_id=8502.01, uri='server://12345/com.plexapp.plugins.library/library/metadata/1', play_queue_id=123) + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/security/token"]["get"] + update: + x-codeSamples: + - lang: python + label: getTransientToken + source: |- + import plex_api + from plex_api.models import operations + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.authentication.get_transient_token(type=operations.GetTransientTokenQueryParamType.DELEGATION, scope=operations.Scope.ALL) + + if res is not None: + # handle response + pass + - target: $["paths"]["/:/progress"]["post"] + update: + x-codeSamples: + - lang: python + label: updatePlayProgress + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.media.update_play_progress(key='', time=90000, state='played') + + if res is not None: + # handle response + pass + - target: $["paths"]["/activities/{activityUUID}"]["delete"] + update: + x-codeSamples: + - lang: python + label: cancelServerActivities + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.activities.cancel_server_activities(activity_uuid='25b71ed5-0f9d-461c-baa7-d404e9e10d3e') + + if res is not None: + # handle response + pass - target: $["paths"]["/statistics/media"]["get"] update: x-codeSamples: @@ -263,68 +1110,11 @@ actions: if res is not None: # handle response pass - - target: $["paths"]["/video/:/transcode/universal/start.mpd"]["get"] + - target: $["paths"]["/library/metadata/{ratingKey}"]["get"] update: x-codeSamples: - lang: python - label: startUniversalTranscode - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.video.start_universal_transcode(request=operations.StartUniversalTranscodeRequest( - has_mde=1, - path='/library/metadata/23409', - media_index=0, - part_index=0, - protocol='hls', - fast_seek=0, - direct_play=0, - direct_stream=0, - subtitle_size=100, - subtites='burn', - audio_boost=100, - location='lan', - media_buffer_size=102400, - session='zvcage8b7rkioqcm8f4uns4c', - add_debug_overlay=0, - auto_adjust_quality=0, - )) - - if res is not None: - # handle response - pass - - target: $["paths"]["/butler/{taskName}"]["post"] - update: - x-codeSamples: - - lang: python - label: startTask - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.butler.start_task(task_name=operations.TaskName.CLEAN_OLD_BUNDLES) - - if res is not None: - # handle response - pass - - target: $["paths"]["/hubs/search"]["get"] - update: - x-codeSamples: - - lang: python - label: performSearch + label: getMetadata source: |- import plex_api @@ -334,219 +1124,7 @@ actions: ) - res = s.search.perform_search(query='dylan', section_id=1516.53, limit=5) - - if res is not None: - # handle response - pass - - target: $["paths"]["/transcode/sessions/{sessionKey}"]["delete"] - update: - x-codeSamples: - - lang: python - label: stopTranscodeSession - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.sessions.stop_transcode_session(session_key='zz7llzqlx8w9vnrsbnwhbmep') - - if res is not None: - # handle response - pass - - target: $["paths"]["/home"]["get"] - update: - x-codeSamples: - - lang: python - label: getHomeData - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.plex.get_home_data() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/hubs"]["get"] - update: - x-codeSamples: - - lang: python - label: getGlobalHubs - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.hubs.get_global_hubs(count=1262.49, only_transient=operations.OnlyTransient.ONE) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/sections/{sectionId}/{tag}"]["get"] - update: - x-codeSamples: - - lang: python - label: getLibraryItems - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_library_items(section_id='', tag=operations.Tag.GENRE, include_guids=1) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/onDeck"]["get"] - update: - x-codeSamples: - - lang: python - label: getOnDeck - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_on_deck() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/identity"]["get"] - update: - x-codeSamples: - - lang: python - label: getServerIdentity - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_server_identity() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/servers"]["get"] - update: - x-codeSamples: - - lang: python - label: getServerList - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_server_list() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/search"]["get"] - update: - x-codeSamples: - - lang: python - label: getSearchResults - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.search.get_search_results(query='110') - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"] - update: - x-codeSamples: - - lang: python - label: getMetadataChildren - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_metadata_children(rating_key=1539.14, include_elements='') - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/log"]["get"] - update: - x-codeSamples: - - lang: python - label: logLine - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.log.log_line(level=operations.Level.THREE, message='Test log message', source='Postman') - - if res is not None: - # handle response - pass - - target: $["paths"]["/:/prefs"]["get"] - update: - x-codeSamples: - - lang: python - label: getServerPreferences - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_server_preferences() + res = s.library.get_metadata(rating_key=8382.31) if res.object is not None: # handle response @@ -571,31 +1149,11 @@ actions: if res.object is not None: # handle response pass - - target: $["paths"]["/updater/apply"]["put"] + - target: $["paths"]["/playlists/{playlistID}"]["get"] update: x-codeSamples: - lang: python - label: applyUpdates - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.updater.apply_updates(tonight=operations.Tonight.ONE, skip=operations.Skip.ONE) - - if res is not None: - # handle response - pass - - target: $["paths"]["/playlists/{playlistID}"]["put"] - update: - x-codeSamples: - - lang: python - label: updatePlaylist + label: getPlaylist source: |- import plex_api @@ -605,38 +1163,18 @@ actions: ) - res = s.playlists.update_playlist(playlist_id=3915, title='', summary='') - - if res is not None: - # handle response - pass - - target: $["paths"]["/playlists/{playlistID}/items"]["put"] - update: - x-codeSamples: - - lang: python - label: addPlaylistContents - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.playlists.add_playlist_contents(playlist_id=8502.01, uri='server://12345/com.plexapp.plugins.library/library/metadata/1', play_queue_id=123) + res = s.playlists.get_playlist(playlist_id=4109.48) if res.object is not None: # handle response pass - - target: $["paths"]["/playlists/upload"]["post"] + - target: $["paths"]["/butler"]["get"] update: x-codeSamples: - lang: python - label: uploadPlaylist + label: getButlerTasks source: |- import plex_api - from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -644,9 +1182,85 @@ actions: ) - res = s.playlists.upload_playlist(path='/home/barkley/playlist.m3u', force=operations.Force.ZERO) + res = s.butler.get_butler_tasks() - if res is not None: + if res.object is not None: + # handle response + pass + - target: $["paths"]["/identity"]["get"] + update: + x-codeSamples: + - lang: python + label: getServerIdentity + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.server.get_server_identity() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/metadata/{ratingKey}/children"]["get"] + update: + x-codeSamples: + - lang: python + label: getMetadataChildren + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_metadata_children(rating_key=1539.14, include_elements='') + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/library/onDeck"]["get"] + update: + x-codeSamples: + - lang: python + label: getOnDeck + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.library.get_on_deck() + + if res.object is not None: + # handle response + pass + - target: $["paths"]["/status/sessions"]["get"] + update: + x-codeSamples: + - lang: python + label: getSessions + source: |- + import plex_api + + s = plex_api.PlexAPI( + access_token="", + x_plex_client_identifier='Postman', + ) + + + res = s.sessions.get_sessions() + + if res.object is not None: # handle response pass - target: $["paths"]["/updater/status"]["get"] @@ -668,31 +1282,11 @@ actions: if res.object is not None: # handle response pass - - target: $["paths"]["/updater/check"]["put"] + - target: $["paths"]["/devices"]["get"] update: x-codeSamples: - lang: python - label: checkForUpdates - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.updater.check_for_updates(download=operations.Download.ONE) - - if res is not None: - # handle response - pass - - target: $["paths"]["/playlists/{playlistID}/items"]["delete"] - update: - x-codeSamples: - - lang: python - label: clearPlaylistContents + label: getDevices source: |- import plex_api @@ -702,601 +1296,7 @@ actions: ) - res = s.playlists.clear_playlist_contents(playlist_id=1893.18) - - if res is not None: - # handle response - pass - - target: $["paths"]["/statistics/resources"]["get"] - update: - x-codeSamples: - - lang: python - label: getResourcesStatistics - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.statistics.get_resources_statistics(timespan=4) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/"]["get"] - update: - x-codeSamples: - - lang: python - label: getServerCapabilities - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_server_capabilities() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/:/progress"]["post"] - update: - x-codeSamples: - - lang: python - label: updatePlayProgress - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.media.update_play_progress(key='', time=90000, state='played') - - if res is not None: - # handle response - pass - - target: $["paths"]["/activities/{activityUUID}"]["delete"] - update: - x-codeSamples: - - lang: python - label: cancelServerActivities - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.activities.cancel_server_activities(activity_uuid='25b71ed5-0f9d-461c-baa7-d404e9e10d3e') - - if res is not None: - # handle response - pass - - target: $["paths"]["/library/sections/{sectionId}"]["delete"] - update: - x-codeSamples: - - lang: python - label: deleteLibrary - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.delete_library(section_id=1000) - - if res is not None: - # handle response - pass - - target: $["paths"]["/library/sections/{sectionId}/refresh"]["get"] - update: - x-codeSamples: - - lang: python - label: refreshLibrary - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.refresh_library(section_id=934.16) - - if res is not None: - # handle response - pass - - target: $["paths"]["/library/hashes"]["get"] - update: - x-codeSamples: - - lang: python - label: getFileHash - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_file_hash(url='file://C:\Image.png&type=13', type=4462.17) - - if res is not None: - # handle response - pass - - target: $["paths"]["/security/resources"]["get"] - update: - x-codeSamples: - - lang: python - label: getSourceConnectionInformation - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.authentication.get_source_connection_information(source='server://client-identifier') - - if res is not None: - # handle response - pass - - target: $["paths"]["/library/sections/watchlist/{filter}"]["get"] - update: - x-codeSamples: - - lang: python - label: getWatchlist - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.watchlist.get_watchlist(request=operations.GetWatchlistRequest( - filter_=operations.PathParamFilter.RELEASED, - x_plex_token='', - )) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/myplex/account"]["get"] - update: - x-codeSamples: - - lang: python - label: getMyPlexAccount - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_my_plex_account() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/:/scrobble"]["get"] - update: - x-codeSamples: - - lang: python - label: markPlayed - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.media.mark_played(key=59398) - - if res is not None: - # handle response - pass - - target: $["paths"]["/butler"]["post"] - update: - x-codeSamples: - - lang: python - label: startAllTasks - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.butler.start_all_tasks() - - if res is not None: - # handle response - pass - - target: $["paths"]["/pins/{pinID}"]["get"] - update: - x-codeSamples: - - lang: python - label: getToken - source: |- - import plex_api - - s = plex_api.PlexAPI( - x_plex_client_identifier='Postman', - ) - - - res = s.plex.get_token(pin_id='', x_plex_client_identifier='Postman') - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/metadata/{ratingKey}"]["get"] - update: - x-codeSamples: - - lang: python - label: getMetadata - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_metadata(rating_key=8382.31) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/clients"]["get"] - update: - x-codeSamples: - - lang: python - label: getAvailableClients - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.server.get_available_clients() - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/hubs/sections/{sectionId}"]["get"] - update: - x-codeSamples: - - lang: python - label: getLibraryHubs - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.hubs.get_library_hubs(section_id=6728.76, count=9010.22, only_transient=operations.QueryParamOnlyTransient.ZERO) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/log/networked"]["get"] - update: - x-codeSamples: - - lang: python - label: enablePaperTrail - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.log.enable_paper_trail() - - if res is not None: - # handle response - pass - - target: $["paths"]["/playlists/{playlistID}"]["delete"] - update: - x-codeSamples: - - lang: python - label: deletePlaylist - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.playlists.delete_playlist(playlist_id=216.22) - - if res is not None: - # handle response - pass - - target: $["paths"]["/security/token"]["get"] - update: - x-codeSamples: - - lang: python - label: getTransientToken - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.authentication.get_transient_token(type=operations.GetTransientTokenQueryParamType.DELEGATION, scope=operations.Scope.ALL) - - if res is not None: - # handle response - pass - - target: $["paths"]["/pins"]["post"] - update: - x-codeSamples: - - lang: python - label: getPin - source: |- - import plex_api - - s = plex_api.PlexAPI( - x_plex_client_identifier='Postman', - ) - - - res = s.plex.get_pin(x_plex_product='Postman', strong=False, x_plex_client_identifier='Postman') - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/playlists/{playlistID}/items"]["get"] - update: - x-codeSamples: - - lang: python - label: getPlaylistContents - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.playlists.get_playlist_contents(playlist_id=5004.46, type=9403.59) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/statistics/bandwidth"]["get"] - update: - x-codeSamples: - - lang: python - label: getBandwidthStatistics - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.statistics.get_bandwidth_statistics(timespan=4) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/library/all/top"]["get"] - update: - x-codeSamples: - - lang: python - label: getTopWatchedContent - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.get_top_watched_content(type=505531, include_guids=1) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/playlists"]["post"] - update: - x-codeSamples: - - lang: python - label: createPlaylist - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.playlists.create_playlist(request=operations.CreatePlaylistRequest( - title='', - type=operations.QueryParamType.PHOTO, - smart=operations.Smart.ONE, - uri='https://inborn-brochure.biz', - )) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/status/sessions/history/all"]["get"] - update: - x-codeSamples: - - lang: python - label: getSessionHistory - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.sessions.get_session_history(sort='', account_id=1, filter_=operations.Filter(), library_section_id=12) - - if res.object is not None: - # handle response - pass - - target: $["paths"]["/:/unscrobble"]["get"] - update: - x-codeSamples: - - lang: python - label: markUnplayed - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.media.mark_unplayed(key=59398) - - if res is not None: - # handle response - pass - - target: $["paths"]["/:/timeline"]["get"] - update: - x-codeSamples: - - lang: python - label: getTimeline - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.video.get_timeline(request=operations.GetTimelineRequest( - rating_key=23409, - key='/library/metadata/23409', - state=operations.State.PLAYING, - has_mde=1, - time=2000, - duration=10000, - context='home:hub.continueWatching', - play_queue_item_id=1, - play_back_time=2000, - row=1, - )) - - if res is not None: - # handle response - pass - - target: $["paths"]["/butler"]["delete"] - update: - x-codeSamples: - - lang: python - label: stopAllTasks - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.butler.stop_all_tasks() - - if res is not None: - # handle response - pass - - target: $["paths"]["/hubs/search/voice"]["get"] - update: - x-codeSamples: - - lang: python - label: performVoiceSearch - source: |- - import plex_api - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.search.perform_voice_search(query='dead+poop', section_id=4094.8, limit=5) - - if res is not None: - # handle response - pass - - target: $["paths"]["/library/sections/{sectionId}/search"]["get"] - update: - x-codeSamples: - - lang: python - label: searchLibrary - source: |- - import plex_api - from plex_api.models import operations - - s = plex_api.PlexAPI( - access_token="", - x_plex_client_identifier='Postman', - ) - - - res = s.library.search_library(section_id=933505, type=operations.Type.FOUR) + res = s.server.get_devices() if res.object is not None: # handle response