mirror of
https://github.com/LukeHagar/plexpy.git
synced 2025-12-06 04:20:52 +00:00
* `plex_api.butler.start_task()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.butler.stop_task()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.updater.apply_updates()`: * `request` **Changed** **Breaking** ⚠️ * `error` **Changed** **Breaking** ⚠️ * `plex_api.general.get_server_info()`: **Added** * `plex_api.general.get_identity()`: **Added** * `plex_api.general.get_source_connection_information()`: **Added** * `plex_api.general.get_transient_token()`: **Added** * `plex_api.events.get_notifications()`: **Added** * `plex_api.events.connect_web_socket()`: **Added** * `plex_api.preferences.get_all_preferences()`: **Added** * `plex_api.preferences.set_preferences()`: **Added** * `plex_api.preferences.get_preference()`: **Added** * `plex_api.rate.set_rating()`: **Added** * `plex_api.timeline.mark_played()`: **Added** * `plex_api.timeline.report()`: **Added** * `plex_api.timeline.unscrobble()`: **Added** * `plex_api.activities.list_activities()`: **Added** * `plex_api.activities.cancel_activity()`: **Added** * `plex_api.butler.stop_tasks()`: **Added** * `plex_api.butler.get_tasks()`: **Added** * `plex_api.butler.start_tasks()`: **Added** * `plex_api.download_queue.create_download_queue()`: **Added** * `plex_api.download_queue.get_download_queue()`: **Added** * `plex_api.download_queue.add_download_queue_items()`: **Added** * `plex_api.download_queue.list_download_queue_items()`: **Added** * `plex_api.download_queue.get_item_decision()`: **Added** * `plex_api.download_queue.get_download_queue_media()`: **Added** * `plex_api.download_queue.remove_download_queue_items()`: **Added** * `plex_api.download_queue.get_download_queue_items()`: **Added** * `plex_api.download_queue.restart_processing_download_queue_items()`: **Added** * `plex_api.hubs.get_all_hubs()`: **Added** * `plex_api.hubs.get_continue_watching()`: **Added** * `plex_api.hubs.get_hub_items()`: **Added** * `plex_api.hubs.get_promoted_hubs()`: **Added** * `plex_api.hubs.get_metadata_hubs()`: **Added** * `plex_api.hubs.get_postplay_hubs()`: **Added** * `plex_api.hubs.get_related_hubs()`: **Added** * `plex_api.hubs.get_section_hubs()`: **Added** * `plex_api.hubs.reset_section_defaults()`: **Added** * `plex_api.hubs.list_hubs()`: **Added** * `plex_api.hubs.create_custom_hub()`: **Added** * `plex_api.hubs.move_hub()`: **Added** * `plex_api.hubs.delete_custom_hub()`: **Added** * `plex_api.hubs.update_hub_visibility()`: **Added** * `plex_api.search.search_hubs()`: **Added** * `plex_api.search.voice_search_hubs()`: **Added** * `plex_api.library.get_library_items()`: **Added** * `plex_api.library.delete_caches()`: **Added** * `plex_api.library.clean_bundles()`: **Added** * `plex_api.library.ingest_transient_item()`: **Added** * `plex_api.library.get_library_matches()`: **Added** * `plex_api.library.optimize_database()`: **Added** * `plex_api.library.get_random_artwork()`: **Added** * `plex_api.library.get_sections()`: **Added** * `plex_api.library.add_section()`: **Added** * `plex_api.library.stop_all_refreshes()`: **Added** * `plex_api.library.get_sections_prefs()`: **Added** * `plex_api.library.refresh_sections_metadata()`: **Added** * `plex_api.library.get_tags()`: **Added** * `plex_api.library.delete_metadata_item()`: **Added** * `plex_api.library.edit_metadata_item()`: **Added** * `plex_api.library.detect_ads()`: **Added** * `plex_api.library.get_all_item_leaves()`: **Added** * `plex_api.library.analyze_metadata()`: **Added** * `plex_api.library.generate_thumbs()`: **Added** * `plex_api.library.detect_credits()`: **Added** * `plex_api.library.get_extras()`: **Added** * `plex_api.library.add_extras()`: **Added** * `plex_api.library.get_file()`: **Added** * `plex_api.library.start_bif_generation()`: **Added** * `plex_api.library.detect_intros()`: **Added** * `plex_api.library.create_marker()`: **Added** * `plex_api.library.match_item()`: **Added** * `plex_api.library.list_matches()`: **Added** * `plex_api.library.merge_items()`: **Added** * `plex_api.library.list_sonically_similar()`: **Added** * `plex_api.library.set_item_preferences()`: **Added** * `plex_api.library.refresh_items_metadata()`: **Added** * `plex_api.library.get_related_items()`: **Added** * `plex_api.library.list_similar()`: **Added** * `plex_api.library.split_item()`: **Added** * `plex_api.library.add_subtitles()`: **Added** * `plex_api.library.get_item_tree()`: **Added** * `plex_api.library.unmatch()`: **Added** * `plex_api.library.list_top_users()`: **Added** * `plex_api.library.detect_voice_activity()`: **Added** * `plex_api.library.get_augmentation_status()`: **Added** * `plex_api.library.set_stream_selection()`: **Added** * `plex_api.library.get_person()`: **Added** * `plex_api.library.list_person_media()`: **Added** * `plex_api.library.delete_library_section()`: **Added** * `plex_api.library.get_library_details()`: **Added** * `plex_api.library.edit_section()`: **Added** * `plex_api.library.update_items()`: **Added** * `plex_api.library.start_analysis()`: **Added** * `plex_api.library.autocomplete()`: **Added** * `plex_api.library.get_collections()`: **Added** * `plex_api.library.get_common()`: **Added** * `plex_api.library.empty_trash()`: **Added** * `plex_api.library.get_section_filters()`: **Added** * `plex_api.library.get_first_characters()`: **Added** * `plex_api.library.delete_indexes()`: **Added** * `plex_api.library.delete_intros()`: **Added** * `plex_api.library.get_section_preferences()`: **Added** * `plex_api.library.set_section_preferences()`: **Added** * `plex_api.library.cancel_refresh()`: **Added** * `plex_api.library.refresh_section()`: **Added** * `plex_api.library.get_available_sorts()`: **Added** * `plex_api.library.get_stream_levels()`: **Added** * `plex_api.library.get_stream_loudness()`: **Added** * `plex_api.library.get_chapter_image()`: **Added** * `plex_api.library.set_item_artwork()`: **Added** * `plex_api.library.update_item_artwork()`: **Added** * `plex_api.library.delete_marker()`: **Added** * `plex_api.library.edit_marker()`: **Added** * `plex_api.library.delete_media_item()`: **Added** * `plex_api.library.get_part_index()`: **Added** * `plex_api.library.delete_collection()`: **Added** * `plex_api.library.get_section_image()`: **Added** * `plex_api.library.delete_stream()`: **Added** * `plex_api.library.get_stream()`: **Added** * `plex_api.library.set_stream_offset()`: **Added** * `plex_api.library.get_item_artwork()`: **Added** * `plex_api.library.get_media_part()`: **Added** * `plex_api.library.get_image_from_bif()`: **Added** * `plex_api.collections.create_collection()`: **Added** * `plex_api.dv_rs.list_dv_rs()`: **Added** * `plex_api.dv_rs.create_dvr()`: **Added** * `plex_api.dv_rs.delete_dvr()`: **Added** * `plex_api.dv_rs.get_dvr()`: **Added** * `plex_api.dv_rs.delete_lineup()`: **Added** * `plex_api.dv_rs.add_lineup()`: **Added** * `plex_api.dv_rs.set_dvr_preferences()`: **Added** * `plex_api.dv_rs.stop_dvr_reload()`: **Added** * `plex_api.dv_rs.reload_guide()`: **Added** * `plex_api.dv_rs.tune_channel()`: **Added** * `plex_api.dv_rs.remove_device_from_dvr()`: **Added** * `plex_api.dv_rs.add_device_to_dvr()`: **Added** * `plex_api.epg.compute_channel_map()`: **Added** * `plex_api.epg.get_channels()`: **Added** * `plex_api.epg.get_countries()`: **Added** * `plex_api.epg.get_all_languages()`: **Added** * `plex_api.epg.get_lineup()`: **Added** * `plex_api.epg.get_lineup_channels()`: **Added** * `plex_api.epg.get_countries_lineups()`: **Added** * `plex_api.epg.get_country_regions()`: **Added** * `plex_api.epg.list_lineups()`: **Added** * `plex_api.live_tv.get_sessions()`: **Added** * `plex_api.live_tv.get_live_tv_session()`: **Added** * `plex_api.live_tv.get_session_playlist_index()`: **Added** * `plex_api.live_tv.get_session_segment()`: **Added** * `plex_api.log.write_log()`: **Added** * `plex_api.log.write_message()`: **Added** * `plex_api.log.enable_papertrail()`: **Added** * `plex_api.devices.get_available_grabbers()`: **Added** * `plex_api.devices.list_devices()`: **Added** * `plex_api.devices.add_device()`: **Added** * `plex_api.devices.discover_devices()`: **Added** * `plex_api.devices.remove_device()`: **Added** * `plex_api.devices.get_device_details()`: **Added** * `plex_api.devices.modify_device()`: **Added** * `plex_api.devices.set_channelmap()`: **Added** * `plex_api.devices.get_devices_channels()`: **Added** * `plex_api.devices.set_device_preferences()`: **Added** * `plex_api.devices.stop_scan()`: **Added** * `plex_api.devices.scan()`: **Added** * `plex_api.devices.get_thumb()`: **Added** * `plex_api.provider.list_providers()`: **Added** * `plex_api.provider.add_provider()`: **Added** * `plex_api.provider.refresh_providers()`: **Added** * `plex_api.provider.delete_media_provider()`: **Added** * `plex_api.subscriptions.get_all_subscriptions()`: **Added** * `plex_api.subscriptions.create_subscription()`: **Added** * `plex_api.subscriptions.process_subscriptions()`: **Added** * `plex_api.subscriptions.get_scheduled_recordings()`: **Added** * `plex_api.subscriptions.get_template()`: **Added** * `plex_api.subscriptions.cancel_grab()`: **Added** * `plex_api.subscriptions.delete_subscription()`: **Added** * `plex_api.subscriptions.get_subscription()`: **Added** * `plex_api.subscriptions.edit_subscription_preferences()`: **Added** * `plex_api.subscriptions.reorder_subscription()`: **Added** * `plex_api.transcoder.transcode_image()`: **Added** * `plex_api.transcoder.make_decision()`: **Added** * `plex_api.transcoder.trigger_fallback()`: **Added** * `plex_api.transcoder.transcode_subtitles()`: **Added** * `plex_api.transcoder.start_transcode_session()`: **Added** * `plex_api.playlist.list_playlists()`: **Added** * `plex_api.playlist.get_playlist()`: **Added** * `plex_api.playlist.get_playlist_items()`: **Added** * `plex_api.library_playlists.create_playlist()`: **Added** * `plex_api.library_playlists.upload_playlist()`: **Added** * `plex_api.library_playlists.delete_playlist()`: **Added** * `plex_api.library_playlists.update_playlist()`: **Added** * `plex_api.library_playlists.get_playlist_generators()`: **Added** * `plex_api.library_playlists.clear_playlist_items()`: **Added** * `plex_api.library_playlists.add_playlist_items()`: **Added** * `plex_api.library_playlists.delete_playlist_item()`: **Added** * `plex_api.library_playlists.get_playlist_generator()`: **Added** * `plex_api.library_playlists.modify_playlist_generator()`: **Added** * `plex_api.library_playlists.get_playlist_generator_items()`: **Added** * `plex_api.library_playlists.move_playlist_item()`: **Added** * `plex_api.library_playlists.refresh_playlist()`: **Added** * `plex_api.play_queue.create_play_queue()`: **Added** * `plex_api.play_queue.get_play_queue()`: **Added** * `plex_api.play_queue.add_to_play_queue()`: **Added** * `plex_api.play_queue.clear_play_queue()`: **Added** * `plex_api.play_queue.reset_play_queue()`: **Added** * `plex_api.play_queue.shuffle()`: **Added** * `plex_api.play_queue.unshuffle()`: **Added** * `plex_api.play_queue.delete_play_queue_item()`: **Added** * `plex_api.play_queue.move_play_queue_item()`: **Added** * `plex_api.ultra_blur.get_colors()`: **Added** * `plex_api.ultra_blur.get_image()`: **Added** * `plex_api.status.list_sessions()`: **Added** * `plex_api.status.get_background_tasks()`: **Added** * `plex_api.status.list_playback_history()`: **Added** * `plex_api.status.terminate_session()`: **Added** * `plex_api.status.delete_history()`: **Added** * `plex_api.status.get_history_item()`: **Added** * `plex_api.updater.check_updates()`: **Added** * `plex_api.updater.get_updates_status()`: **Added** * `plex_api.content.get_collection_items()`: **Added** * `plex_api.content.get_metadata_item()`: **Added** * `plex_api.content.get_albums()`: **Added** * `plex_api.content.list_content()`: **Added** * `plex_api.content.get_all_leaves()`: **Added** * `plex_api.content.get_arts()`: **Added** * `plex_api.content.get_categories()`: **Added** * `plex_api.content.get_cluster()`: **Added** * `plex_api.content.get_sonic_path()`: **Added** * `plex_api.content.get_folders()`: **Added** * `plex_api.content.list_moments()`: **Added** * `plex_api.content.get_sonically_similar()`: **Added** * `plex_api.content.get_collection_image()`: **Added** * `plex_api.library_collections.add_collection_items()`: **Added** * `plex_api.library_collections.delete_collection_item()`: **Added** * `plex_api.library_collections.move_collection_item()`: **Added** * `plex_api.server.get_server_capabilities()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_server_preferences()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_available_clients()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_devices()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get-server-identity()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_my_plex_account()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_resized_photo()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get-media-providers()`: **Deleted** **Breaking** ⚠️ * `plex_api.server.get_server_list()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.mark_played()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.mark_unplayed()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.update_play_progress()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.get-banner-image()`: **Deleted** **Breaking** ⚠️ * `plex_api.media.get-thumb-image()`: **Deleted** **Breaking** ⚠️ * `plex_api.video.get_timeline()`: **Deleted** **Breaking** ⚠️ * `plex_api.video.start_universal_transcode()`: **Deleted** **Breaking** ⚠️ * `plex_api.activities.get_server_activities()`: **Deleted** **Breaking** ⚠️ * `plex_api.activities.cancel_server_activities()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.get_butler_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.start_all_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.butler.stop_all_tasks()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_companions_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_user_friends()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_geo_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_home_data()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get-server-resources()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_pin()`: **Deleted** **Breaking** ⚠️ * `plex_api.plex.get_token_by_pin_id()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get_global_hubs()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get-recently-added()`: **Deleted** **Breaking** ⚠️ * `plex_api.hubs.get_library_hubs()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.perform_search()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.perform_voice_search()`: **Deleted** **Breaking** ⚠️ * `plex_api.search.get_search_results()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_file_hash()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-recently-added-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-all-libraries()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-details()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.delete_library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-items()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-library-sections-all()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-refresh-library-metadata()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-search-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-genres-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-countries-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-actors-library()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-search-all-libraries()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-meta-data()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-arts()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.post-media-arts()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get-media-posters()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.post-media-poster()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_metadata_children()`: **Deleted** **Breaking** ⚠️ * `plex_api.library.get_top_watched_content()`: **Deleted** **Breaking** ⚠️ * `plex_api.watchlist.get-watch-list()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.log_line()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.log_multi_line()`: **Deleted** **Breaking** ⚠️ * `plex_api.log.enable_paper_trail()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.create_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlists()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.delete_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.update_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.get_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.clear_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.add_playlist_contents()`: **Deleted** **Breaking** ⚠️ * `plex_api.playlists.upload_playlist()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_transient_token()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_source_connection_information()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.get_token_details()`: **Deleted** **Breaking** ⚠️ * `plex_api.authentication.post-users-sign-in-data()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_resources_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.statistics.get_bandwidth_statistics()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_sessions()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_session_history()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.get_transcode_sessions()`: **Deleted** **Breaking** ⚠️ * `plex_api.sessions.stop_transcode_session()`: **Deleted** **Breaking** ⚠️ * `plex_api.updater.get_update_status()`: **Deleted** **Breaking** ⚠️ * `plex_api.updater.check_for_updates()`: **Deleted** **Breaking** ⚠️ * `plex_api.users.get-users()`: **Deleted** **Breaking** ⚠️
728 lines
30 KiB
Markdown
728 lines
30 KiB
Markdown
# DVRs
|
|
(*dv_rs*)
|
|
|
|
## Overview
|
|
|
|
The DVR provides means to watch and record live TV. This section of endpoints describes how to setup the DVR itself
|
|
|
|
|
|
### Available Operations
|
|
|
|
* [list_dv_rs](#list_dv_rs) - Get DVRs
|
|
* [create_dvr](#create_dvr) - Create a DVR
|
|
* [delete_dvr](#delete_dvr) - Delete a single DVR
|
|
* [get_dvr](#get_dvr) - Get a single DVR
|
|
* [delete_lineup](#delete_lineup) - Delete a DVR Lineup
|
|
* [add_lineup](#add_lineup) - Add a DVR Lineup
|
|
* [set_dvr_preferences](#set_dvr_preferences) - Set DVR preferences
|
|
* [stop_dvr_reload](#stop_dvr_reload) - Tell a DVR to stop reloading program guide
|
|
* [reload_guide](#reload_guide) - Tell a DVR to reload program guide
|
|
* [tune_channel](#tune_channel) - Tune a channel on a DVR
|
|
* [remove_device_from_dvr](#remove_device_from_dvr) - Remove a device from an existing DVR
|
|
* [add_device_to_dvr](#add_device_to_dvr) - Add a device to an existing DVR
|
|
|
|
## list_dv_rs
|
|
|
|
Get the list of all available DVRs
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="listDVRs" method="get" path="/livetv/dvrs" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
|
|
|
|
with PlexAPI(
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.list_dv_rs()
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------- |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.ListDVRsResponse](../../models/operations/listdvrsresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## create_dvr
|
|
|
|
Creation of a DVR, after creation of a devcie and a lineup is selected
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="createDVR" method="post" path="/livetv/dvrs" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.create_dvr(request={
|
|
"lineup": "lineup://tv.plex.providers.epg.onconnect/USA-HI51418-DEFAULT",
|
|
"device_query_parameter": [
|
|
"d",
|
|
"e",
|
|
"v",
|
|
"i",
|
|
"c",
|
|
"e",
|
|
"[",
|
|
"]",
|
|
"=",
|
|
"d",
|
|
"e",
|
|
"v",
|
|
"i",
|
|
"c",
|
|
"e",
|
|
":",
|
|
"/",
|
|
"/",
|
|
"t",
|
|
"v",
|
|
".",
|
|
"p",
|
|
"l",
|
|
"e",
|
|
"x",
|
|
".",
|
|
"g",
|
|
"r",
|
|
"a",
|
|
"b",
|
|
"b",
|
|
"e",
|
|
"r",
|
|
"s",
|
|
".",
|
|
"h",
|
|
"d",
|
|
"h",
|
|
"o",
|
|
"m",
|
|
"e",
|
|
"r",
|
|
"u",
|
|
"n",
|
|
"/",
|
|
"1",
|
|
"0",
|
|
"5",
|
|
"3",
|
|
"C",
|
|
"0",
|
|
"C",
|
|
"A",
|
|
],
|
|
"language": "eng",
|
|
})
|
|
|
|
assert res.dvr_request_handler_slash_get_responses_200 is not None
|
|
|
|
# Handle response
|
|
print(res.dvr_request_handler_slash_get_responses_200)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
| `request` | [operations.CreateDVRRequest](../../models/operations/createdvrrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.CreateDVRResponse](../../models/operations/createdvrresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## delete_dvr
|
|
|
|
Delete a single DVR by its id (key)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="deleteDVR" method="delete" path="/livetv/dvrs/{dvrId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.delete_dvr(request={
|
|
"dvr_id": 855088,
|
|
})
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
| `request` | [operations.DeleteDVRRequest](../../models/operations/deletedvrrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.DeleteDVRResponse](../../models/operations/deletedvrresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## get_dvr
|
|
|
|
Get a single DVR by its id (key)
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="getDVR" method="get" path="/livetv/dvrs/{dvrId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.get_dvr(request={
|
|
"dvr_id": 973518,
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- | -------------------------------------------------------------------- |
|
|
| `request` | [operations.GetDVRRequest](../../models/operations/getdvrrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.GetDVRResponse](../../models/operations/getdvrresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## delete_lineup
|
|
|
|
Deletes a DVR device's lineup.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="deleteLineup" method="delete" path="/livetv/dvrs/{dvrId}/lineups" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.delete_lineup(request={
|
|
"dvr_id": 454470,
|
|
"lineup": "<value>",
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------- |
|
|
| `request` | [operations.DeleteLineupRequest](../../models/operations/deletelineuprequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.DeleteLineupResponse](../../models/operations/deletelineupresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## add_lineup
|
|
|
|
Add a lineup to a DVR device's set of lineups.
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="addLineup" method="put" path="/livetv/dvrs/{dvrId}/lineups" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.add_lineup(request={
|
|
"dvr_id": 945235,
|
|
"lineup": "<value>",
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
|
|
| `request` | [operations.AddLineupRequest](../../models/operations/addlineuprequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.AddLineupResponse](../../models/operations/addlineupresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## set_dvr_preferences
|
|
|
|
Set DVR preferences by name avd value
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="setDVRPreferences" method="put" path="/livetv/dvrs/{dvrId}/prefs" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.set_dvr_preferences(request={
|
|
"dvr_id": 116357,
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.SetDVRPreferencesRequest](../../models/operations/setdvrpreferencesrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.SetDVRPreferencesResponse](../../models/operations/setdvrpreferencesresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## stop_dvr_reload
|
|
|
|
Tell a DVR to stop reloading program guide
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="stopDVRReload" method="delete" path="/livetv/dvrs/{dvrId}/reloadGuide" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.stop_dvr_reload(request={
|
|
"dvr_id": 348053,
|
|
})
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
|
|
| `request` | [operations.StopDVRReloadRequest](../../models/operations/stopdvrreloadrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.StopDVRReloadResponse](../../models/operations/stopdvrreloadresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## reload_guide
|
|
|
|
Tell a DVR to reload program guide
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="reloadGuide" method="post" path="/livetv/dvrs/{dvrId}/reloadGuide" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.reload_guide(request={
|
|
"dvr_id": 140753,
|
|
})
|
|
|
|
assert res is not None
|
|
|
|
# Handle response
|
|
print(res)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
|
| `request` | [operations.ReloadGuideRequest](../../models/operations/reloadguiderequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.ReloadGuideResponse](../../models/operations/reloadguideresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## tune_channel
|
|
|
|
Tune a channel on a DVR to the provided channel
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="tuneChannel" method="post" path="/livetv/dvrs/{dvrId}/channels/{channel}/tune" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.tune_channel(request={
|
|
"dvr_id": 834281,
|
|
"channel": "2.1",
|
|
})
|
|
|
|
assert res.media_container_with_metadata is not None
|
|
|
|
# Handle response
|
|
print(res.media_container_with_metadata)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ | ------------------------------------------------------------------------------ |
|
|
| `request` | [operations.TuneChannelRequest](../../models/operations/tunechannelrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.TuneChannelResponse](../../models/operations/tunechannelresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## remove_device_from_dvr
|
|
|
|
Remove a device from an existing DVR
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="removeDeviceFromDVR" method="delete" path="/livetv/dvrs/{dvrId}/devices/{deviceId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.remove_device_from_dvr(request={
|
|
"dvr_id": 945416,
|
|
"device_id": 260761,
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
|
|
| `request` | [operations.RemoveDeviceFromDVRRequest](../../models/operations/removedevicefromdvrrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.RemoveDeviceFromDVRResponse](../../models/operations/removedevicefromdvrresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* |
|
|
|
|
## add_device_to_dvr
|
|
|
|
Add a device to an existing DVR
|
|
|
|
### Example Usage
|
|
|
|
<!-- UsageSnippet language="python" operationID="addDeviceToDVR" method="put" path="/livetv/dvrs/{dvrId}/devices/{deviceId}" -->
|
|
```python
|
|
from plex_api_client import PlexAPI
|
|
from plex_api_client.models import components
|
|
|
|
|
|
with PlexAPI(
|
|
accepts=components.Accepts.APPLICATION_XML,
|
|
client_identifier="abc123",
|
|
product="Plex for Roku",
|
|
version="2.4.1",
|
|
platform="Roku",
|
|
platform_version="4.3 build 1057",
|
|
device="Roku 3",
|
|
model="4200X",
|
|
device_vendor="Roku",
|
|
device_name="Living Room TV",
|
|
marketplace="googlePlay",
|
|
token="<YOUR_API_KEY_HERE>",
|
|
) as plex_api:
|
|
|
|
res = plex_api.dv_rs.add_device_to_dvr(request={
|
|
"dvr_id": 334755,
|
|
"device_id": 852930,
|
|
})
|
|
|
|
assert res.object is not None
|
|
|
|
# Handle response
|
|
print(res.object)
|
|
|
|
```
|
|
|
|
### Parameters
|
|
|
|
| Parameter | Type | Required | Description |
|
|
| ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ |
|
|
| `request` | [operations.AddDeviceToDVRRequest](../../models/operations/adddevicetodvrrequest.md) | :heavy_check_mark: | The request object to use for the request. |
|
|
| `retries` | [Optional[utils.RetryConfig]](../../models/utils/retryconfig.md) | :heavy_minus_sign: | Configuration to override the default retry behavior of the client. |
|
|
|
|
### Response
|
|
|
|
**[operations.AddDeviceToDVRResponse](../../models/operations/adddevicetodvrresponse.md)**
|
|
|
|
### Errors
|
|
|
|
| Error Type | Status Code | Content Type |
|
|
| --------------- | --------------- | --------------- |
|
|
| errors.SDKError | 4XX, 5XX | \*/\* | |