diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index 01c9acd..7ca8979 100755 --- a/.speakeasy/gen.lock +++ b/.speakeasy/gen.lock @@ -1,12 +1,12 @@ lockVersion: 2.0.0 id: 3eeea668-4ef4-464e-a888-bdfa023bedf5 management: - docChecksum: 099fc5bbb987ae7e391f7f07b4212860 + docChecksum: 278d186496d83d5830ba4870f8cad39d docVersion: 0.0.3 speakeasyVersion: internal - generationVersion: 2.249.1 - releaseVersion: 0.1.1 - configChecksum: b27977e99573e671f0e8dcca458909cc + generationVersion: 2.269.0 + releaseVersion: 0.2.0 + configChecksum: 1ee49fef4f9956a364c9518902176b90 repoURL: https://github.com/LukeHagar/plexpy.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexpy.git @@ -14,17 +14,17 @@ management: features: python: constsAndDefaults: 0.1.2 - core: 4.4.4 + core: 4.4.6 flattening: 2.81.1 globalSecurity: 2.83.2 globalServerURLs: 2.82.1 methodServerURLs: 2.82.1 nameOverrides: 2.81.1 - unions: 2.82.5 generatedFiles: - src/plex_api/sdkconfiguration.py - src/plex_api/server.py - src/plex_api/media.py + - src/plex_api/video.py - src/plex_api/activities.py - src/plex_api/butler.py - src/plex_api/hubs.py @@ -34,9 +34,9 @@ generatedFiles: - src/plex_api/plex.py - src/plex_api/playlists.py - src/plex_api/security.py + - src/plex_api/statistics.py - src/plex_api/sessions.py - src/plex_api/updater.py - - src/plex_api/video.py - src/plex_api/sdk.py - pylintrc - setup.py @@ -57,6 +57,8 @@ generatedFiles: - src/plex_api/models/operations/markplayed.py - src/plex_api/models/operations/markunplayed.py - src/plex_api/models/operations/updateplayprogress.py + - src/plex_api/models/operations/gettimeline.py + - src/plex_api/models/operations/startuniversaltranscode.py - src/plex_api/models/operations/getserveractivities.py - src/plex_api/models/operations/cancelserveractivities.py - src/plex_api/models/operations/getbutlertasks.py @@ -96,6 +98,7 @@ generatedFiles: - src/plex_api/models/operations/uploadplaylist.py - src/plex_api/models/operations/gettransienttoken.py - src/plex_api/models/operations/getsourceconnectioninformation.py + - src/plex_api/models/operations/getstatistics.py - src/plex_api/models/operations/getsessions.py - src/plex_api/models/operations/getsessionhistory.py - src/plex_api/models/operations/gettranscodesessions.py @@ -103,8 +106,6 @@ generatedFiles: - src/plex_api/models/operations/getupdatestatus.py - src/plex_api/models/operations/checkforupdates.py - src/plex_api/models/operations/applyupdates.py - - src/plex_api/models/operations/startuniversaltranscode.py - - src/plex_api/models/operations/gettimeline.py - src/plex_api/models/errors/getservercapabilities.py - src/plex_api/models/errors/getserverpreferences.py - src/plex_api/models/errors/getavailableclients.py @@ -116,6 +117,8 @@ generatedFiles: - src/plex_api/models/errors/markplayed.py - src/plex_api/models/errors/markunplayed.py - src/plex_api/models/errors/updateplayprogress.py + - src/plex_api/models/errors/gettimeline.py + - src/plex_api/models/errors/startuniversaltranscode.py - src/plex_api/models/errors/getserveractivities.py - src/plex_api/models/errors/cancelserveractivities.py - src/plex_api/models/errors/getbutlertasks.py @@ -153,6 +156,7 @@ generatedFiles: - src/plex_api/models/errors/uploadplaylist.py - src/plex_api/models/errors/gettransienttoken.py - src/plex_api/models/errors/getsourceconnectioninformation.py + - src/plex_api/models/errors/getstatistics.py - src/plex_api/models/errors/getsessions.py - src/plex_api/models/errors/getsessionhistory.py - src/plex_api/models/errors/gettranscodesessions.py @@ -160,8 +164,6 @@ generatedFiles: - src/plex_api/models/errors/getupdatestatus.py - src/plex_api/models/errors/checkforupdates.py - src/plex_api/models/errors/applyupdates.py - - src/plex_api/models/errors/startuniversaltranscode.py - - src/plex_api/models/errors/gettimeline.py - src/plex_api/models/components/security.py - src/plex_api/models/__init__.py - src/plex_api/models/errors/__init__.py @@ -171,8 +173,6 @@ generatedFiles: - docs/models/operations/mediacontainer.md - docs/models/operations/getservercapabilitiesresponsebody.md - docs/models/operations/getservercapabilitiesresponse.md - - docs/models/operations/two.md - - docs/models/operations/one.md - docs/models/operations/setting.md - docs/models/operations/getserverpreferencesmediacontainer.md - docs/models/operations/getserverpreferencesresponsebody.md @@ -205,6 +205,11 @@ generatedFiles: - docs/models/operations/markunplayedresponse.md - docs/models/operations/updateplayprogressrequest.md - docs/models/operations/updateplayprogressresponse.md + - docs/models/operations/state.md + - docs/models/operations/gettimelinerequest.md + - docs/models/operations/gettimelineresponse.md + - docs/models/operations/startuniversaltranscoderequest.md + - docs/models/operations/startuniversaltranscoderesponse.md - docs/models/operations/context.md - docs/models/operations/activity.md - docs/models/operations/getserveractivitiesmediacontainer.md @@ -407,6 +412,13 @@ generatedFiles: - docs/models/operations/gettransienttokenresponse.md - docs/models/operations/getsourceconnectioninformationrequest.md - docs/models/operations/getsourceconnectioninformationresponse.md + - docs/models/operations/getstatisticsrequest.md + - docs/models/operations/getstatisticsdevice.md + - docs/models/operations/account.md + - docs/models/operations/statisticsmedia.md + - docs/models/operations/getstatisticsmediacontainer.md + - docs/models/operations/getstatisticsresponsebody.md + - docs/models/operations/getstatisticsresponse.md - docs/models/operations/getsessionsstream.md - docs/models/operations/getsessionspart.md - docs/models/operations/getsessionsmedia.md @@ -438,11 +450,6 @@ generatedFiles: - docs/models/operations/skip.md - docs/models/operations/applyupdatesrequest.md - docs/models/operations/applyupdatesresponse.md - - docs/models/operations/startuniversaltranscoderequest.md - - docs/models/operations/startuniversaltranscoderesponse.md - - docs/models/operations/state.md - - docs/models/operations/gettimelinerequest.md - - docs/models/operations/gettimelineresponse.md - docs/models/errors/errors.md - docs/models/errors/getservercapabilitiesresponsebody.md - docs/models/errors/getserverpreferenceserrors.md @@ -465,6 +472,10 @@ generatedFiles: - docs/models/errors/markunplayedresponsebody.md - docs/models/errors/updateplayprogresserrors.md - docs/models/errors/updateplayprogressresponsebody.md + - docs/models/errors/gettimelineerrors.md + - docs/models/errors/gettimelineresponsebody.md + - docs/models/errors/startuniversaltranscodeerrors.md + - docs/models/errors/startuniversaltranscoderesponsebody.md - docs/models/errors/getserveractivitieserrors.md - docs/models/errors/getserveractivitiesresponsebody.md - docs/models/errors/cancelserveractivitieserrors.md @@ -539,6 +550,8 @@ generatedFiles: - docs/models/errors/gettransienttokenresponsebody.md - docs/models/errors/getsourceconnectioninformationerrors.md - docs/models/errors/getsourceconnectioninformationresponsebody.md + - docs/models/errors/getstatisticserrors.md + - docs/models/errors/getstatisticsresponsebody.md - docs/models/errors/getsessionserrors.md - docs/models/errors/getsessionsresponsebody.md - docs/models/errors/getsessionhistoryerrors.md @@ -553,14 +566,11 @@ generatedFiles: - docs/models/errors/checkforupdatesresponsebody.md - docs/models/errors/applyupdateserrors.md - docs/models/errors/applyupdatesresponsebody.md - - docs/models/errors/startuniversaltranscodeerrors.md - - docs/models/errors/startuniversaltranscoderesponsebody.md - - docs/models/errors/gettimelineerrors.md - - docs/models/errors/gettimelineresponsebody.md - docs/models/components/security.md - docs/sdks/plexapi/README.md - docs/sdks/server/README.md - docs/sdks/media/README.md + - docs/sdks/video/README.md - docs/sdks/activities/README.md - docs/sdks/butler/README.md - docs/sdks/hubs/README.md @@ -570,8 +580,8 @@ generatedFiles: - docs/sdks/plex/README.md - docs/sdks/playlists/README.md - docs/sdks/security/README.md + - docs/sdks/statistics/README.md - docs/sdks/sessions/README.md - docs/sdks/updater/README.md - - docs/sdks/video/README.md - USAGE.md - .gitattributes diff --git a/README.md b/README.md index 39394bb..7f4f85c 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,11 @@ if res.object is not None: * [mark_unplayed](docs/sdks/media/README.md#mark_unplayed) - Mark Media Unplayed * [update_play_progress](docs/sdks/media/README.md#update_play_progress) - Update Media Play Progress +### [video](docs/sdks/video/README.md) + +* [get_timeline](docs/sdks/video/README.md#get_timeline) - Get the timeline for a media item +* [start_universal_transcode](docs/sdks/video/README.md#start_universal_transcode) - Start Universal Transcode + ### [activities](docs/sdks/activities/README.md) * [get_server_activities](docs/sdks/activities/README.md#get_server_activities) - Get Server Activities @@ -122,6 +127,10 @@ if res.object is not None: * [get_transient_token](docs/sdks/security/README.md#get_transient_token) - Get a Transient Token. * [get_source_connection_information](docs/sdks/security/README.md#get_source_connection_information) - Get Source Connection Information +### [statistics](docs/sdks/statistics/README.md) + +* [get_statistics](docs/sdks/statistics/README.md#get_statistics) - Get Media Statistics + ### [sessions](docs/sdks/sessions/README.md) * [get_sessions](docs/sdks/sessions/README.md#get_sessions) - Get Active Sessions @@ -134,11 +143,6 @@ if res.object is not None: * [get_update_status](docs/sdks/updater/README.md#get_update_status) - Querying status of updates * [check_for_updates](docs/sdks/updater/README.md#check_for_updates) - Checking for updates * [apply_updates](docs/sdks/updater/README.md#apply_updates) - Apply Updates - -### [video](docs/sdks/video/README.md) - -* [start_universal_transcode](docs/sdks/video/README.md#start_universal_transcode) - Start Universal Transcode -* [get_timeline](docs/sdks/video/README.md#get_timeline) - Get the timeline for a media item @@ -155,6 +159,7 @@ Handling errors in this SDK should largely match your expectations. All operati ```python import plex_api +from plex_api.models import errors s = plex_api.PlexAPI( access_token="", @@ -165,10 +170,10 @@ res = None try: res = s.server.get_server_capabilities() except errors.GetServerCapabilitiesResponseBody as e: - print(e) # handle exception + # handle exception raise(e) except errors.SDKError as e: - print(e) # handle exception + # handle exception raise(e) if res.object is not None: @@ -237,14 +242,13 @@ if res.object is not None: The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example: ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.plex.get_pin(server_url="https://plex.tv/api/v2", x_plex_client_identifier='string', strong=False) +res = s.plex.get_pin(server_url="https://plex.tv/api/v2", x_plex_client_identifier='', strong=False) if res.object is not None: # handle response diff --git a/RELEASES.md b/RELEASES.md index 4e5dc1d..38693eb 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -38,4 +38,14 @@ Based on: ### Generated - [python v0.1.1] . ### Releases -- [PyPI v0.1.1] https://pypi.org/project/plex-api-client/0.1.1 - . \ No newline at end of file +- [PyPI v0.1.1] https://pypi.org/project/plex-api-client/0.1.1 - . + +## 2024-02-23 14:46:27 +### Changes +Based on: +- OpenAPI Doc 0.0.3 +- Speakeasy CLI 1.193.0 (2.269.0) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.2.0] . +### Releases +- [PyPI v0.2.0] https://pypi.org/project/plex-api-client/0.2.0 - . \ No newline at end of file diff --git a/docs/models/errors/getstatisticserrors.md b/docs/models/errors/getstatisticserrors.md new file mode 100644 index 0000000..9df6526 --- /dev/null +++ b/docs/models/errors/getstatisticserrors.md @@ -0,0 +1,10 @@ +# GetStatisticsErrors + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | ------------------------------- | +| `code` | *Optional[float]* | :heavy_minus_sign: | N/A | 1001 | +| `message` | *Optional[str]* | :heavy_minus_sign: | N/A | User could not be authenticated | +| `status` | *Optional[float]* | :heavy_minus_sign: | N/A | 401 | \ No newline at end of file diff --git a/docs/models/errors/getstatisticsresponsebody.md b/docs/models/errors/getstatisticsresponsebody.md new file mode 100644 index 0000000..205dd96 --- /dev/null +++ b/docs/models/errors/getstatisticsresponsebody.md @@ -0,0 +1,11 @@ +# GetStatisticsResponseBody + +Unauthorized - Returned if the X-Plex-Token is missing from the header or query. + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| `errors` | List[[errors.GetStatisticsErrors](../../models/errors/getstatisticserrors.md)] | :heavy_minus_sign: | N/A | +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_minus_sign: | Raw HTTP response; suitable for custom response parsing | \ No newline at end of file diff --git a/docs/models/operations/account.md b/docs/models/operations/account.md new file mode 100644 index 0000000..791701e --- /dev/null +++ b/docs/models/operations/account.md @@ -0,0 +1,15 @@ +# Account + + +## Fields + +| Field | Type | Required | Description | Example | +| ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 238960586 | +| `key` | *Optional[str]* | :heavy_minus_sign: | N/A | /accounts/238960586 | +| `name` | *Optional[str]* | :heavy_minus_sign: | N/A | Diane | +| `default_audio_language` | *Optional[str]* | :heavy_minus_sign: | N/A | en | +| `auto_select_audio` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `default_subtitle_language` | *Optional[str]* | :heavy_minus_sign: | N/A | en | +| `subtitle_mode` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | +| `thumb` | *Optional[str]* | :heavy_minus_sign: | N/A | https://plex.tv/users/50d83634246da1de/avatar?c=1707110967 | \ No newline at end of file diff --git a/docs/models/operations/getresizedphotorequest.md b/docs/models/operations/getresizedphotorequest.md index 4e19f6c..bc66760 100644 --- a/docs/models/operations/getresizedphotorequest.md +++ b/docs/models/operations/getresizedphotorequest.md @@ -7,8 +7,8 @@ | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------- | | `width` | *float* | :heavy_check_mark: | The width for the resized photo | 110 | | `height` | *float* | :heavy_check_mark: | The height for the resized photo | 165 | -| `opacity` | *int* | :heavy_check_mark: | The opacity for the resized photo | | | `blur` | *float* | :heavy_check_mark: | The width for the resized photo | 0 | | `min_size` | [operations.MinSize](../../models/operations/minsize.md) | :heavy_check_mark: | images are always scaled proportionally. A value of '1' in minSize will make the smaller native dimension the dimension resized against. | | | `upscale` | [operations.Upscale](../../models/operations/upscale.md) | :heavy_check_mark: | allow images to be resized beyond native dimensions. | | -| `url` | *str* | :heavy_check_mark: | path to image within Plex | /library/metadata/49564/thumb/1654258204 | \ No newline at end of file +| `url` | *str* | :heavy_check_mark: | path to image within Plex | /library/metadata/49564/thumb/1654258204 | +| `opacity` | *int* | :heavy_check_mark: | The opacity for the resized photo | | \ No newline at end of file diff --git a/docs/models/operations/getserverpreferencesmediacontainer.md b/docs/models/operations/getserverpreferencesmediacontainer.md index 6e6f212..3acee0e 100644 --- a/docs/models/operations/getserverpreferencesmediacontainer.md +++ b/docs/models/operations/getserverpreferencesmediacontainer.md @@ -3,7 +3,7 @@ ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 161 | -| `setting` | List[[Union[operations.One, operations.Two]](../../models/operations/setting.md)] | :heavy_minus_sign: | N/A | [{"advanced":false,"default":"","group":"general","hidden":false,"id":"FriendlyName","label":"Friendly name","summary":"This name will be used to identify this media server to other computers on your network. If you leave it blank, your computer's name will be used instead.","type":"text","value":"Hera"},{"advanced":false,"default":3600,"enumValues":"900:every 15 minutes\|1800:every 30 minutes\|3600:hourly\|7200:every 2 hours\|21600:every 6 hours\|43200:every 12 hours\|86400:daily","group":"library","hidden":false,"id":"ScheduledLibraryUpdateInterval","label":"Library scan interval","summary":"","type":"int","value":3600}] | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 161 | +| `setting` | List[[operations.Setting](../../models/operations/setting.md)] | :heavy_minus_sign: | N/A | [{"advanced":false,"default":false,"enumValues":"1:admin only\|2:everyone","group":"","hidden":true,"id":"EnableDatabaseTrace","label":"","summary":"","type":"bool","value":false}] | \ No newline at end of file diff --git a/docs/models/operations/getstatisticsdevice.md b/docs/models/operations/getstatisticsdevice.md new file mode 100644 index 0000000..aeed772 --- /dev/null +++ b/docs/models/operations/getstatisticsdevice.md @@ -0,0 +1,12 @@ +# GetStatisticsDevice + + +## Fields + +| Field | Type | Required | Description | Example | +| -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | -------------------------------- | +| `id` | *Optional[int]* | :heavy_minus_sign: | N/A | 208 | +| `name` | *Optional[str]* | :heavy_minus_sign: | N/A | Roku Express | +| `platform` | *Optional[str]* | :heavy_minus_sign: | N/A | Roku | +| `client_identifier` | *Optional[str]* | :heavy_minus_sign: | N/A | 793095d235660625108ef785cc7646e9 | +| `created_at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1706470556 | \ No newline at end of file diff --git a/docs/models/operations/two.md b/docs/models/operations/getstatisticsmediacontainer.md similarity index 50% rename from docs/models/operations/two.md rename to docs/models/operations/getstatisticsmediacontainer.md index ed539c2..1beeb53 100644 --- a/docs/models/operations/two.md +++ b/docs/models/operations/getstatisticsmediacontainer.md @@ -1,17 +1,11 @@ -# Two +# GetStatisticsMediaContainer ## Fields -| Field | Type | Required | Description | Example | -| ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------ | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | ScheduledLibraryUpdateInterval | -| `label` | *Optional[str]* | :heavy_minus_sign: | N/A | Library scan interval | -| `summary` | *Optional[str]* | :heavy_minus_sign: | N/A | | -| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | int | -| `default` | *Optional[int]* | :heavy_minus_sign: | N/A | 3600 | -| `value` | *Optional[int]* | :heavy_minus_sign: | N/A | 3600 | -| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `group` | *Optional[str]* | :heavy_minus_sign: | N/A | library | -| `enum_values` | *Optional[str]* | :heavy_minus_sign: | N/A | 900:every 15 minutes\|1800:every 30 minutes\|3600:hourly\|7200:every 2 hours\|21600:every 6 hours\|43200:every 12 hours\|86400:daily | \ No newline at end of file +| Field | Type | Required | Description | Example | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `size` | *Optional[int]* | :heavy_minus_sign: | N/A | 5497 | +| `device` | List[[operations.GetStatisticsDevice](../../models/operations/getstatisticsdevice.md)] | :heavy_minus_sign: | N/A | [{"clientIdentifier":"793095d235660625108ef785cc7646e9","createdAt":1706470556,"id":208,"name":"Roku Express","platform":"Roku"}] | +| `account` | List[[operations.Account](../../models/operations/account.md)] | :heavy_minus_sign: | N/A | [{"autoSelectAudio":true,"defaultAudioLanguage":"en","defaultSubtitleLanguage":"en","id":238960586,"key":"/accounts/238960586","name":"Diane","subtitleMode":1,"thumb":"https://plex.tv/users/50d83634246da1de/avatar?c=1707110967"}] | +| `statistics_media` | List[[operations.StatisticsMedia](../../models/operations/statisticsmedia.md)] | :heavy_minus_sign: | N/A | [{"accountID":1,"at":1707141600,"count":1,"deviceID":13,"duration":1555,"metadataType":4,"timespan":4}] | \ No newline at end of file diff --git a/docs/models/operations/getstatisticsrequest.md b/docs/models/operations/getstatisticsrequest.md new file mode 100644 index 0000000..6866754 --- /dev/null +++ b/docs/models/operations/getstatisticsrequest.md @@ -0,0 +1,8 @@ +# GetStatisticsRequest + + +## Fields + +| Field | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `timespan` | *Optional[int]* | :heavy_minus_sign: | The timespan to retrieve statistics for
the exact meaning of this parameter is not known
| \ No newline at end of file diff --git a/docs/models/operations/getstatisticsresponse.md b/docs/models/operations/getstatisticsresponse.md new file mode 100644 index 0000000..8e0c09e --- /dev/null +++ b/docs/models/operations/getstatisticsresponse.md @@ -0,0 +1,11 @@ +# GetStatisticsResponse + + +## Fields + +| Field | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `content_type` | *str* | :heavy_check_mark: | HTTP response content type for this operation | +| `status_code` | *int* | :heavy_check_mark: | HTTP response status code for this operation | +| `raw_response` | [requests.Response](https://requests.readthedocs.io/en/latest/api/#requests.Response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `object` | [Optional[operations.GetStatisticsResponseBody]](../../models/operations/getstatisticsresponsebody.md) | :heavy_minus_sign: | Media Statistics | \ No newline at end of file diff --git a/docs/models/operations/getstatisticsresponsebody.md b/docs/models/operations/getstatisticsresponsebody.md new file mode 100644 index 0000000..01df2cd --- /dev/null +++ b/docs/models/operations/getstatisticsresponsebody.md @@ -0,0 +1,10 @@ +# GetStatisticsResponseBody + +Media Statistics + + +## Fields + +| Field | Type | Required | Description | +| ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------- | +| `media_container` | [Optional[operations.GetStatisticsMediaContainer]](../../models/operations/getstatisticsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/one.md b/docs/models/operations/one.md deleted file mode 100644 index ef8a1c0..0000000 --- a/docs/models/operations/one.md +++ /dev/null @@ -1,16 +0,0 @@ -# One - - -## Fields - -| Field | Type | Required | Description | Example | -| ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | FriendlyName | -| `label` | *Optional[str]* | :heavy_minus_sign: | N/A | Friendly name | -| `summary` | *Optional[str]* | :heavy_minus_sign: | N/A | This name will be used to identify this media server to other computers on your network. If you leave it blank, your computer's name will be used instead. | -| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | text | -| `default` | *Optional[str]* | :heavy_minus_sign: | N/A | | -| `value` | *Optional[str]* | :heavy_minus_sign: | N/A | Hera | -| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | -| `group` | *Optional[str]* | :heavy_minus_sign: | N/A | general | \ No newline at end of file diff --git a/docs/models/operations/setting.md b/docs/models/operations/setting.md index 8455f4d..685edb7 100644 --- a/docs/models/operations/setting.md +++ b/docs/models/operations/setting.md @@ -1,17 +1,17 @@ # Setting -## Supported Types - -### One - -```python -setting: operations.One = /* values here */ -``` - -### Two - -```python -setting: operations.Two = /* values here */ -``` +## Fields +| Field | Type | Required | Description | Example | +| ----------------------- | ----------------------- | ----------------------- | ----------------------- | ----------------------- | +| `id` | *Optional[str]* | :heavy_minus_sign: | N/A | EnableDatabaseTrace | +| `label` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `summary` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `type` | *Optional[str]* | :heavy_minus_sign: | N/A | bool | +| `default` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `value` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `hidden` | *Optional[bool]* | :heavy_minus_sign: | N/A | true | +| `advanced` | *Optional[bool]* | :heavy_minus_sign: | N/A | false | +| `group` | *Optional[str]* | :heavy_minus_sign: | N/A | | +| `enum_values` | *Optional[str]* | :heavy_minus_sign: | N/A | 1:admin only\|2:everyone | \ No newline at end of file diff --git a/docs/models/operations/statisticsmedia.md b/docs/models/operations/statisticsmedia.md new file mode 100644 index 0000000..daa5396 --- /dev/null +++ b/docs/models/operations/statisticsmedia.md @@ -0,0 +1,14 @@ +# StatisticsMedia + + +## Fields + +| Field | Type | Required | Description | Example | +| ------------------ | ------------------ | ------------------ | ------------------ | ------------------ | +| `account_id` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | +| `device_id` | *Optional[int]* | :heavy_minus_sign: | N/A | 13 | +| `timespan` | *Optional[int]* | :heavy_minus_sign: | N/A | 4 | +| `at` | *Optional[int]* | :heavy_minus_sign: | N/A | 1707141600 | +| `metadata_type` | *Optional[int]* | :heavy_minus_sign: | N/A | 4 | +| `count` | *Optional[int]* | :heavy_minus_sign: | N/A | 1 | +| `duration` | *Optional[int]* | :heavy_minus_sign: | N/A | 1555 | \ No newline at end of file diff --git a/docs/sdks/activities/README.md b/docs/sdks/activities/README.md index 22c35af..f3b956b 100644 --- a/docs/sdks/activities/README.md +++ b/docs/sdks/activities/README.md @@ -57,14 +57,13 @@ Cancel Server Activities ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.activities.cancel_server_activities(activity_uuid='string') +res = s.activities.cancel_server_activities(activity_uuid='') if res.status_code == 200: # handle response diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index be4f957..d21ba4d 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -28,7 +28,6 @@ This resource returns hash values for local files ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -218,7 +217,6 @@ Delate a library using a specific section ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -317,7 +315,6 @@ This endpoint Refreshes the library. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -414,7 +411,6 @@ This endpoint will return the metadata of a library item specified with the rati ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -454,7 +450,6 @@ This endpoint will return the children of of a library item specified with the r ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", diff --git a/docs/sdks/media/README.md b/docs/sdks/media/README.md index ff969ab..63a9a37 100644 --- a/docs/sdks/media/README.md +++ b/docs/sdks/media/README.md @@ -20,7 +20,6 @@ This will mark the provided media key as Played. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -59,7 +58,6 @@ This will mark the provided media key as Unplayed. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -99,14 +97,13 @@ This API command can be used to update the play progress of a media item. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.media.update_play_progress(key='string', time=6900.91, state='string') +res = s.media.update_play_progress(key='', time=6900.91, state='') if res.status_code == 200: # handle response diff --git a/docs/sdks/playlists/README.md b/docs/sdks/playlists/README.md index 6891af1..51ab3a5 100644 --- a/docs/sdks/playlists/README.md +++ b/docs/sdks/playlists/README.md @@ -39,7 +39,7 @@ s = plex_api.PlexAPI( ) req = operations.CreatePlaylistRequest( - title='string', + title='', type=operations.QueryParamType.PHOTO, smart=operations.Smart.ONE, uri='https://inborn-brochure.biz', @@ -119,7 +119,6 @@ Smart playlist details contain the `content` attribute. This is the content URI ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -159,7 +158,6 @@ This endpoint will delete a playlist ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -199,14 +197,13 @@ From PMS version 1.9.1 clients can also edit playlist metadata using this endpoi ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.playlists.update_playlist(playlist_id=3915, title='string', summary='string') +res = s.playlists.update_playlist(playlist_id=3915, title='', summary='') if res.status_code == 200: # handle response @@ -244,7 +241,6 @@ Note that for dumb playlists, items have a `playlistItemID` attribute which is u ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -285,7 +281,6 @@ Clears a playlist, only works with dumb playlists. Returns the playlist. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -326,7 +321,6 @@ With a smart playlist, passing a new `uri` parameter replaces the rules for the ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", diff --git a/docs/sdks/plex/README.md b/docs/sdks/plex/README.md index 97603ec..963c007 100644 --- a/docs/sdks/plex/README.md +++ b/docs/sdks/plex/README.md @@ -19,14 +19,13 @@ Retrieve a Pin from Plex.tv for authentication flows ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.plex.get_pin(x_plex_client_identifier='string', strong=False) +res = s.plex.get_pin(x_plex_client_identifier='', strong=False) if res.object is not None: # handle response @@ -60,14 +59,13 @@ Retrieve an Access Token from Plex.tv after the Pin has already been authenticat ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", ) -res = s.plex.get_token(pin_id='string', x_plex_client_identifier='string') +res = s.plex.get_token(pin_id='', x_plex_client_identifier='') if res.status_code == 200: # handle response diff --git a/docs/sdks/search/README.md b/docs/sdks/search/README.md index bb43910..e76419c 100644 --- a/docs/sdks/search/README.md +++ b/docs/sdks/search/README.md @@ -32,7 +32,6 @@ This request is intended to be very fast, and called as the user types. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -77,7 +76,6 @@ Results, as well as their containing per-type hubs, contain a `distance` attribu ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", @@ -118,7 +116,6 @@ This will search the database for the string provided. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", diff --git a/docs/sdks/security/README.md b/docs/sdks/security/README.md index 2c7ba5a..c52194e 100644 --- a/docs/sdks/security/README.md +++ b/docs/sdks/security/README.md @@ -62,7 +62,6 @@ Note: requires Plex Media Server >= 1.15.4. ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", diff --git a/docs/sdks/server/README.md b/docs/sdks/server/README.md index 22f4cbc..a1fcf37 100644 --- a/docs/sdks/server/README.md +++ b/docs/sdks/server/README.md @@ -227,11 +227,11 @@ s = plex_api.PlexAPI( req = operations.GetResizedPhotoRequest( width=110, height=165, - opacity=643869, - blur=4000, - min_size=operations.MinSize.ZERO, + blur=20, + min_size=operations.MinSize.ONE, upscale=operations.Upscale.ZERO, url='/library/metadata/49564/thumb/1654258204', + opacity=209783, ) res = s.server.get_resized_photo(req) diff --git a/docs/sdks/sessions/README.md b/docs/sdks/sessions/README.md index 4959625..3978ce5 100644 --- a/docs/sdks/sessions/README.md +++ b/docs/sdks/sessions/README.md @@ -117,7 +117,6 @@ Stop a Transcode Session ```python import plex_api -from plex_api.models import operations s = plex_api.PlexAPI( access_token="", diff --git a/docs/sdks/statistics/README.md b/docs/sdks/statistics/README.md new file mode 100644 index 0000000..929491f --- /dev/null +++ b/docs/sdks/statistics/README.md @@ -0,0 +1,49 @@ +# Statistics +(*statistics*) + +## Overview + +API Calls that perform operations with Plex Media Server Statistics + + +### Available Operations + +* [get_statistics](#get_statistics) - Get Media Statistics + +## get_statistics + +This will return the media statistics for the server + +### Example Usage + +```python +import plex_api + +s = plex_api.PlexAPI( + access_token="", +) + + +res = s.statistics.get_statistics(timespan=411769) + +if res.object is not None: + # handle response + pass +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| `timespan` | *Optional[int]* | :heavy_minus_sign: | The timespan to retrieve statistics for
the exact meaning of this parameter is not known
| + + +### Response + +**[operations.GetStatisticsResponse](../../models/operations/getstatisticsresponse.md)** +### Errors + +| Error Object | Status Code | Content Type | +| -------------------------------- | -------------------------------- | -------------------------------- | +| errors.GetStatisticsResponseBody | 401 | application/json | +| errors.SDKError | 4x-5xx | */* | diff --git a/docs/sdks/video/README.md b/docs/sdks/video/README.md index c1cec89..d87de49 100644 --- a/docs/sdks/video/README.md +++ b/docs/sdks/video/README.md @@ -8,54 +8,8 @@ API Calls that perform operations with Plex Media Server Videos ### Available Operations -* [start_universal_transcode](#start_universal_transcode) - Start Universal Transcode * [get_timeline](#get_timeline) - Get the timeline for a media item - -## start_universal_transcode - -Begin a Universal Transcode Session - -### Example Usage - -```python -import plex_api -from plex_api.models import operations - -s = plex_api.PlexAPI( - access_token="", -) - -req = operations.StartUniversalTranscodeRequest( - has_mde=8924.99, - path='/etc/mail', - media_index=9962.95, - part_index=1232.82, - protocol='string', -) - -res = s.video.start_universal_transcode(req) - -if res.status_code == 200: - # handle response - pass -``` - -### Parameters - -| Parameter | Type | Required | Description | -| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | -| `request` | [operations.StartUniversalTranscodeRequest](../../models/operations/startuniversaltranscoderequest.md) | :heavy_check_mark: | The request object to use for the request. | - - -### Response - -**[operations.StartUniversalTranscodeResponse](../../models/operations/startuniversaltranscoderesponse.md)** -### Errors - -| Error Object | Status Code | Content Type | -| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | -| errors.StartUniversalTranscodeResponseBody | 401 | application/json | -| errors.SDKError | 4x-5xx | */* | +* [start_universal_transcode](#start_universal_transcode) - Start Universal Transcode ## get_timeline @@ -78,7 +32,7 @@ req = operations.GetTimelineRequest( has_mde=7574.33, time=3327.51, duration=7585.39, - context='string', + context='', play_queue_item_id=1406.21, play_back_time=2699.34, row=3536.42, @@ -107,3 +61,49 @@ if res.status_code == 200: | ------------------------------ | ------------------------------ | ------------------------------ | | errors.GetTimelineResponseBody | 401 | application/json | | errors.SDKError | 4x-5xx | */* | + +## start_universal_transcode + +Begin a Universal Transcode Session + +### Example Usage + +```python +import plex_api +from plex_api.models import operations + +s = plex_api.PlexAPI( + access_token="", +) + +req = operations.StartUniversalTranscodeRequest( + has_mde=8924.99, + path='/etc/mail', + media_index=9962.95, + part_index=1232.82, + protocol='', +) + +res = s.video.start_universal_transcode(req) + +if res.status_code == 200: + # handle response + pass +``` + +### Parameters + +| Parameter | Type | Required | Description | +| ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | +| `request` | [operations.StartUniversalTranscodeRequest](../../models/operations/startuniversaltranscoderequest.md) | :heavy_check_mark: | The request object to use for the request. | + + +### Response + +**[operations.StartUniversalTranscodeResponse](../../models/operations/startuniversaltranscoderesponse.md)** +### Errors + +| Error Object | Status Code | Content Type | +| ------------------------------------------ | ------------------------------------------ | ------------------------------------------ | +| errors.StartUniversalTranscodeResponseBody | 401 | application/json | +| errors.SDKError | 4x-5xx | */* | diff --git a/gen.yaml b/gen.yaml index 2b5546e..86a0151 100644 --- a/gen.yaml +++ b/gen.yaml @@ -8,8 +8,9 @@ generation: fixes: nameResolutionDec2023: false parameterOrderingFeb2024: false + requestResponseComponentNamesFeb2024: false python: - version: 0.1.1 + version: 0.2.0 author: LukeHagar clientServerStatusCodesAsErrors: true description: Python Client SDK Generated by Speakeasy diff --git a/pylintrc b/pylintrc index 070fdf4..a1905ab 100644 --- a/pylintrc +++ b/pylintrc @@ -182,7 +182,8 @@ good-names=i, _, ip, id, - qr + qr, + at # Good variable names regexes, separated by a comma. If names match any regex, # they will always be accepted diff --git a/setup.py b/setup.py index 4b1a621..ab2d8a0 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ except FileNotFoundError: setuptools.setup( name="plex-api-client", - version="0.1.1", + version="0.2.0", author="LukeHagar", description="Python Client SDK Generated by Speakeasy", long_description=long_description, diff --git a/src/plex_api/models/errors/__init__.py b/src/plex_api/models/errors/__init__.py index 846ef64..a2a5fde 100644 --- a/src/plex_api/models/errors/__init__.py +++ b/src/plex_api/models/errors/__init__.py @@ -36,6 +36,7 @@ from .getserverpreferences import * from .getsessionhistory import * from .getsessions import * from .getsourceconnectioninformation import * +from .getstatistics import * from .gettimeline import * from .gettoken import * from .gettranscodesessions import * @@ -59,4 +60,4 @@ from .updateplaylist import * from .updateplayprogress import * from .uploadplaylist import * -__all__ = ["AddPlaylistContentsErrors","AddPlaylistContentsResponseBody","ApplyUpdatesErrors","ApplyUpdatesResponseBody","CancelServerActivitiesErrors","CancelServerActivitiesResponseBody","CheckForUpdatesErrors","CheckForUpdatesResponseBody","ClearPlaylistContentsErrors","ClearPlaylistContentsResponseBody","CreatePlaylistErrors","CreatePlaylistResponseBody","DeleteLibraryErrors","DeleteLibraryResponseBody","DeletePlaylistErrors","DeletePlaylistResponseBody","EnablePaperTrailErrors","EnablePaperTrailResponseBody","Errors","GetAvailableClientsErrors","GetAvailableClientsResponseBody","GetButlerTasksErrors","GetButlerTasksResponseBody","GetDevicesErrors","GetDevicesResponseBody","GetFileHashErrors","GetFileHashResponseBody","GetGlobalHubsErrors","GetGlobalHubsResponseBody","GetLibrariesErrors","GetLibrariesResponseBody","GetLibraryErrors","GetLibraryHubsErrors","GetLibraryHubsResponseBody","GetLibraryResponseBody","GetMetadataChildrenErrors","GetMetadataChildrenResponseBody","GetMetadataErrors","GetMetadataResponseBody","GetMyPlexAccountErrors","GetMyPlexAccountResponseBody","GetOnDeckErrors","GetOnDeckResponseBody","GetPinErrors","GetPinResponseBody","GetPlaylistContentsErrors","GetPlaylistContentsResponseBody","GetPlaylistErrors","GetPlaylistResponseBody","GetPlaylistsErrors","GetPlaylistsResponseBody","GetRecentlyAddedErrors","GetRecentlyAddedResponseBody","GetResizedPhotoErrors","GetResizedPhotoResponseBody","GetSearchResultsErrors","GetSearchResultsResponseBody","GetServerActivitiesErrors","GetServerActivitiesResponseBody","GetServerCapabilitiesResponseBody","GetServerIdentityErrors","GetServerIdentityResponseBody","GetServerListErrors","GetServerListResponseBody","GetServerPreferencesErrors","GetServerPreferencesResponseBody","GetSessionHistoryErrors","GetSessionHistoryResponseBody","GetSessionsErrors","GetSessionsResponseBody","GetSourceConnectionInformationErrors","GetSourceConnectionInformationResponseBody","GetTimelineErrors","GetTimelineResponseBody","GetTokenErrors","GetTokenResponseBody","GetTranscodeSessionsErrors","GetTranscodeSessionsResponseBody","GetTransientTokenErrors","GetTransientTokenResponseBody","GetUpdateStatusErrors","GetUpdateStatusResponseBody","LogLineErrors","LogLineResponseBody","LogMultiLineErrors","LogMultiLineResponseBody","MarkPlayedErrors","MarkPlayedResponseBody","MarkUnplayedErrors","MarkUnplayedResponseBody","PerformSearchErrors","PerformSearchResponseBody","PerformVoiceSearchErrors","PerformVoiceSearchResponseBody","RefreshLibraryErrors","RefreshLibraryResponseBody","SDKError","StartAllTasksErrors","StartAllTasksResponseBody","StartTaskErrors","StartTaskResponseBody","StartUniversalTranscodeErrors","StartUniversalTranscodeResponseBody","StopAllTasksErrors","StopAllTasksResponseBody","StopTaskErrors","StopTaskResponseBody","StopTranscodeSessionErrors","StopTranscodeSessionResponseBody","UpdatePlayProgressErrors","UpdatePlayProgressResponseBody","UpdatePlaylistErrors","UpdatePlaylistResponseBody","UploadPlaylistErrors","UploadPlaylistResponseBody"] +__all__ = ["AddPlaylistContentsErrors","AddPlaylistContentsResponseBody","ApplyUpdatesErrors","ApplyUpdatesResponseBody","CancelServerActivitiesErrors","CancelServerActivitiesResponseBody","CheckForUpdatesErrors","CheckForUpdatesResponseBody","ClearPlaylistContentsErrors","ClearPlaylistContentsResponseBody","CreatePlaylistErrors","CreatePlaylistResponseBody","DeleteLibraryErrors","DeleteLibraryResponseBody","DeletePlaylistErrors","DeletePlaylistResponseBody","EnablePaperTrailErrors","EnablePaperTrailResponseBody","Errors","GetAvailableClientsErrors","GetAvailableClientsResponseBody","GetButlerTasksErrors","GetButlerTasksResponseBody","GetDevicesErrors","GetDevicesResponseBody","GetFileHashErrors","GetFileHashResponseBody","GetGlobalHubsErrors","GetGlobalHubsResponseBody","GetLibrariesErrors","GetLibrariesResponseBody","GetLibraryErrors","GetLibraryHubsErrors","GetLibraryHubsResponseBody","GetLibraryResponseBody","GetMetadataChildrenErrors","GetMetadataChildrenResponseBody","GetMetadataErrors","GetMetadataResponseBody","GetMyPlexAccountErrors","GetMyPlexAccountResponseBody","GetOnDeckErrors","GetOnDeckResponseBody","GetPinErrors","GetPinResponseBody","GetPlaylistContentsErrors","GetPlaylistContentsResponseBody","GetPlaylistErrors","GetPlaylistResponseBody","GetPlaylistsErrors","GetPlaylistsResponseBody","GetRecentlyAddedErrors","GetRecentlyAddedResponseBody","GetResizedPhotoErrors","GetResizedPhotoResponseBody","GetSearchResultsErrors","GetSearchResultsResponseBody","GetServerActivitiesErrors","GetServerActivitiesResponseBody","GetServerCapabilitiesResponseBody","GetServerIdentityErrors","GetServerIdentityResponseBody","GetServerListErrors","GetServerListResponseBody","GetServerPreferencesErrors","GetServerPreferencesResponseBody","GetSessionHistoryErrors","GetSessionHistoryResponseBody","GetSessionsErrors","GetSessionsResponseBody","GetSourceConnectionInformationErrors","GetSourceConnectionInformationResponseBody","GetStatisticsErrors","GetStatisticsResponseBody","GetTimelineErrors","GetTimelineResponseBody","GetTokenErrors","GetTokenResponseBody","GetTranscodeSessionsErrors","GetTranscodeSessionsResponseBody","GetTransientTokenErrors","GetTransientTokenResponseBody","GetUpdateStatusErrors","GetUpdateStatusResponseBody","LogLineErrors","LogLineResponseBody","LogMultiLineErrors","LogMultiLineResponseBody","MarkPlayedErrors","MarkPlayedResponseBody","MarkUnplayedErrors","MarkUnplayedResponseBody","PerformSearchErrors","PerformSearchResponseBody","PerformVoiceSearchErrors","PerformVoiceSearchResponseBody","RefreshLibraryErrors","RefreshLibraryResponseBody","SDKError","StartAllTasksErrors","StartAllTasksResponseBody","StartTaskErrors","StartTaskResponseBody","StartUniversalTranscodeErrors","StartUniversalTranscodeResponseBody","StopAllTasksErrors","StopAllTasksResponseBody","StopTaskErrors","StopTaskResponseBody","StopTranscodeSessionErrors","StopTranscodeSessionResponseBody","UpdatePlayProgressErrors","UpdatePlayProgressResponseBody","UpdatePlaylistErrors","UpdatePlaylistResponseBody","UploadPlaylistErrors","UploadPlaylistResponseBody"] diff --git a/src/plex_api/models/errors/getstatistics.py b/src/plex_api/models/errors/getstatistics.py new file mode 100644 index 0000000..1a40e8c --- /dev/null +++ b/src/plex_api/models/errors/getstatistics.py @@ -0,0 +1,32 @@ +"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" + +from __future__ import annotations +import dataclasses +import requests as requests_http +from dataclasses_json import Undefined, dataclass_json +from plex_api import utils +from typing import List, Optional + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class GetStatisticsErrors: + code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }}) + message: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('message'), 'exclude': lambda f: f is None }}) + status: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) + +@dataclasses.dataclass +class GetStatisticsResponseBody(Exception): + r"""Unauthorized - Returned if the X-Plex-Token is missing from the header or query.""" + errors: Optional[List[GetStatisticsErrors]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('errors'), 'exclude': lambda f: f is None }}) + raw_response: Optional[requests_http.Response] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'exclude': lambda f: True }}) + r"""Raw HTTP response; suitable for custom response parsing""" + + + def __str__(self) -> str: + return utils.marshal_json(self, type(self)) diff --git a/src/plex_api/models/operations/__init__.py b/src/plex_api/models/operations/__init__.py index fb180db..0cdd8ef 100644 --- a/src/plex_api/models/operations/__init__.py +++ b/src/plex_api/models/operations/__init__.py @@ -37,6 +37,7 @@ from .getserverpreferences import * from .getsessionhistory import * from .getsessions import * from .getsourceconnectioninformation import * +from .getstatistics import * from .gettimeline import * from .gettoken import * from .gettranscodesessions import * @@ -60,4 +61,4 @@ from .updateplaylist import * from .updateplayprogress import * from .uploadplaylist import * -__all__ = ["Activity","AddPlaylistContentsMediaContainer","AddPlaylistContentsMetadata","AddPlaylistContentsRequest","AddPlaylistContentsResponse","AddPlaylistContentsResponseBody","ApplyUpdatesRequest","ApplyUpdatesResponse","ButlerTask","ButlerTasks","CancelServerActivitiesRequest","CancelServerActivitiesResponse","CheckForUpdatesRequest","CheckForUpdatesResponse","ClearPlaylistContentsRequest","ClearPlaylistContentsResponse","Context","Country","CreatePlaylistMediaContainer","CreatePlaylistMetadata","CreatePlaylistRequest","CreatePlaylistResponse","CreatePlaylistResponseBody","DeleteLibraryRequest","DeleteLibraryResponse","DeletePlaylistRequest","DeletePlaylistResponse","Device","Director","Directory","Download","EnablePaperTrailResponse","Field","FieldType","Filter","Force","GET_PIN_SERVERS","GET_TOKEN_SERVERS","Genre","GetAvailableClientsMediaContainer","GetAvailableClientsResponse","GetAvailableClientsResponseBody","GetButlerTasksResponse","GetButlerTasksResponseBody","GetDevicesMediaContainer","GetDevicesResponse","GetDevicesResponseBody","GetFileHashRequest","GetFileHashResponse","GetGlobalHubsMediaContainer","GetGlobalHubsMetadata","GetGlobalHubsRequest","GetGlobalHubsResponse","GetGlobalHubsResponseBody","GetLibrariesDirectory","GetLibrariesLocation","GetLibrariesMediaContainer","GetLibrariesResponse","GetLibrariesResponseBody","GetLibraryDirectory","GetLibraryHubsCountry","GetLibraryHubsDirector","GetLibraryHubsGenre","GetLibraryHubsHub","GetLibraryHubsMedia","GetLibraryHubsMediaContainer","GetLibraryHubsMetadata","GetLibraryHubsPart","GetLibraryHubsRequest","GetLibraryHubsResponse","GetLibraryHubsResponseBody","GetLibraryHubsRole","GetLibraryHubsWriter","GetLibraryItemsCountry","GetLibraryItemsDirector","GetLibraryItemsGenre","GetLibraryItemsMedia","GetLibraryItemsMediaContainer","GetLibraryItemsMetadata","GetLibraryItemsPart","GetLibraryItemsRequest","GetLibraryItemsResponse","GetLibraryItemsResponseBody","GetLibraryItemsRole","GetLibraryItemsWriter","GetLibraryMediaContainer","GetLibraryRequest","GetLibraryResponse","GetLibraryResponseBody","GetLibraryType","GetMetadataChildrenDirectory","GetMetadataChildrenMediaContainer","GetMetadataChildrenMetadata","GetMetadataChildrenRequest","GetMetadataChildrenResponse","GetMetadataChildrenResponseBody","GetMetadataCountry","GetMetadataDirector","GetMetadataGenre","GetMetadataMedia","GetMetadataMediaContainer","GetMetadataMetadata","GetMetadataPart","GetMetadataRequest","GetMetadataResponse","GetMetadataResponseBody","GetMetadataRole","GetMetadataWriter","GetMyPlexAccountResponse","GetMyPlexAccountResponseBody","GetOnDeckGuids","GetOnDeckMedia","GetOnDeckMediaContainer","GetOnDeckMetadata","GetOnDeckPart","GetOnDeckResponse","GetOnDeckResponseBody","GetOnDeckStream","GetPinRequest","GetPinResponse","GetPinResponseBody","GetPlaylistContentsCountry","GetPlaylistContentsDirector","GetPlaylistContentsGenre","GetPlaylistContentsMedia","GetPlaylistContentsMediaContainer","GetPlaylistContentsMetadata","GetPlaylistContentsPart","GetPlaylistContentsRequest","GetPlaylistContentsResponse","GetPlaylistContentsResponseBody","GetPlaylistContentsRole","GetPlaylistContentsWriter","GetPlaylistMediaContainer","GetPlaylistMetadata","GetPlaylistRequest","GetPlaylistResponse","GetPlaylistResponseBody","GetPlaylistsMediaContainer","GetPlaylistsMetadata","GetPlaylistsRequest","GetPlaylistsResponse","GetPlaylistsResponseBody","GetRecentlyAddedMediaContainer","GetRecentlyAddedResponse","GetRecentlyAddedResponseBody","GetResizedPhotoRequest","GetResizedPhotoResponse","GetSearchResultsCountry","GetSearchResultsDirector","GetSearchResultsGenre","GetSearchResultsMedia","GetSearchResultsMediaContainer","GetSearchResultsMetadata","GetSearchResultsPart","GetSearchResultsRequest","GetSearchResultsResponse","GetSearchResultsResponseBody","GetSearchResultsRole","GetSearchResultsWriter","GetServerActivitiesMediaContainer","GetServerActivitiesResponse","GetServerActivitiesResponseBody","GetServerCapabilitiesResponse","GetServerCapabilitiesResponseBody","GetServerIdentityMediaContainer","GetServerIdentityResponse","GetServerIdentityResponseBody","GetServerListMediaContainer","GetServerListResponse","GetServerListResponseBody","GetServerListServer","GetServerPreferencesMediaContainer","GetServerPreferencesResponse","GetServerPreferencesResponseBody","GetSessionHistoryMediaContainer","GetSessionHistoryMetadata","GetSessionHistoryResponse","GetSessionHistoryResponseBody","GetSessionsMedia","GetSessionsMediaContainer","GetSessionsMetadata","GetSessionsPart","GetSessionsResponse","GetSessionsResponseBody","GetSessionsStream","GetSourceConnectionInformationRequest","GetSourceConnectionInformationResponse","GetTimelineRequest","GetTimelineResponse","GetTokenRequest","GetTokenResponse","GetTranscodeSessionsMediaContainer","GetTranscodeSessionsResponse","GetTranscodeSessionsResponseBody","GetTransientTokenQueryParamType","GetTransientTokenRequest","GetTransientTokenResponse","GetUpdateStatusMediaContainer","GetUpdateStatusResponse","GetUpdateStatusResponseBody","Guids","Hub","IncludeDetails","Level","Location","LogLineRequest","LogLineResponse","LogMultiLineResponse","MarkPlayedRequest","MarkPlayedResponse","MarkUnplayedRequest","MarkUnplayedResponse","Media","MediaContainer","Metadata","MinSize","MyPlex","One","OnlyTransient","Operator","Part","PathParamTaskName","PerformSearchRequest","PerformSearchResponse","PerformVoiceSearchRequest","PerformVoiceSearchResponse","Player","PlaylistType","Producer","Provider","QueryParamOnlyTransient","QueryParamSmart","QueryParamType","Ratings","RefreshLibraryRequest","RefreshLibraryResponse","Release","Role","Scope","SearchLibraryMediaContainer","SearchLibraryMetadata","SearchLibraryRequest","SearchLibraryResponse","SearchLibraryResponseBody","Server","Session","Skip","Smart","Sort","StartAllTasksResponse","StartTaskRequest","StartTaskResponse","StartUniversalTranscodeRequest","StartUniversalTranscodeResponse","State","StopAllTasksResponse","StopTaskRequest","StopTaskResponse","StopTranscodeSessionRequest","StopTranscodeSessionResponse","Stream","Tag","TaskName","Tonight","TranscodeSession","Two","Type","UpdatePlayProgressRequest","UpdatePlayProgressResponse","UpdatePlaylistRequest","UpdatePlaylistResponse","UploadPlaylistRequest","UploadPlaylistResponse","Upscale","User","Writer"] +__all__ = ["Account","Activity","AddPlaylistContentsMediaContainer","AddPlaylistContentsMetadata","AddPlaylistContentsRequest","AddPlaylistContentsResponse","AddPlaylistContentsResponseBody","ApplyUpdatesRequest","ApplyUpdatesResponse","ButlerTask","ButlerTasks","CancelServerActivitiesRequest","CancelServerActivitiesResponse","CheckForUpdatesRequest","CheckForUpdatesResponse","ClearPlaylistContentsRequest","ClearPlaylistContentsResponse","Context","Country","CreatePlaylistMediaContainer","CreatePlaylistMetadata","CreatePlaylistRequest","CreatePlaylistResponse","CreatePlaylistResponseBody","DeleteLibraryRequest","DeleteLibraryResponse","DeletePlaylistRequest","DeletePlaylistResponse","Device","Director","Directory","Download","EnablePaperTrailResponse","Field","FieldType","Filter","Force","GET_PIN_SERVERS","GET_TOKEN_SERVERS","Genre","GetAvailableClientsMediaContainer","GetAvailableClientsResponse","GetAvailableClientsResponseBody","GetButlerTasksResponse","GetButlerTasksResponseBody","GetDevicesMediaContainer","GetDevicesResponse","GetDevicesResponseBody","GetFileHashRequest","GetFileHashResponse","GetGlobalHubsMediaContainer","GetGlobalHubsMetadata","GetGlobalHubsRequest","GetGlobalHubsResponse","GetGlobalHubsResponseBody","GetLibrariesDirectory","GetLibrariesLocation","GetLibrariesMediaContainer","GetLibrariesResponse","GetLibrariesResponseBody","GetLibraryDirectory","GetLibraryHubsCountry","GetLibraryHubsDirector","GetLibraryHubsGenre","GetLibraryHubsHub","GetLibraryHubsMedia","GetLibraryHubsMediaContainer","GetLibraryHubsMetadata","GetLibraryHubsPart","GetLibraryHubsRequest","GetLibraryHubsResponse","GetLibraryHubsResponseBody","GetLibraryHubsRole","GetLibraryHubsWriter","GetLibraryItemsCountry","GetLibraryItemsDirector","GetLibraryItemsGenre","GetLibraryItemsMedia","GetLibraryItemsMediaContainer","GetLibraryItemsMetadata","GetLibraryItemsPart","GetLibraryItemsRequest","GetLibraryItemsResponse","GetLibraryItemsResponseBody","GetLibraryItemsRole","GetLibraryItemsWriter","GetLibraryMediaContainer","GetLibraryRequest","GetLibraryResponse","GetLibraryResponseBody","GetLibraryType","GetMetadataChildrenDirectory","GetMetadataChildrenMediaContainer","GetMetadataChildrenMetadata","GetMetadataChildrenRequest","GetMetadataChildrenResponse","GetMetadataChildrenResponseBody","GetMetadataCountry","GetMetadataDirector","GetMetadataGenre","GetMetadataMedia","GetMetadataMediaContainer","GetMetadataMetadata","GetMetadataPart","GetMetadataRequest","GetMetadataResponse","GetMetadataResponseBody","GetMetadataRole","GetMetadataWriter","GetMyPlexAccountResponse","GetMyPlexAccountResponseBody","GetOnDeckGuids","GetOnDeckMedia","GetOnDeckMediaContainer","GetOnDeckMetadata","GetOnDeckPart","GetOnDeckResponse","GetOnDeckResponseBody","GetOnDeckStream","GetPinRequest","GetPinResponse","GetPinResponseBody","GetPlaylistContentsCountry","GetPlaylistContentsDirector","GetPlaylistContentsGenre","GetPlaylistContentsMedia","GetPlaylistContentsMediaContainer","GetPlaylistContentsMetadata","GetPlaylistContentsPart","GetPlaylistContentsRequest","GetPlaylistContentsResponse","GetPlaylistContentsResponseBody","GetPlaylistContentsRole","GetPlaylistContentsWriter","GetPlaylistMediaContainer","GetPlaylistMetadata","GetPlaylistRequest","GetPlaylistResponse","GetPlaylistResponseBody","GetPlaylistsMediaContainer","GetPlaylistsMetadata","GetPlaylistsRequest","GetPlaylistsResponse","GetPlaylistsResponseBody","GetRecentlyAddedMediaContainer","GetRecentlyAddedResponse","GetRecentlyAddedResponseBody","GetResizedPhotoRequest","GetResizedPhotoResponse","GetSearchResultsCountry","GetSearchResultsDirector","GetSearchResultsGenre","GetSearchResultsMedia","GetSearchResultsMediaContainer","GetSearchResultsMetadata","GetSearchResultsPart","GetSearchResultsRequest","GetSearchResultsResponse","GetSearchResultsResponseBody","GetSearchResultsRole","GetSearchResultsWriter","GetServerActivitiesMediaContainer","GetServerActivitiesResponse","GetServerActivitiesResponseBody","GetServerCapabilitiesResponse","GetServerCapabilitiesResponseBody","GetServerIdentityMediaContainer","GetServerIdentityResponse","GetServerIdentityResponseBody","GetServerListMediaContainer","GetServerListResponse","GetServerListResponseBody","GetServerListServer","GetServerPreferencesMediaContainer","GetServerPreferencesResponse","GetServerPreferencesResponseBody","GetSessionHistoryMediaContainer","GetSessionHistoryMetadata","GetSessionHistoryResponse","GetSessionHistoryResponseBody","GetSessionsMedia","GetSessionsMediaContainer","GetSessionsMetadata","GetSessionsPart","GetSessionsResponse","GetSessionsResponseBody","GetSessionsStream","GetSourceConnectionInformationRequest","GetSourceConnectionInformationResponse","GetStatisticsDevice","GetStatisticsMediaContainer","GetStatisticsRequest","GetStatisticsResponse","GetStatisticsResponseBody","GetTimelineRequest","GetTimelineResponse","GetTokenRequest","GetTokenResponse","GetTranscodeSessionsMediaContainer","GetTranscodeSessionsResponse","GetTranscodeSessionsResponseBody","GetTransientTokenQueryParamType","GetTransientTokenRequest","GetTransientTokenResponse","GetUpdateStatusMediaContainer","GetUpdateStatusResponse","GetUpdateStatusResponseBody","Guids","Hub","IncludeDetails","Level","Location","LogLineRequest","LogLineResponse","LogMultiLineResponse","MarkPlayedRequest","MarkPlayedResponse","MarkUnplayedRequest","MarkUnplayedResponse","Media","MediaContainer","Metadata","MinSize","MyPlex","OnlyTransient","Operator","Part","PathParamTaskName","PerformSearchRequest","PerformSearchResponse","PerformVoiceSearchRequest","PerformVoiceSearchResponse","Player","PlaylistType","Producer","Provider","QueryParamOnlyTransient","QueryParamSmart","QueryParamType","Ratings","RefreshLibraryRequest","RefreshLibraryResponse","Release","Role","Scope","SearchLibraryMediaContainer","SearchLibraryMetadata","SearchLibraryRequest","SearchLibraryResponse","SearchLibraryResponseBody","Server","Session","Setting","Skip","Smart","Sort","StartAllTasksResponse","StartTaskRequest","StartTaskResponse","StartUniversalTranscodeRequest","StartUniversalTranscodeResponse","State","StatisticsMedia","StopAllTasksResponse","StopTaskRequest","StopTaskResponse","StopTranscodeSessionRequest","StopTranscodeSessionResponse","Stream","Tag","TaskName","Tonight","TranscodeSession","Type","UpdatePlayProgressRequest","UpdatePlayProgressResponse","UpdatePlaylistRequest","UpdatePlaylistResponse","UploadPlaylistRequest","UploadPlaylistResponse","Upscale","User","Writer"] diff --git a/src/plex_api/models/operations/addplaylistcontents.py b/src/plex_api/models/operations/addplaylistcontents.py index 64f5e81..91b05e1 100644 --- a/src/plex_api/models/operations/addplaylistcontents.py +++ b/src/plex_api/models/operations/addplaylistcontents.py @@ -23,18 +23,18 @@ class AddPlaylistContentsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class AddPlaylistContentsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) + playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) @@ -43,10 +43,10 @@ class AddPlaylistContentsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class AddPlaylistContentsMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) leaf_count_added: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCountAdded'), 'exclude': lambda f: f is None }}) leaf_count_requested: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCountRequested'), 'exclude': lambda f: f is None }}) metadata: Optional[List[AddPlaylistContentsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) @@ -64,10 +64,10 @@ class AddPlaylistContentsResponseBody: class AddPlaylistContentsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[AddPlaylistContentsResponseBody] = dataclasses.field(default=None) r"""Playlist Updated""" diff --git a/src/plex_api/models/operations/applyupdates.py b/src/plex_api/models/operations/applyupdates.py index ee53227..9b8aa1a 100644 --- a/src/plex_api/models/operations/applyupdates.py +++ b/src/plex_api/models/operations/applyupdates.py @@ -19,10 +19,10 @@ class Skip(int, Enum): @dataclasses.dataclass class ApplyUpdatesRequest: - skip: Optional[Skip] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': True }}) - r"""Indicate that the latest version should be marked as skipped. The entry for this version will have the `state` set to `skipped`.""" tonight: Optional[Tonight] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'tonight', 'style': 'form', 'explode': True }}) r"""Indicate that you want the update to run during the next Butler execution. Omitting this or setting it to false indicates that the update should install""" + skip: Optional[Skip] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'skip', 'style': 'form', 'explode': True }}) + r"""Indicate that the latest version should be marked as skipped. The entry for this version will have the `state` set to `skipped`.""" @@ -31,9 +31,9 @@ class ApplyUpdatesRequest: class ApplyUpdatesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/cancelserveractivities.py b/src/plex_api/models/operations/cancelserveractivities.py index d5cdcb5..fe20c5d 100644 --- a/src/plex_api/models/operations/cancelserveractivities.py +++ b/src/plex_api/models/operations/cancelserveractivities.py @@ -17,9 +17,9 @@ class CancelServerActivitiesRequest: class CancelServerActivitiesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/checkforupdates.py b/src/plex_api/models/operations/checkforupdates.py index cf3fd14..7184e3f 100644 --- a/src/plex_api/models/operations/checkforupdates.py +++ b/src/plex_api/models/operations/checkforupdates.py @@ -24,9 +24,9 @@ class CheckForUpdatesRequest: class CheckForUpdatesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/clearplaylistcontents.py b/src/plex_api/models/operations/clearplaylistcontents.py index 427c5fa..b0e0554 100644 --- a/src/plex_api/models/operations/clearplaylistcontents.py +++ b/src/plex_api/models/operations/clearplaylistcontents.py @@ -17,9 +17,9 @@ class ClearPlaylistContentsRequest: class ClearPlaylistContentsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/createplaylist.py b/src/plex_api/models/operations/createplaylist.py index bb3fb7f..ca59829 100644 --- a/src/plex_api/models/operations/createplaylist.py +++ b/src/plex_api/models/operations/createplaylist.py @@ -22,12 +22,12 @@ class Smart(int, Enum): @dataclasses.dataclass class CreatePlaylistRequest: - smart: Smart = dataclasses.field(metadata={'query_param': { 'field_name': 'smart', 'style': 'form', 'explode': True }}) - r"""whether the playlist is smart or not""" title: str = dataclasses.field(metadata={'query_param': { 'field_name': 'title', 'style': 'form', 'explode': True }}) r"""name of the playlist""" type: QueryParamType = dataclasses.field(metadata={'query_param': { 'field_name': 'type', 'style': 'form', 'explode': True }}) r"""type of playlist to create""" + smart: Smart = dataclasses.field(metadata={'query_param': { 'field_name': 'smart', 'style': 'form', 'explode': True }}) + r"""whether the playlist is smart or not""" uri: str = dataclasses.field(metadata={'query_param': { 'field_name': 'uri', 'style': 'form', 'explode': True }}) r"""the content URI for the playlist""" play_queue_id: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'playQueueID', 'style': 'form', 'explode': True }}) @@ -39,22 +39,22 @@ class CreatePlaylistRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class CreatePlaylistMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) + playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) + icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) + view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) - view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) @@ -62,8 +62,8 @@ class CreatePlaylistMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class CreatePlaylistMediaContainer: - metadata: Optional[List[CreatePlaylistMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[CreatePlaylistMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -81,10 +81,10 @@ class CreatePlaylistResponseBody: class CreatePlaylistResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[CreatePlaylistResponseBody] = dataclasses.field(default=None) r"""returns all playlists""" diff --git a/src/plex_api/models/operations/deletelibrary.py b/src/plex_api/models/operations/deletelibrary.py index eaa8c93..3d3d371 100644 --- a/src/plex_api/models/operations/deletelibrary.py +++ b/src/plex_api/models/operations/deletelibrary.py @@ -17,9 +17,9 @@ class DeleteLibraryRequest: class DeleteLibraryResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/deleteplaylist.py b/src/plex_api/models/operations/deleteplaylist.py index af5cf51..063837f 100644 --- a/src/plex_api/models/operations/deleteplaylist.py +++ b/src/plex_api/models/operations/deleteplaylist.py @@ -17,9 +17,9 @@ class DeletePlaylistRequest: class DeletePlaylistResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/enablepapertrail.py b/src/plex_api/models/operations/enablepapertrail.py index 787b157..ed31d39 100644 --- a/src/plex_api/models/operations/enablepapertrail.py +++ b/src/plex_api/models/operations/enablepapertrail.py @@ -9,9 +9,9 @@ import requests as requests_http class EnablePaperTrailResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/getavailableclients.py b/src/plex_api/models/operations/getavailableclients.py index 6d735ac..83c61e5 100644 --- a/src/plex_api/models/operations/getavailableclients.py +++ b/src/plex_api/models/operations/getavailableclients.py @@ -11,17 +11,17 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Server: - address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('address'), 'exclude': lambda f: f is None }}) - device_class: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('deviceClass'), 'exclude': lambda f: f is None }}) - host: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('host'), 'exclude': lambda f: f is None }}) - machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) + host: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('host'), 'exclude': lambda f: f is None }}) + address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('address'), 'exclude': lambda f: f is None }}) port: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('port'), 'exclude': lambda f: f is None }}) - product: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('product'), 'exclude': lambda f: f is None }}) - protocol: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocol'), 'exclude': lambda f: f is None }}) - protocol_capabilities: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocolCapabilities'), 'exclude': lambda f: f is None }}) - protocol_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocolVersion'), 'exclude': lambda f: f is None }}) + machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) + protocol: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocol'), 'exclude': lambda f: f is None }}) + product: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('product'), 'exclude': lambda f: f is None }}) + device_class: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('deviceClass'), 'exclude': lambda f: f is None }}) + protocol_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocolVersion'), 'exclude': lambda f: f is None }}) + protocol_capabilities: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocolCapabilities'), 'exclude': lambda f: f is None }}) @@ -29,8 +29,8 @@ class Server: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetAvailableClientsMediaContainer: - server: Optional[List[Server]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Server'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + server: Optional[List[Server]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Server'), 'exclude': lambda f: f is None }}) @@ -48,10 +48,10 @@ class GetAvailableClientsResponseBody: class GetAvailableClientsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetAvailableClientsResponseBody] = dataclasses.field(default=None) r"""Available Clients""" diff --git a/src/plex_api/models/operations/getbutlertasks.py b/src/plex_api/models/operations/getbutlertasks.py index 048e031..27bb09a 100644 --- a/src/plex_api/models/operations/getbutlertasks.py +++ b/src/plex_api/models/operations/getbutlertasks.py @@ -11,12 +11,12 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class ButlerTask: - description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }}) - enabled: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('enabled'), 'exclude': lambda f: f is None }}) - interval: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('interval'), 'exclude': lambda f: f is None }}) name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) + interval: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('interval'), 'exclude': lambda f: f is None }}) schedule_randomized: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scheduleRandomized'), 'exclude': lambda f: f is None }}) + enabled: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('enabled'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + description: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('description'), 'exclude': lambda f: f is None }}) @@ -42,10 +42,10 @@ class GetButlerTasksResponseBody: class GetButlerTasksResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetButlerTasksResponseBody] = dataclasses.field(default=None) r"""All butler tasks""" diff --git a/src/plex_api/models/operations/getdevices.py b/src/plex_api/models/operations/getdevices.py index fb57524..f5cee2e 100644 --- a/src/plex_api/models/operations/getdevices.py +++ b/src/plex_api/models/operations/getdevices.py @@ -11,11 +11,11 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Device: - client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientIdentifier'), 'exclude': lambda f: f is None }}) - created_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'exclude': lambda f: f is None }}) id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) platform: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platform'), 'exclude': lambda f: f is None }}) + client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientIdentifier'), 'exclude': lambda f: f is None }}) + created_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'exclude': lambda f: f is None }}) @@ -23,9 +23,9 @@ class Device: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetDevicesMediaContainer: - device: Optional[List[Device]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Device'), 'exclude': lambda f: f is None }}) - identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) + device: Optional[List[Device]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Device'), 'exclude': lambda f: f is None }}) @@ -43,10 +43,10 @@ class GetDevicesResponseBody: class GetDevicesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetDevicesResponseBody] = dataclasses.field(default=None) r"""Devices""" diff --git a/src/plex_api/models/operations/getfilehash.py b/src/plex_api/models/operations/getfilehash.py index 08acf1f..5b95ae7 100644 --- a/src/plex_api/models/operations/getfilehash.py +++ b/src/plex_api/models/operations/getfilehash.py @@ -20,9 +20,9 @@ class GetFileHashRequest: class GetFileHashResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/getglobalhubs.py b/src/plex_api/models/operations/getglobalhubs.py index 530f53a..692c871 100644 --- a/src/plex_api/models/operations/getglobalhubs.py +++ b/src/plex_api/models/operations/getglobalhubs.py @@ -27,23 +27,23 @@ class GetGlobalHubsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetGlobalHubsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) - leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) title_sort: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('titleSort'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) + playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) + composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) + icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) @@ -51,17 +51,17 @@ class GetGlobalHubsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Hub: - context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) - hub_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubIdentifier'), 'exclude': lambda f: f is None }}) hub_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubKey'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetGlobalHubsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) - more: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('more'), 'exclude': lambda f: f is None }}) - promoted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('promoted'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) - style: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('style'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + hub_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubIdentifier'), 'exclude': lambda f: f is None }}) + context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + more: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('more'), 'exclude': lambda f: f is None }}) + style: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('style'), 'exclude': lambda f: f is None }}) + promoted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('promoted'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetGlobalHubsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -69,10 +69,10 @@ class Hub: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetGlobalHubsMediaContainer: - allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - hub: Optional[List[Hub]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Hub'), 'exclude': lambda f: f is None }}) - identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) + identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) + hub: Optional[List[Hub]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Hub'), 'exclude': lambda f: f is None }}) @@ -90,10 +90,10 @@ class GetGlobalHubsResponseBody: class GetGlobalHubsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetGlobalHubsResponseBody] = dataclasses.field(default=None) r"""returns global hubs""" diff --git a/src/plex_api/models/operations/getlibraries.py b/src/plex_api/models/operations/getlibraries.py index a66fea7..318d932 100644 --- a/src/plex_api/models/operations/getlibraries.py +++ b/src/plex_api/models/operations/getlibraries.py @@ -20,27 +20,27 @@ class GetLibrariesLocation: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibrariesDirectory: - agent: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('agent'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) - content: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('content'), 'exclude': lambda f: f is None }}) - content_changed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentChangedAt'), 'exclude': lambda f: f is None }}) - created_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'exclude': lambda f: f is None }}) - directory: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('directory'), 'exclude': lambda f: f is None }}) filters: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filters'), 'exclude': lambda f: f is None }}) - hidden: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hidden'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) - location: Optional[List[GetLibrariesLocation]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Location'), 'exclude': lambda f: f is None }}) refreshing: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('refreshing'), 'exclude': lambda f: f is None }}) - scanned_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scannedAt'), 'exclude': lambda f: f is None }}) - scanner: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scanner'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + agent: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('agent'), 'exclude': lambda f: f is None }}) + scanner: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scanner'), 'exclude': lambda f: f is None }}) + language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('uuid'), 'exclude': lambda f: f is None }}) + updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + created_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'exclude': lambda f: f is None }}) + scanned_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scannedAt'), 'exclude': lambda f: f is None }}) + content: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('content'), 'exclude': lambda f: f is None }}) + directory: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('directory'), 'exclude': lambda f: f is None }}) + content_changed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentChangedAt'), 'exclude': lambda f: f is None }}) + hidden: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hidden'), 'exclude': lambda f: f is None }}) + location: Optional[List[GetLibrariesLocation]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Location'), 'exclude': lambda f: f is None }}) @@ -48,10 +48,10 @@ class GetLibrariesDirectory: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibrariesMediaContainer: - allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - directory: Optional[List[GetLibrariesDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) title1: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title1'), 'exclude': lambda f: f is None }}) + directory: Optional[List[GetLibrariesDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) @@ -69,10 +69,10 @@ class GetLibrariesResponseBody: class GetLibrariesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetLibrariesResponseBody] = dataclasses.field(default=None) r"""The libraries available on the Server""" diff --git a/src/plex_api/models/operations/getlibrary.py b/src/plex_api/models/operations/getlibrary.py index 4807575..4d9ccff 100644 --- a/src/plex_api/models/operations/getlibrary.py +++ b/src/plex_api/models/operations/getlibrary.py @@ -32,10 +32,10 @@ class GetLibraryRequest: @dataclasses.dataclass class GetLibraryDirectory: key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + secondary: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('secondary'), 'exclude': lambda f: f is None }}) prompt: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('prompt'), 'exclude': lambda f: f is None }}) search: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('search'), 'exclude': lambda f: f is None }}) - secondary: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('secondary'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) @@ -69,9 +69,9 @@ class Sort: @dataclasses.dataclass class Field: key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - sub_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subType'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + sub_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subType'), 'exclude': lambda f: f is None }}) @@ -79,13 +79,13 @@ class Field: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryType: - active: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('active'), 'exclude': lambda f: f is None }}) - field: Optional[List[Field]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Field'), 'exclude': lambda f: f is None }}) - filter_: Optional[List[Filter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Filter'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - sort: Optional[List[Sort]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Sort'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + active: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('active'), 'exclude': lambda f: f is None }}) + filter_: Optional[List[Filter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Filter'), 'exclude': lambda f: f is None }}) + sort: Optional[List[Sort]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Sort'), 'exclude': lambda f: f is None }}) + field: Optional[List[Field]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Field'), 'exclude': lambda f: f is None }}) @@ -102,8 +102,8 @@ class Operator: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class FieldType: - operator: Optional[List[Operator]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Operator'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + operator: Optional[List[Operator]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Operator'), 'exclude': lambda f: f is None }}) @@ -111,21 +111,21 @@ class FieldType: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) content: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('content'), 'exclude': lambda f: f is None }}) - directory: Optional[List[GetLibraryDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) - field_type: Optional[List[FieldType]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('FieldType'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) title1: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title1'), 'exclude': lambda f: f is None }}) - type: Optional[List[GetLibraryType]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Type'), 'exclude': lambda f: f is None }}) view_group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewGroup'), 'exclude': lambda f: f is None }}) view_mode: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewMode'), 'exclude': lambda f: f is None }}) + directory: Optional[List[GetLibraryDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) + type: Optional[List[GetLibraryType]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Type'), 'exclude': lambda f: f is None }}) + field_type: Optional[List[FieldType]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('FieldType'), 'exclude': lambda f: f is None }}) @@ -143,10 +143,10 @@ class GetLibraryResponseBody: class GetLibraryResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetLibraryResponseBody] = dataclasses.field(default=None) r"""The details of the library""" diff --git a/src/plex_api/models/operations/getlibraryhubs.py b/src/plex_api/models/operations/getlibraryhubs.py index c7671ab..5dd905e 100644 --- a/src/plex_api/models/operations/getlibraryhubs.py +++ b/src/plex_api/models/operations/getlibraryhubs.py @@ -30,15 +30,15 @@ class GetLibraryHubsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryHubsPart: - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) @@ -47,23 +47,23 @@ class GetLibraryHubsPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryHubsMedia: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) - height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetLibraryHubsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetLibraryHubsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -111,40 +111,40 @@ class GetLibraryHubsWriter: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryHubsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) - audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) - chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[GetLibraryHubsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[GetLibraryHubsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[GetLibraryHubsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) - library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetLibraryHubsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) - primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - role: Optional[List[GetLibraryHubsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) - skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) - studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) + audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) + view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) - view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) + primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetLibraryHubsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[GetLibraryHubsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + country: Optional[List[GetLibraryHubsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + director: Optional[List[GetLibraryHubsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) + role: Optional[List[GetLibraryHubsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) writer: Optional[List[GetLibraryHubsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) - year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) + chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) @@ -152,18 +152,18 @@ class GetLibraryHubsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryHubsHub: - context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) - hub_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubIdentifier'), 'exclude': lambda f: f is None }}) - hub_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubKey'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetLibraryHubsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) - more: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('more'), 'exclude': lambda f: f is None }}) - promoted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('promoted'), 'exclude': lambda f: f is None }}) - random: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('random'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) - style: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('style'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + hub_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubIdentifier'), 'exclude': lambda f: f is None }}) + context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + more: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('more'), 'exclude': lambda f: f is None }}) + style: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('style'), 'exclude': lambda f: f is None }}) + hub_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubKey'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetLibraryHubsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) + promoted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('promoted'), 'exclude': lambda f: f is None }}) + random: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('random'), 'exclude': lambda f: f is None }}) @@ -171,13 +171,13 @@ class GetLibraryHubsHub: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryHubsMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - hub: Optional[List[GetLibraryHubsHub]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Hub'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + hub: Optional[List[GetLibraryHubsHub]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Hub'), 'exclude': lambda f: f is None }}) @@ -195,10 +195,10 @@ class GetLibraryHubsResponseBody: class GetLibraryHubsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetLibraryHubsResponseBody] = dataclasses.field(default=None) r"""The hubs specific to the library""" diff --git a/src/plex_api/models/operations/getlibraryitems.py b/src/plex_api/models/operations/getlibraryitems.py index 29d6c4f..8a9b660 100644 --- a/src/plex_api/models/operations/getlibraryitems.py +++ b/src/plex_api/models/operations/getlibraryitems.py @@ -45,12 +45,12 @@ class GetLibraryItemsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryItemsPart: - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) @@ -59,20 +59,20 @@ class GetLibraryItemsPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryItemsMedia: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetLibraryItemsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) + video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) - video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetLibraryItemsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -120,63 +120,63 @@ class GetLibraryItemsRole: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryItemsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) + year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) - child_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('childCount'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[GetLibraryItemsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[GetLibraryItemsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[GetLibraryItemsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) + primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + grandparent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentRatingKey'), 'exclude': lambda f: f is None }}) grandparent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentGuid'), 'exclude': lambda f: f is None }}) grandparent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentKey'), 'exclude': lambda f: f is None }}) - grandparent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentRatingKey'), 'exclude': lambda f: f is None }}) - grandparent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTheme'), 'exclude': lambda f: f is None }}) - grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) grandparent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTitle'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) + grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) + grandparent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTheme'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetLibraryItemsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[GetLibraryItemsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + country: Optional[List[GetLibraryItemsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + director: Optional[List[GetLibraryItemsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) + writer: Optional[List[GetLibraryItemsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) + role: Optional[List[GetLibraryItemsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) + title_sort: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('titleSort'), 'exclude': lambda f: f is None }}) + view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + original_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originalTitle'), 'exclude': lambda f: f is None }}) + view_offset: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewOffset'), 'exclude': lambda f: f is None }}) + skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) + index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) + theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('theme'), 'exclude': lambda f: f is None }}) + leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) + viewed_leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedLeafCount'), 'exclude': lambda f: f is None }}) + child_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('childCount'), 'exclude': lambda f: f is None }}) has_premium_extras: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumExtras'), 'exclude': lambda f: f is None }}) has_premium_primary_extra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumPrimaryExtra'), 'exclude': lambda f: f is None }}) - index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) - leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetLibraryItemsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) - original_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originalTitle'), 'exclude': lambda f: f is None }}) - parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) - parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) - parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) parent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) + parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) parent_studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentStudio'), 'exclude': lambda f: f is None }}) - parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) - parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) + parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) - primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - role: Optional[List[GetLibraryItemsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) - skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) - studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) - theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('theme'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - title_sort: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('titleSort'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) - view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) - viewed_leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedLeafCount'), 'exclude': lambda f: f is None }}) - view_offset: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewOffset'), 'exclude': lambda f: f is None }}) - writer: Optional[List[GetLibraryItemsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) - year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) @@ -184,6 +184,7 @@ class GetLibraryItemsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetLibraryItemsMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) @@ -192,14 +193,13 @@ class GetLibraryItemsMediaContainer: library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetLibraryItemsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) - mixed_parents: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mixedParents'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) title1: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title1'), 'exclude': lambda f: f is None }}) title2: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title2'), 'exclude': lambda f: f is None }}) view_group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewGroup'), 'exclude': lambda f: f is None }}) view_mode: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewMode'), 'exclude': lambda f: f is None }}) + mixed_parents: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mixedParents'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetLibraryItemsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -217,10 +217,10 @@ class GetLibraryItemsResponseBody: class GetLibraryItemsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetLibraryItemsResponseBody] = dataclasses.field(default=None) r"""The contents of the library by section and tag""" diff --git a/src/plex_api/models/operations/getmetadata.py b/src/plex_api/models/operations/getmetadata.py index 67a5d2f..a91fff5 100644 --- a/src/plex_api/models/operations/getmetadata.py +++ b/src/plex_api/models/operations/getmetadata.py @@ -20,38 +20,38 @@ class GetMetadataRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Stream: - bit_depth: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitDepth'), 'exclude': lambda f: f is None }}) + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + stream_type: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamType'), 'exclude': lambda f: f is None }}) + default: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) + codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codec'), 'exclude': lambda f: f is None }}) + index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('channels'), 'exclude': lambda f: f is None }}) + bit_depth: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitDepth'), 'exclude': lambda f: f is None }}) chroma_location: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chromaLocation'), 'exclude': lambda f: f is None }}) chroma_subsampling: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chromaSubsampling'), 'exclude': lambda f: f is None }}) - codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codec'), 'exclude': lambda f: f is None }}) coded_height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codedHeight'), 'exclude': lambda f: f is None }}) coded_width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codedWidth'), 'exclude': lambda f: f is None }}) color_primaries: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('colorPrimaries'), 'exclude': lambda f: f is None }}) color_range: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('colorRange'), 'exclude': lambda f: f is None }}) color_space: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('colorSpace'), 'exclude': lambda f: f is None }}) color_trc: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('colorTrc'), 'exclude': lambda f: f is None }}) - default: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) - display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayTitle'), 'exclude': lambda f: f is None }}) - extended_display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('extendedDisplayTitle'), 'exclude': lambda f: f is None }}) frame_rate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('frameRate'), 'exclude': lambda f: f is None }}) has_scaling_matrix: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasScalingMatrix'), 'exclude': lambda f: f is None }}) height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) - language_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageCode'), 'exclude': lambda f: f is None }}) - language_tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageTag'), 'exclude': lambda f: f is None }}) level: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('level'), 'exclude': lambda f: f is None }}) profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('profile'), 'exclude': lambda f: f is None }}) ref_frames: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('refFrames'), 'exclude': lambda f: f is None }}) - sampling_rate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('samplingRate'), 'exclude': lambda f: f is None }}) scan_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('scanType'), 'exclude': lambda f: f is None }}) - selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) stream_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamIdentifier'), 'exclude': lambda f: f is None }}) - stream_type: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamType'), 'exclude': lambda f: f is None }}) width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayTitle'), 'exclude': lambda f: f is None }}) + extended_display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('extendedDisplayTitle'), 'exclude': lambda f: f is None }}) + selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) + channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('channels'), 'exclude': lambda f: f is None }}) + language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) + language_tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageTag'), 'exclude': lambda f: f is None }}) + language_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageCode'), 'exclude': lambda f: f is None }}) + sampling_rate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('samplingRate'), 'exclude': lambda f: f is None }}) @@ -59,17 +59,17 @@ class Stream: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataPart: - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) - stream: Optional[List[Stream]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Stream'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + stream: Optional[List[Stream]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Stream'), 'exclude': lambda f: f is None }}) @@ -77,23 +77,23 @@ class GetMetadataPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataMedia: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) - height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetMetadataPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetMetadataPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -101,8 +101,8 @@ class GetMetadataMedia: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataGenre: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) @@ -111,8 +111,8 @@ class GetMetadataGenre: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataCountry: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) @@ -130,8 +130,8 @@ class Guids: @dataclasses.dataclass class Ratings: image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('image'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) value: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) @@ -139,8 +139,8 @@ class Ratings: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataDirector: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) tag_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagKey'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) @@ -151,8 +151,8 @@ class GetMetadataDirector: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataWriter: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) tag_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagKey'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) @@ -163,11 +163,11 @@ class GetMetadataWriter: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataRole: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - role: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('role'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) tag_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagKey'), 'exclude': lambda f: f is None }}) + role: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('role'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) @@ -176,8 +176,8 @@ class GetMetadataRole: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Producer: - filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + filter_: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('filter'), 'exclude': lambda f: f is None }}) tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tag'), 'exclude': lambda f: f is None }}) tag_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagKey'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) @@ -188,39 +188,39 @@ class Producer: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) - audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[GetMetadataCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[GetMetadataDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[GetMetadataGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - guids: Optional[List[Guids]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Guid'), 'exclude': lambda f: f is None }}) - has_premium_primary_extra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumPrimaryExtra'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) - library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetMetadataMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) - producer: Optional[List[Producer]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Producer'), 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - ratings: Optional[List[Ratings]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Rating'), 'exclude': lambda f: f is None }}) - role: Optional[List[GetMetadataRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) - studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) + audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) + year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) + has_premium_primary_extra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumPrimaryExtra'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetMetadataMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[GetMetadataGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + country: Optional[List[GetMetadataCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + guids: Optional[List[Guids]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Guid'), 'exclude': lambda f: f is None }}) + ratings: Optional[List[Ratings]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Rating'), 'exclude': lambda f: f is None }}) + director: Optional[List[GetMetadataDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) writer: Optional[List[GetMetadataWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) - year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + role: Optional[List[GetMetadataRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) + producer: Optional[List[Producer]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Producer'), 'exclude': lambda f: f is None }}) @@ -228,6 +228,7 @@ class GetMetadataMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) @@ -236,7 +237,6 @@ class GetMetadataMediaContainer: media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) metadata: Optional[List[GetMetadataMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) @@ -254,10 +254,10 @@ class GetMetadataResponseBody: class GetMetadataResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetMetadataResponseBody] = dataclasses.field(default=None) r"""The metadata of the library item.""" diff --git a/src/plex_api/models/operations/getmetadatachildren.py b/src/plex_api/models/operations/getmetadatachildren.py index 334bcda..2930e23 100644 --- a/src/plex_api/models/operations/getmetadatachildren.py +++ b/src/plex_api/models/operations/getmetadatachildren.py @@ -19,11 +19,11 @@ class GetMetadataChildrenRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataChildrenDirectory: - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) viewed_leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedLeafCount'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) @@ -31,33 +31,33 @@ class GetMetadataChildrenDirectory: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataChildrenMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_rated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastRatedAt'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) - leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) - parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) - parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) - parent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) - parent_studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentStudio'), 'exclude': lambda f: f is None }}) - parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) - parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) - parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) - parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + parent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) + parent_studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentStudio'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) + parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) + parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) + view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) + leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) + viewed_leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedLeafCount'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) user_rating: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('userRating'), 'exclude': lambda f: f is None }}) - view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) - viewed_leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedLeafCount'), 'exclude': lambda f: f is None }}) + skip_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('skipCount'), 'exclude': lambda f: f is None }}) + last_rated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastRatedAt'), 'exclude': lambda f: f is None }}) @@ -65,9 +65,9 @@ class GetMetadataChildrenMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetMetadataChildrenMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - directory: Optional[List[GetMetadataChildrenDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) @@ -75,12 +75,10 @@ class GetMetadataChildrenMediaContainer: library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetMetadataChildrenMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) nocache: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('nocache'), 'exclude': lambda f: f is None }}) parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('theme'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) @@ -88,6 +86,8 @@ class GetMetadataChildrenMediaContainer: title2: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title2'), 'exclude': lambda f: f is None }}) view_group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewGroup'), 'exclude': lambda f: f is None }}) view_mode: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewMode'), 'exclude': lambda f: f is None }}) + directory: Optional[List[GetMetadataChildrenDirectory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetMetadataChildrenMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -105,10 +105,10 @@ class GetMetadataChildrenResponseBody: class GetMetadataChildrenResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetMetadataChildrenResponseBody] = dataclasses.field(default=None) r"""The children of the library item.""" diff --git a/src/plex_api/models/operations/getmyplexaccount.py b/src/plex_api/models/operations/getmyplexaccount.py index 82be17b..2d0ac6c 100644 --- a/src/plex_api/models/operations/getmyplexaccount.py +++ b/src/plex_api/models/operations/getmyplexaccount.py @@ -12,17 +12,17 @@ from typing import Optional @dataclasses.dataclass class MyPlex: auth_token: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('authToken'), 'exclude': lambda f: f is None }}) - mapping_error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mappingError'), 'exclude': lambda f: f is None }}) + username: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('username'), 'exclude': lambda f: f is None }}) mapping_state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mappingState'), 'exclude': lambda f: f is None }}) - private_address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('privateAddress'), 'exclude': lambda f: f is None }}) - private_port: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('privatePort'), 'exclude': lambda f: f is None }}) + mapping_error: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mappingError'), 'exclude': lambda f: f is None }}) + sign_in_state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('signInState'), 'exclude': lambda f: f is None }}) public_address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('publicAddress'), 'exclude': lambda f: f is None }}) public_port: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('publicPort'), 'exclude': lambda f: f is None }}) - sign_in_state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('signInState'), 'exclude': lambda f: f is None }}) - subscription_active: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subscriptionActive'), 'exclude': lambda f: f is None }}) + private_address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('privateAddress'), 'exclude': lambda f: f is None }}) + private_port: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('privatePort'), 'exclude': lambda f: f is None }}) subscription_features: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subscriptionFeatures'), 'exclude': lambda f: f is None }}) + subscription_active: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subscriptionActive'), 'exclude': lambda f: f is None }}) subscription_state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subscriptionState'), 'exclude': lambda f: f is None }}) - username: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('username'), 'exclude': lambda f: f is None }}) @@ -40,10 +40,10 @@ class GetMyPlexAccountResponseBody: class GetMyPlexAccountResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetMyPlexAccountResponseBody] = dataclasses.field(default=None) r"""MyPlex Account""" diff --git a/src/plex_api/models/operations/getondeck.py b/src/plex_api/models/operations/getondeck.py index cc1f750..ada9905 100644 --- a/src/plex_api/models/operations/getondeck.py +++ b/src/plex_api/models/operations/getondeck.py @@ -13,29 +13,29 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetOnDeckStream: - bit_depth: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitDepth'), 'exclude': lambda f: f is None }}) + id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + stream_type: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamType'), 'exclude': lambda f: f is None }}) + default: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) + codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codec'), 'exclude': lambda f: f is None }}) + index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) + language_tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageTag'), 'exclude': lambda f: f is None }}) + language_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageCode'), 'exclude': lambda f: f is None }}) + bit_depth: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitDepth'), 'exclude': lambda f: f is None }}) chroma_location: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chromaLocation'), 'exclude': lambda f: f is None }}) chroma_subsampling: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chromaSubsampling'), 'exclude': lambda f: f is None }}) - codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codec'), 'exclude': lambda f: f is None }}) coded_height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codedHeight'), 'exclude': lambda f: f is None }}) coded_width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('codedWidth'), 'exclude': lambda f: f is None }}) color_range: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('colorRange'), 'exclude': lambda f: f is None }}) - default: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) - display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayTitle'), 'exclude': lambda f: f is None }}) - extended_display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('extendedDisplayTitle'), 'exclude': lambda f: f is None }}) frame_rate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('frameRate'), 'exclude': lambda f: f is None }}) height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('language'), 'exclude': lambda f: f is None }}) - language_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageCode'), 'exclude': lambda f: f is None }}) - language_tag: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('languageTag'), 'exclude': lambda f: f is None }}) level: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('level'), 'exclude': lambda f: f is None }}) profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('profile'), 'exclude': lambda f: f is None }}) ref_frames: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('refFrames'), 'exclude': lambda f: f is None }}) - stream_type: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamType'), 'exclude': lambda f: f is None }}) width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('displayTitle'), 'exclude': lambda f: f is None }}) + extended_display_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('extendedDisplayTitle'), 'exclude': lambda f: f is None }}) @@ -43,15 +43,15 @@ class GetOnDeckStream: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetOnDeckPart: - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) - stream: Optional[List[GetOnDeckStream]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Stream'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + stream: Optional[List[GetOnDeckStream]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Stream'), 'exclude': lambda f: f is None }}) @@ -59,21 +59,21 @@ class GetOnDeckPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetOnDeckMedia: + id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetOnDeckPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetOnDeckPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -89,42 +89,42 @@ class GetOnDeckGuids: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetOnDeckMetadata: - added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) - grandparent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentGuid'), 'exclude': lambda f: f is None }}) - grandparent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentKey'), 'exclude': lambda f: f is None }}) - grandparent_rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentRatingKey'), 'exclude': lambda f: f is None }}) - grandparent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTheme'), 'exclude': lambda f: f is None }}) - grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) - grandparent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTitle'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - guids: Optional[List[GetOnDeckGuids]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Guid'), 'exclude': lambda f: f is None }}) - index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) library_section_id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) - library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetOnDeckMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) - parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) - parent_index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) - parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) - parent_rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) - parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) - parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + parent_rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) + grandparent_rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentRatingKey'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) + grandparent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentGuid'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + grandparent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentKey'), 'exclude': lambda f: f is None }}) + parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) + library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) + grandparent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTitle'), 'exclude': lambda f: f is None }}) + parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) + parent_index: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) year: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) + grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) + grandparent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTheme'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) + added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + updated_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetOnDeckMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + guids: Optional[List[GetOnDeckGuids]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Guid'), 'exclude': lambda f: f is None }}) @@ -132,13 +132,13 @@ class GetOnDeckMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetOnDeckMediaContainer: + size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetOnDeckMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) mixed_parents: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mixedParents'), 'exclude': lambda f: f is None }}) - size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetOnDeckMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -156,10 +156,10 @@ class GetOnDeckResponseBody: class GetOnDeckResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetOnDeckResponseBody] = dataclasses.field(default=None) r"""The on Deck content""" diff --git a/src/plex_api/models/operations/getpin.py b/src/plex_api/models/operations/getpin.py index a152b66..d5f7fe4 100644 --- a/src/plex_api/models/operations/getpin.py +++ b/src/plex_api/models/operations/getpin.py @@ -33,16 +33,16 @@ class GetPinRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Location: - city: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('city'), 'exclude': lambda f: f is None }}) code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }}) - continent_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('continent_code'), 'exclude': lambda f: f is None }}) - coordinates: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('coordinates'), 'exclude': lambda f: f is None }}) - country: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('country'), 'exclude': lambda f: f is None }}) european_union_member: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('european_union_member'), 'exclude': lambda f: f is None }}) - in_privacy_restricted_country: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('in_privacy_restricted_country'), 'exclude': lambda f: f is None }}) - postal_code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('postal_code'), 'exclude': lambda f: f is None }}) - subdivisions: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subdivisions'), 'exclude': lambda f: f is None }}) + continent_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('continent_code'), 'exclude': lambda f: f is None }}) + country: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('country'), 'exclude': lambda f: f is None }}) + city: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('city'), 'exclude': lambda f: f is None }}) time_zone: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('time_zone'), 'exclude': lambda f: f is None }}) + postal_code: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('postal_code'), 'exclude': lambda f: f is None }}) + in_privacy_restricted_country: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('in_privacy_restricted_country'), 'exclude': lambda f: f is None }}) + subdivisions: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subdivisions'), 'exclude': lambda f: f is None }}) + coordinates: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('coordinates'), 'exclude': lambda f: f is None }}) @@ -51,23 +51,23 @@ class Location: @dataclasses.dataclass class GetPinResponseBody: r"""The Pin""" - auth_token: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('authToken'), 'exclude': lambda f: f is None }}) - client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientIdentifier'), 'exclude': lambda f: f is None }}) - code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }}) - created_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) - expires_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expiresAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) - expires_in: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expiresIn'), 'exclude': lambda f: f is None }}) id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) r"""PinID for use with authentication""" - location: Optional[Location] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('location'), 'exclude': lambda f: f is None }}) - new_registration: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newRegistration'), 'exclude': lambda f: f is None }}) + code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('code'), 'exclude': lambda f: f is None }}) product: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('product'), 'exclude': lambda f: f is None }}) + trusted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trusted'), 'exclude': lambda f: f is None }}) qr: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('qr'), 'exclude': lambda f: f is None }}) r"""a link to a QR code hosted on plex.tv The QR code redirects to the relevant `plex.tv/link` authentication page Which then prompts the user for the 4 Digit Link Pin """ - trusted: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('trusted'), 'exclude': lambda f: f is None }}) + client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientIdentifier'), 'exclude': lambda f: f is None }}) + location: Optional[Location] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('location'), 'exclude': lambda f: f is None }}) + expires_in: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expiresIn'), 'exclude': lambda f: f is None }}) + created_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) + expires_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('expiresAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) + auth_token: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('authToken'), 'exclude': lambda f: f is None }}) + new_registration: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('newRegistration'), 'exclude': lambda f: f is None }}) @@ -76,10 +76,10 @@ class GetPinResponseBody: class GetPinResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetPinResponseBody] = dataclasses.field(default=None) r"""The Pin""" diff --git a/src/plex_api/models/operations/getplaylist.py b/src/plex_api/models/operations/getplaylist.py index 17ddc26..5647fc1 100644 --- a/src/plex_api/models/operations/getplaylist.py +++ b/src/plex_api/models/operations/getplaylist.py @@ -19,20 +19,20 @@ class GetPlaylistRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) content: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('content'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) + playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) + composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) + icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) @@ -41,8 +41,8 @@ class GetPlaylistMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistMediaContainer: - metadata: Optional[List[GetPlaylistMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetPlaylistMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -60,10 +60,10 @@ class GetPlaylistResponseBody: class GetPlaylistResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetPlaylistResponseBody] = dataclasses.field(default=None) r"""The playlist""" diff --git a/src/plex_api/models/operations/getplaylistcontents.py b/src/plex_api/models/operations/getplaylistcontents.py index ac6f733..662e844 100644 --- a/src/plex_api/models/operations/getplaylistcontents.py +++ b/src/plex_api/models/operations/getplaylistcontents.py @@ -22,15 +22,15 @@ class GetPlaylistContentsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistContentsPart: - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) @@ -39,23 +39,23 @@ class GetPlaylistContentsPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistContentsMedia: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - bitrate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) - height: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetPlaylistContentsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetPlaylistContentsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -103,38 +103,38 @@ class GetPlaylistContentsRole: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistContentsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) - audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[GetPlaylistContentsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[GetPlaylistContentsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[GetPlaylistContentsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - has_premium_extras: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumExtras'), 'exclude': lambda f: f is None }}) - has_premium_primary_extra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumPrimaryExtra'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) - library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) - library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetPlaylistContentsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - role: Optional[List[GetPlaylistContentsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) title_sort: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('titleSort'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) - writer: Optional[List[GetPlaylistContentsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) + library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) + library_section_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) + library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) + audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) + has_premium_extras: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumExtras'), 'exclude': lambda f: f is None }}) + has_premium_primary_extra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasPremiumPrimaryExtra'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetPlaylistContentsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[GetPlaylistContentsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + country: Optional[List[GetPlaylistContentsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + director: Optional[List[GetPlaylistContentsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) + writer: Optional[List[GetPlaylistContentsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) + role: Optional[List[GetPlaylistContentsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) @@ -142,15 +142,15 @@ class GetPlaylistContentsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistContentsMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[GetPlaylistContentsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetPlaylistContentsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -168,10 +168,10 @@ class GetPlaylistContentsResponseBody: class GetPlaylistContentsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetPlaylistContentsResponseBody] = dataclasses.field(default=None) r"""The playlist contents""" diff --git a/src/plex_api/models/operations/getplaylists.py b/src/plex_api/models/operations/getplaylists.py index be186ff..96b0457 100644 --- a/src/plex_api/models/operations/getplaylists.py +++ b/src/plex_api/models/operations/getplaylists.py @@ -33,22 +33,22 @@ class GetPlaylistsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistsMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) - leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) - playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + smart: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('smart'), 'exclude': lambda f: f is None }}) + playlist_type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('playlistType'), 'exclude': lambda f: f is None }}) + composite: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('composite'), 'exclude': lambda f: f is None }}) + icon: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('icon'), 'exclude': lambda f: f is None }}) view_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewCount'), 'exclude': lambda f: f is None }}) + last_viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lastViewedAt'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + leaf_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('leafCount'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) + updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) @@ -56,8 +56,8 @@ class GetPlaylistsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetPlaylistsMediaContainer: - metadata: Optional[List[GetPlaylistsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetPlaylistsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -75,10 +75,10 @@ class GetPlaylistsResponseBody: class GetPlaylistsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetPlaylistsResponseBody] = dataclasses.field(default=None) r"""returns all playlists""" diff --git a/src/plex_api/models/operations/getrecentlyadded.py b/src/plex_api/models/operations/getrecentlyadded.py index 88f0165..61ae47c 100644 --- a/src/plex_api/models/operations/getrecentlyadded.py +++ b/src/plex_api/models/operations/getrecentlyadded.py @@ -13,15 +13,15 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Part: - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) - has_thumbnail: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasThumbnail'), 'exclude': lambda f: f is None }}) id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + has_thumbnail: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasThumbnail'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) @@ -30,22 +30,22 @@ class Part: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Media: + id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) - height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - optimized_for_streaming: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) - part: Optional[List[Part]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + optimized_for_streaming: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('optimizedForStreaming'), 'exclude': lambda f: f is None }}) + has64bit_offsets: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('has64bitOffsets'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[Part]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -93,38 +93,38 @@ class Role: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Metadata: - added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) - audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) - chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[Country]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[Director]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[Genre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) library_section_id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) - media: Optional[List[Media]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) - primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - role: Optional[List[Role]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) + audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) + year: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) + added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) + chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) + primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + media: Optional[List[Media]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[Genre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + director: Optional[List[Director]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) writer: Optional[List[Writer]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) - year: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + country: Optional[List[Country]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + role: Optional[List[Role]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) @@ -132,13 +132,13 @@ class Metadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetRecentlyAddedMediaContainer: + size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[Metadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) mixed_parents: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mixedParents'), 'exclude': lambda f: f is None }}) - size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[Metadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -156,10 +156,10 @@ class GetRecentlyAddedResponseBody: class GetRecentlyAddedResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetRecentlyAddedResponseBody] = dataclasses.field(default=None) r"""The recently added content""" diff --git a/src/plex_api/models/operations/getresizedphoto.py b/src/plex_api/models/operations/getresizedphoto.py index 2fdea08..b25738c 100644 --- a/src/plex_api/models/operations/getresizedphoto.py +++ b/src/plex_api/models/operations/getresizedphoto.py @@ -18,20 +18,20 @@ class Upscale(int, Enum): @dataclasses.dataclass class GetResizedPhotoRequest: - blur: float = dataclasses.field(metadata={'query_param': { 'field_name': 'blur', 'style': 'form', 'explode': True }}) + width: float = dataclasses.field(metadata={'query_param': { 'field_name': 'width', 'style': 'form', 'explode': True }}) r"""The width for the resized photo""" height: float = dataclasses.field(metadata={'query_param': { 'field_name': 'height', 'style': 'form', 'explode': True }}) r"""The height for the resized photo""" + blur: float = dataclasses.field(metadata={'query_param': { 'field_name': 'blur', 'style': 'form', 'explode': True }}) + r"""The width for the resized photo""" min_size: MinSize = dataclasses.field(metadata={'query_param': { 'field_name': 'minSize', 'style': 'form', 'explode': True }}) r"""images are always scaled proportionally. A value of '1' in minSize will make the smaller native dimension the dimension resized against.""" - opacity: int = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'opacity', 'style': 'form', 'explode': True }}) - r"""The opacity for the resized photo""" upscale: Upscale = dataclasses.field(metadata={'query_param': { 'field_name': 'upscale', 'style': 'form', 'explode': True }}) r"""allow images to be resized beyond native dimensions.""" url: str = dataclasses.field(metadata={'query_param': { 'field_name': 'url', 'style': 'form', 'explode': True }}) r"""path to image within Plex""" - width: float = dataclasses.field(metadata={'query_param': { 'field_name': 'width', 'style': 'form', 'explode': True }}) - r"""The width for the resized photo""" + opacity: int = dataclasses.field(default=100, metadata={'query_param': { 'field_name': 'opacity', 'style': 'form', 'explode': True }}) + r"""The opacity for the resized photo""" @@ -40,9 +40,9 @@ class GetResizedPhotoRequest: class GetResizedPhotoResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/getsearchresults.py b/src/plex_api/models/operations/getsearchresults.py index 515060f..b822854 100644 --- a/src/plex_api/models/operations/getsearchresults.py +++ b/src/plex_api/models/operations/getsearchresults.py @@ -21,13 +21,13 @@ class GetSearchResultsRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSearchResultsPart: - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) @@ -36,21 +36,21 @@ class GetSearchResultsPart: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSearchResultsMedia: + id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) + width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) aspect_ratio: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('aspectRatio'), 'exclude': lambda f: f is None }}) audio_channels: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) - bitrate: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bitrate'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - height: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('height'), 'exclude': lambda f: f is None }}) - id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetSearchResultsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) - video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) video_resolution: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoResolution'), 'exclude': lambda f: f is None }}) - width: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('width'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_frame_rate: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoFrameRate'), 'exclude': lambda f: f is None }}) + audio_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioProfile'), 'exclude': lambda f: f is None }}) + video_profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoProfile'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetSearchResultsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -98,40 +98,40 @@ class GetSearchResultsRole: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSearchResultsMetadata: - added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) - audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) - chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) - content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) - country: Optional[List[GetSearchResultsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) - director: Optional[List[GetSearchResultsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) - duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - genre: Optional[List[GetSearchResultsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) library_section_id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) library_section_uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionUUID'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetSearchResultsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) personal: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('personal'), 'exclude': lambda f: f is None }}) - primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) - rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) - rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) - rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - role: Optional[List[GetSearchResultsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) source_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceTitle'), 'exclude': lambda f: f is None }}) + rating_key: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('studio'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + content_rating: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('contentRating'), 'exclude': lambda f: f is None }}) summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('rating'), 'exclude': lambda f: f is None }}) + audience_rating: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRating'), 'exclude': lambda f: f is None }}) + year: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) tagline: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('tagline'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + duration: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[datetime] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.datetimeisoformat(True), 'decoder': dateutil.parser.isoparse, 'exclude': lambda f: f is None }}) + added_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) + audience_rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audienceRatingImage'), 'exclude': lambda f: f is None }}) + chapter_source: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('chapterSource'), 'exclude': lambda f: f is None }}) + primary_extra_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('primaryExtraKey'), 'exclude': lambda f: f is None }}) + rating_image: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingImage'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetSearchResultsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + genre: Optional[List[GetSearchResultsGenre]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Genre'), 'exclude': lambda f: f is None }}) + director: Optional[List[GetSearchResultsDirector]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Director'), 'exclude': lambda f: f is None }}) writer: Optional[List[GetSearchResultsWriter]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Writer'), 'exclude': lambda f: f is None }}) - year: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('year'), 'exclude': lambda f: f is None }}) + country: Optional[List[GetSearchResultsCountry]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Country'), 'exclude': lambda f: f is None }}) + role: Optional[List[GetSearchResultsRole]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Role'), 'exclude': lambda f: f is None }}) @@ -149,12 +149,12 @@ class Provider: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSearchResultsMediaContainer: + size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) metadata: Optional[List[GetSearchResultsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) provider: Optional[List[Provider]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Provider'), 'exclude': lambda f: f is None }}) - size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) @@ -172,10 +172,10 @@ class GetSearchResultsResponseBody: class GetSearchResultsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetSearchResultsResponseBody] = dataclasses.field(default=None) r"""Search Results""" diff --git a/src/plex_api/models/operations/getserveractivities.py b/src/plex_api/models/operations/getserveractivities.py index 0b9497e..fee6b85 100644 --- a/src/plex_api/models/operations/getserveractivities.py +++ b/src/plex_api/models/operations/getserveractivities.py @@ -19,14 +19,14 @@ class Context: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Activity: - cancellable: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('cancellable'), 'exclude': lambda f: f is None }}) - context: Optional[Context] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Context'), 'exclude': lambda f: f is None }}) - progress: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('progress'), 'exclude': lambda f: f is None }}) - subtitle: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtitle'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - user_id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('userID'), 'exclude': lambda f: f is None }}) uuid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('uuid'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + cancellable: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('cancellable'), 'exclude': lambda f: f is None }}) + user_id: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('userID'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + subtitle: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtitle'), 'exclude': lambda f: f is None }}) + progress: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('progress'), 'exclude': lambda f: f is None }}) + context: Optional[Context] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Context'), 'exclude': lambda f: f is None }}) @@ -34,8 +34,8 @@ class Activity: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetServerActivitiesMediaContainer: - activity: Optional[List[Activity]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Activity'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + activity: Optional[List[Activity]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Activity'), 'exclude': lambda f: f is None }}) @@ -53,10 +53,10 @@ class GetServerActivitiesResponseBody: class GetServerActivitiesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerActivitiesResponseBody] = dataclasses.field(default=None) r"""The Server Activities""" diff --git a/src/plex_api/models/operations/getservercapabilities.py b/src/plex_api/models/operations/getservercapabilities.py index e8ae1ee..a4f93b1 100644 --- a/src/plex_api/models/operations/getservercapabilities.py +++ b/src/plex_api/models/operations/getservercapabilities.py @@ -21,6 +21,7 @@ class Directory: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class MediaContainer: + size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_camera_upload: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowCameraUpload'), 'exclude': lambda f: f is None }}) allow_channel_access: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowChannelAccess'), 'exclude': lambda f: f is None }}) allow_media_deletion: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowMediaDeletion'), 'exclude': lambda f: f is None }}) @@ -32,7 +33,6 @@ class MediaContainer: companion_proxy: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('companionProxy'), 'exclude': lambda f: f is None }}) country_code: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('countryCode'), 'exclude': lambda f: f is None }}) diagnostics: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('diagnostics'), 'exclude': lambda f: f is None }}) - directory: Optional[List[Directory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) event_stream: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('eventStream'), 'exclude': lambda f: f is None }}) friendly_name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('friendlyName'), 'exclude': lambda f: f is None }}) hub_search: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hubSearch'), 'exclude': lambda f: f is None }}) @@ -55,7 +55,6 @@ class MediaContainer: plugin_host: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pluginHost'), 'exclude': lambda f: f is None }}) push_notifications: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('pushNotifications'), 'exclude': lambda f: f is None }}) read_only_libraries: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('readOnlyLibraries'), 'exclude': lambda f: f is None }}) - size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) streaming_brain_abr_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamingBrainABRVersion'), 'exclude': lambda f: f is None }}) streaming_brain_version: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamingBrainVersion'), 'exclude': lambda f: f is None }}) sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sync'), 'exclude': lambda f: f is None }}) @@ -72,6 +71,7 @@ class MediaContainer: updater: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updater'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) voice_search: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('voiceSearch'), 'exclude': lambda f: f is None }}) + directory: Optional[List[Directory]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Directory'), 'exclude': lambda f: f is None }}) @@ -89,10 +89,10 @@ class GetServerCapabilitiesResponseBody: class GetServerCapabilitiesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerCapabilitiesResponseBody] = dataclasses.field(default=None) r"""The Server Capabilities""" diff --git a/src/plex_api/models/operations/getserveridentity.py b/src/plex_api/models/operations/getserveridentity.py index 5592892..651acdc 100644 --- a/src/plex_api/models/operations/getserveridentity.py +++ b/src/plex_api/models/operations/getserveridentity.py @@ -11,9 +11,9 @@ from typing import Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetServerIdentityMediaContainer: + size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) claimed: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('claimed'), 'exclude': lambda f: f is None }}) machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) - size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) @@ -32,10 +32,10 @@ class GetServerIdentityResponseBody: class GetServerIdentityResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerIdentityResponseBody] = dataclasses.field(default=None) r"""The Server Identity information""" diff --git a/src/plex_api/models/operations/getserverlist.py b/src/plex_api/models/operations/getserverlist.py index 8603911..c361f44 100644 --- a/src/plex_api/models/operations/getserverlist.py +++ b/src/plex_api/models/operations/getserverlist.py @@ -11,11 +11,11 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetServerListServer: - address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('address'), 'exclude': lambda f: f is None }}) - host: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('host'), 'exclude': lambda f: f is None }}) - machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) + host: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('host'), 'exclude': lambda f: f is None }}) + address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('address'), 'exclude': lambda f: f is None }}) port: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('port'), 'exclude': lambda f: f is None }}) + machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) @@ -24,8 +24,8 @@ class GetServerListServer: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetServerListMediaContainer: - server: Optional[List[GetServerListServer]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Server'), 'exclude': lambda f: f is None }}) size: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + server: Optional[List[GetServerListServer]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Server'), 'exclude': lambda f: f is None }}) @@ -43,10 +43,10 @@ class GetServerListResponseBody: class GetServerListResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerListResponseBody] = dataclasses.field(default=None) r"""List of Servers""" diff --git a/src/plex_api/models/operations/getserverpreferences.py b/src/plex_api/models/operations/getserverpreferences.py index 5fe8775..c038a38 100644 --- a/src/plex_api/models/operations/getserverpreferences.py +++ b/src/plex_api/models/operations/getserverpreferences.py @@ -5,38 +5,22 @@ import dataclasses import requests as requests_http from dataclasses_json import Undefined, dataclass_json from plex_api import utils -from typing import List, Optional, Union +from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass -class Two: +class Setting: + id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + label: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('label'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + default: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) + value: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'exclude': lambda f: f is None }}) + hidden: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hidden'), 'exclude': lambda f: f is None }}) advanced: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('advanced'), 'exclude': lambda f: f is None }}) - default: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) + group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('group'), 'exclude': lambda f: f is None }}) enum_values: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('enumValues'), 'exclude': lambda f: f is None }}) - group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('group'), 'exclude': lambda f: f is None }}) - hidden: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hidden'), 'exclude': lambda f: f is None }}) - id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - label: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('label'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - value: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'exclude': lambda f: f is None }}) - - - - -@dataclass_json(undefined=Undefined.EXCLUDE) -@dataclasses.dataclass -class One: - advanced: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('advanced'), 'exclude': lambda f: f is None }}) - default: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('default'), 'exclude': lambda f: f is None }}) - group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('group'), 'exclude': lambda f: f is None }}) - hidden: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hidden'), 'exclude': lambda f: f is None }}) - id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - label: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('label'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - value: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('value'), 'exclude': lambda f: f is None }}) @@ -44,8 +28,8 @@ class One: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetServerPreferencesMediaContainer: - setting: Optional[List[Union[One, Two]]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Setting'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + setting: Optional[List[Setting]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Setting'), 'exclude': lambda f: f is None }}) @@ -63,10 +47,10 @@ class GetServerPreferencesResponseBody: class GetServerPreferencesResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetServerPreferencesResponseBody] = dataclasses.field(default=None) r"""Server Preferences""" diff --git a/src/plex_api/models/operations/getsessionhistory.py b/src/plex_api/models/operations/getsessionhistory.py index f06ee36..bb42797 100644 --- a/src/plex_api/models/operations/getsessionhistory.py +++ b/src/plex_api/models/operations/getsessionhistory.py @@ -12,25 +12,25 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSessionHistoryMetadata: + history_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('historyKey'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) + library_section_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) + parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) + grandparent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentKey'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + grandparent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTitle'), 'exclude': lambda f: f is None }}) + type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) + grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) + index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) + parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) + originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) + viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedAt'), 'exclude': lambda f: f is None }}) account_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountID'), 'exclude': lambda f: f is None }}) device_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('deviceID'), 'exclude': lambda f: f is None }}) - grandparent_art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentArt'), 'exclude': lambda f: f is None }}) - grandparent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentKey'), 'exclude': lambda f: f is None }}) - grandparent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentThumb'), 'exclude': lambda f: f is None }}) - grandparent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('grandparentTitle'), 'exclude': lambda f: f is None }}) - history_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('historyKey'), 'exclude': lambda f: f is None }}) - index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - library_section_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) - originally_available_at: Optional[date] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('originallyAvailableAt'), 'encoder': utils.dateisoformat(True), 'decoder': utils.datefromisoformat, 'exclude': lambda f: f is None }}) - parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) - parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) - parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) - rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) - viewed_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewedAt'), 'exclude': lambda f: f is None }}) @@ -38,8 +38,8 @@ class GetSessionHistoryMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSessionHistoryMediaContainer: - metadata: Optional[List[GetSessionHistoryMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetSessionHistoryMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -57,10 +57,10 @@ class GetSessionHistoryResponseBody: class GetSessionHistoryResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetSessionHistoryResponseBody] = dataclasses.field(default=None) r"""List of Plex Sessions""" diff --git a/src/plex_api/models/operations/getsessions.py b/src/plex_api/models/operations/getsessions.py index 60ad59c..58da2ce 100644 --- a/src/plex_api/models/operations/getsessions.py +++ b/src/plex_api/models/operations/getsessions.py @@ -24,13 +24,13 @@ class GetSessionsStream: gain: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('gain'), 'exclude': lambda f: f is None }}) id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - location: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('location'), 'exclude': lambda f: f is None }}) loudness: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('loudness'), 'exclude': lambda f: f is None }}) lra: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('lra'), 'exclude': lambda f: f is None }}) peak: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('peak'), 'exclude': lambda f: f is None }}) sampling_rate: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('samplingRate'), 'exclude': lambda f: f is None }}) selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) stream_type: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('streamType'), 'exclude': lambda f: f is None }}) + location: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('location'), 'exclude': lambda f: f is None }}) @@ -39,14 +39,14 @@ class GetSessionsStream: @dataclasses.dataclass class GetSessionsPart: container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('decision'), 'exclude': lambda f: f is None }}) duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) file: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('file'), 'exclude': lambda f: f is None }}) has_thumbnail: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('hasThumbnail'), 'exclude': lambda f: f is None }}) id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('decision'), 'exclude': lambda f: f is None }}) + selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) stream: Optional[List[GetSessionsStream]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Stream'), 'exclude': lambda f: f is None }}) @@ -61,8 +61,8 @@ class GetSessionsMedia: container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) - part: Optional[List[GetSessionsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) selected: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('selected'), 'exclude': lambda f: f is None }}) + part: Optional[List[GetSessionsPart]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Part'), 'exclude': lambda f: f is None }}) @@ -81,20 +81,20 @@ class User: @dataclasses.dataclass class Player: address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('address'), 'exclude': lambda f: f is None }}) - local: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('local'), 'exclude': lambda f: f is None }}) machine_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('machineIdentifier'), 'exclude': lambda f: f is None }}) model: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('model'), 'exclude': lambda f: f is None }}) platform: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platform'), 'exclude': lambda f: f is None }}) platform_version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platformVersion'), 'exclude': lambda f: f is None }}) product: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('product'), 'exclude': lambda f: f is None }}) profile: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('profile'), 'exclude': lambda f: f is None }}) - relayed: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('relayed'), 'exclude': lambda f: f is None }}) remote_public_address: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('remotePublicAddress'), 'exclude': lambda f: f is None }}) - secure: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('secure'), 'exclude': lambda f: f is None }}) state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('state'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) - user_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('userID'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) + local: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('local'), 'exclude': lambda f: f is None }}) + relayed: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('relayed'), 'exclude': lambda f: f is None }}) + secure: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('secure'), 'exclude': lambda f: f is None }}) + user_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('userID'), 'exclude': lambda f: f is None }}) @@ -102,8 +102,8 @@ class Player: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Session: - bandwidth: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bandwidth'), 'exclude': lambda f: f is None }}) id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + bandwidth: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('bandwidth'), 'exclude': lambda f: f is None }}) location: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('location'), 'exclude': lambda f: f is None }}) @@ -127,7 +127,6 @@ class GetSessionsMetadata: library_section_id: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionID'), 'exclude': lambda f: f is None }}) library_section_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionKey'), 'exclude': lambda f: f is None }}) library_section_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('librarySectionTitle'), 'exclude': lambda f: f is None }}) - media: Optional[List[GetSessionsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) music_analysis_version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('musicAnalysisVersion'), 'exclude': lambda f: f is None }}) parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) @@ -137,18 +136,19 @@ class GetSessionsMetadata: parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) - player: Optional[Player] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Player'), 'exclude': lambda f: f is None }}) rating_count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingCount'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - session: Optional[Session] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Session'), 'exclude': lambda f: f is None }}) session_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sessionKey'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) title_sort: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('titleSort'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) - user: Optional[User] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('User'), 'exclude': lambda f: f is None }}) view_offset: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewOffset'), 'exclude': lambda f: f is None }}) + media: Optional[List[GetSessionsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Media'), 'exclude': lambda f: f is None }}) + user: Optional[User] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('User'), 'exclude': lambda f: f is None }}) + player: Optional[Player] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Player'), 'exclude': lambda f: f is None }}) + session: Optional[Session] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Session'), 'exclude': lambda f: f is None }}) @@ -156,8 +156,8 @@ class GetSessionsMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetSessionsMediaContainer: - metadata: Optional[List[GetSessionsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[GetSessionsMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -175,10 +175,10 @@ class GetSessionsResponseBody: class GetSessionsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetSessionsResponseBody] = dataclasses.field(default=None) r"""List of Active Plex Sessions""" diff --git a/src/plex_api/models/operations/getsourceconnectioninformation.py b/src/plex_api/models/operations/getsourceconnectioninformation.py index d9e8b81..5d21f06 100644 --- a/src/plex_api/models/operations/getsourceconnectioninformation.py +++ b/src/plex_api/models/operations/getsourceconnectioninformation.py @@ -17,9 +17,9 @@ class GetSourceConnectionInformationRequest: class GetSourceConnectionInformationResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/getstatistics.py b/src/plex_api/models/operations/getstatistics.py new file mode 100644 index 0000000..36694ce --- /dev/null +++ b/src/plex_api/models/operations/getstatistics.py @@ -0,0 +1,93 @@ +"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" + +from __future__ import annotations +import dataclasses +import requests as requests_http +from dataclasses_json import Undefined, dataclass_json +from plex_api import utils +from typing import List, Optional + + +@dataclasses.dataclass +class GetStatisticsRequest: + timespan: Optional[int] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'Timespan', 'style': 'form', 'explode': True }}) + r"""The timespan to retrieve statistics for + the exact meaning of this parameter is not known + """ + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class GetStatisticsDevice: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) + platform: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('platform'), 'exclude': lambda f: f is None }}) + client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('clientIdentifier'), 'exclude': lambda f: f is None }}) + created_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('createdAt'), 'exclude': lambda f: f is None }}) + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class Account: + id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('id'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + name: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('name'), 'exclude': lambda f: f is None }}) + default_audio_language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('defaultAudioLanguage'), 'exclude': lambda f: f is None }}) + auto_select_audio: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('autoSelectAudio'), 'exclude': lambda f: f is None }}) + default_subtitle_language: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('defaultSubtitleLanguage'), 'exclude': lambda f: f is None }}) + subtitle_mode: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtitleMode'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class StatisticsMedia: + account_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('accountID'), 'exclude': lambda f: f is None }}) + device_id: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('deviceID'), 'exclude': lambda f: f is None }}) + timespan: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timespan'), 'exclude': lambda f: f is None }}) + at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('at'), 'exclude': lambda f: f is None }}) + metadata_type: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('metadataType'), 'exclude': lambda f: f is None }}) + count: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('count'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class GetStatisticsMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + device: Optional[List[GetStatisticsDevice]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Device'), 'exclude': lambda f: f is None }}) + account: Optional[List[Account]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Account'), 'exclude': lambda f: f is None }}) + statistics_media: Optional[List[StatisticsMedia]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('StatisticsMedia'), 'exclude': lambda f: f is None }}) + + + + +@dataclass_json(undefined=Undefined.EXCLUDE) +@dataclasses.dataclass +class GetStatisticsResponseBody: + r"""Media Statistics""" + media_container: Optional[GetStatisticsMediaContainer] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('MediaContainer'), 'exclude': lambda f: f is None }}) + + + + +@dataclasses.dataclass +class GetStatisticsResponse: + content_type: str = dataclasses.field() + r"""HTTP response content type for this operation""" + status_code: int = dataclasses.field() + r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" + object: Optional[GetStatisticsResponseBody] = dataclasses.field(default=None) + r"""Media Statistics""" + + diff --git a/src/plex_api/models/operations/gettimeline.py b/src/plex_api/models/operations/gettimeline.py index 4b09448..133f4e2 100644 --- a/src/plex_api/models/operations/gettimeline.py +++ b/src/plex_api/models/operations/gettimeline.py @@ -14,26 +14,26 @@ class State(str, Enum): @dataclasses.dataclass class GetTimelineRequest: - context: str = dataclasses.field(metadata={'query_param': { 'field_name': 'context', 'style': 'form', 'explode': True }}) - r"""The context of the media item""" - duration: float = dataclasses.field(metadata={'query_param': { 'field_name': 'duration', 'style': 'form', 'explode': True }}) - r"""The duration of the media item""" - has_mde: float = dataclasses.field(metadata={'query_param': { 'field_name': 'hasMDE', 'style': 'form', 'explode': True }}) - r"""Whether the media item has MDE""" - key: str = dataclasses.field(metadata={'query_param': { 'field_name': 'key', 'style': 'form', 'explode': True }}) - r"""The key of the media item to get the timeline for""" - play_back_time: float = dataclasses.field(metadata={'query_param': { 'field_name': 'playBackTime', 'style': 'form', 'explode': True }}) - r"""The playback time of the media item""" - play_queue_item_id: float = dataclasses.field(metadata={'query_param': { 'field_name': 'playQueueItemID', 'style': 'form', 'explode': True }}) - r"""The play queue item ID of the media item""" rating_key: float = dataclasses.field(metadata={'query_param': { 'field_name': 'ratingKey', 'style': 'form', 'explode': True }}) r"""The rating key of the media item""" - row: float = dataclasses.field(metadata={'query_param': { 'field_name': 'row', 'style': 'form', 'explode': True }}) - r"""The row of the media item""" + key: str = dataclasses.field(metadata={'query_param': { 'field_name': 'key', 'style': 'form', 'explode': True }}) + r"""The key of the media item to get the timeline for""" state: State = dataclasses.field(metadata={'query_param': { 'field_name': 'state', 'style': 'form', 'explode': True }}) r"""The state of the media item""" + has_mde: float = dataclasses.field(metadata={'query_param': { 'field_name': 'hasMDE', 'style': 'form', 'explode': True }}) + r"""Whether the media item has MDE""" time: float = dataclasses.field(metadata={'query_param': { 'field_name': 'time', 'style': 'form', 'explode': True }}) r"""The time of the media item""" + duration: float = dataclasses.field(metadata={'query_param': { 'field_name': 'duration', 'style': 'form', 'explode': True }}) + r"""The duration of the media item""" + context: str = dataclasses.field(metadata={'query_param': { 'field_name': 'context', 'style': 'form', 'explode': True }}) + r"""The context of the media item""" + play_queue_item_id: float = dataclasses.field(metadata={'query_param': { 'field_name': 'playQueueItemID', 'style': 'form', 'explode': True }}) + r"""The play queue item ID of the media item""" + play_back_time: float = dataclasses.field(metadata={'query_param': { 'field_name': 'playBackTime', 'style': 'form', 'explode': True }}) + r"""The playback time of the media item""" + row: float = dataclasses.field(metadata={'query_param': { 'field_name': 'row', 'style': 'form', 'explode': True }}) + r"""The row of the media item""" @@ -42,9 +42,9 @@ class GetTimelineRequest: class GetTimelineResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/gettoken.py b/src/plex_api/models/operations/gettoken.py index fff16d8..bffb463 100644 --- a/src/plex_api/models/operations/gettoken.py +++ b/src/plex_api/models/operations/gettoken.py @@ -26,9 +26,9 @@ class GetTokenRequest: class GetTokenResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/gettranscodesessions.py b/src/plex_api/models/operations/gettranscodesessions.py index 7eb0a03..916e9ff 100644 --- a/src/plex_api/models/operations/gettranscodesessions.py +++ b/src/plex_api/models/operations/gettranscodesessions.py @@ -11,30 +11,30 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class TranscodeSession: - audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) - audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) - audio_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioDecision'), 'exclude': lambda f: f is None }}) - complete: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('complete'), 'exclude': lambda f: f is None }}) - container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) - context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) - duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) - error: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('error'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + throttled: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('throttled'), 'exclude': lambda f: f is None }}) + complete: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('complete'), 'exclude': lambda f: f is None }}) + progress: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('progress'), 'exclude': lambda f: f is None }}) + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) + speed: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('speed'), 'exclude': lambda f: f is None }}) + error: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('error'), 'exclude': lambda f: f is None }}) + duration: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('duration'), 'exclude': lambda f: f is None }}) + remaining: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('remaining'), 'exclude': lambda f: f is None }}) + context: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('context'), 'exclude': lambda f: f is None }}) + source_video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceVideoCodec'), 'exclude': lambda f: f is None }}) + source_audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceAudioCodec'), 'exclude': lambda f: f is None }}) + video_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoDecision'), 'exclude': lambda f: f is None }}) + audio_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioDecision'), 'exclude': lambda f: f is None }}) + subtitle_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtitleDecision'), 'exclude': lambda f: f is None }}) + protocol: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocol'), 'exclude': lambda f: f is None }}) + container: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('container'), 'exclude': lambda f: f is None }}) + video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) + audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioCodec'), 'exclude': lambda f: f is None }}) + audio_channels: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('audioChannels'), 'exclude': lambda f: f is None }}) + transcode_hw_requested: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transcodeHwRequested'), 'exclude': lambda f: f is None }}) + time_stamp: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeStamp'), 'exclude': lambda f: f is None }}) max_offset_available: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('maxOffsetAvailable'), 'exclude': lambda f: f is None }}) min_offset_available: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('minOffsetAvailable'), 'exclude': lambda f: f is None }}) - progress: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('progress'), 'exclude': lambda f: f is None }}) - protocol: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('protocol'), 'exclude': lambda f: f is None }}) - remaining: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('remaining'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) - source_audio_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceAudioCodec'), 'exclude': lambda f: f is None }}) - source_video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('sourceVideoCodec'), 'exclude': lambda f: f is None }}) - speed: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('speed'), 'exclude': lambda f: f is None }}) - subtitle_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('subtitleDecision'), 'exclude': lambda f: f is None }}) - throttled: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('throttled'), 'exclude': lambda f: f is None }}) - time_stamp: Optional[float] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('timeStamp'), 'exclude': lambda f: f is None }}) - transcode_hw_requested: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('transcodeHwRequested'), 'exclude': lambda f: f is None }}) - video_codec: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoCodec'), 'exclude': lambda f: f is None }}) - video_decision: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('videoDecision'), 'exclude': lambda f: f is None }}) @@ -61,10 +61,10 @@ class GetTranscodeSessionsResponseBody: class GetTranscodeSessionsResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetTranscodeSessionsResponseBody] = dataclasses.field(default=None) r"""The Transcode Sessions""" diff --git a/src/plex_api/models/operations/gettransienttoken.py b/src/plex_api/models/operations/gettransienttoken.py index c631d16..6a88db0 100644 --- a/src/plex_api/models/operations/gettransienttoken.py +++ b/src/plex_api/models/operations/gettransienttoken.py @@ -16,10 +16,10 @@ class Scope(str, Enum): @dataclasses.dataclass class GetTransientTokenRequest: - scope: Scope = dataclasses.field(metadata={'query_param': { 'field_name': 'scope', 'style': 'form', 'explode': True }}) - r"""`all` - This is the only supported `scope` parameter.""" type: GetTransientTokenQueryParamType = dataclasses.field(metadata={'query_param': { 'field_name': 'type', 'style': 'form', 'explode': True }}) r"""`delegation` - This is the only supported `type` parameter.""" + scope: Scope = dataclasses.field(metadata={'query_param': { 'field_name': 'scope', 'style': 'form', 'explode': True }}) + r"""`all` - This is the only supported `scope` parameter.""" @@ -28,9 +28,9 @@ class GetTransientTokenRequest: class GetTransientTokenResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/getupdatestatus.py b/src/plex_api/models/operations/getupdatestatus.py index f6d685e..47ff650 100644 --- a/src/plex_api/models/operations/getupdatestatus.py +++ b/src/plex_api/models/operations/getupdatestatus.py @@ -11,12 +11,12 @@ from typing import List, Optional @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class Release: - added: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('added'), 'exclude': lambda f: f is None }}) - download_url: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('downloadURL'), 'exclude': lambda f: f is None }}) - fixed: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fixed'), 'exclude': lambda f: f is None }}) key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('state'), 'exclude': lambda f: f is None }}) version: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('version'), 'exclude': lambda f: f is None }}) + added: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('added'), 'exclude': lambda f: f is None }}) + fixed: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('fixed'), 'exclude': lambda f: f is None }}) + download_url: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('downloadURL'), 'exclude': lambda f: f is None }}) + state: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('state'), 'exclude': lambda f: f is None }}) @@ -24,12 +24,12 @@ class Release: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class GetUpdateStatusMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) can_install: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('canInstall'), 'exclude': lambda f: f is None }}) checked_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('checkedAt'), 'exclude': lambda f: f is None }}) download_url: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('downloadURL'), 'exclude': lambda f: f is None }}) - release: Optional[List[Release]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Release'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) status: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('status'), 'exclude': lambda f: f is None }}) + release: Optional[List[Release]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Release'), 'exclude': lambda f: f is None }}) @@ -47,10 +47,10 @@ class GetUpdateStatusResponseBody: class GetUpdateStatusResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[GetUpdateStatusResponseBody] = dataclasses.field(default=None) r"""The Server Updates""" diff --git a/src/plex_api/models/operations/logline.py b/src/plex_api/models/operations/logline.py index d0786b0..3f1bf62 100644 --- a/src/plex_api/models/operations/logline.py +++ b/src/plex_api/models/operations/logline.py @@ -42,9 +42,9 @@ class LogLineRequest: class LogLineResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/logmultiline.py b/src/plex_api/models/operations/logmultiline.py index 5a21dc1..2720298 100644 --- a/src/plex_api/models/operations/logmultiline.py +++ b/src/plex_api/models/operations/logmultiline.py @@ -9,9 +9,9 @@ import requests as requests_http class LogMultiLineResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/markplayed.py b/src/plex_api/models/operations/markplayed.py index a5fc245..fd7bae1 100644 --- a/src/plex_api/models/operations/markplayed.py +++ b/src/plex_api/models/operations/markplayed.py @@ -17,9 +17,9 @@ class MarkPlayedRequest: class MarkPlayedResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/markunplayed.py b/src/plex_api/models/operations/markunplayed.py index 665b1d5..3b6e969 100644 --- a/src/plex_api/models/operations/markunplayed.py +++ b/src/plex_api/models/operations/markunplayed.py @@ -17,9 +17,9 @@ class MarkUnplayedRequest: class MarkUnplayedResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/performsearch.py b/src/plex_api/models/operations/performsearch.py index 6b6149a..d1fa56b 100644 --- a/src/plex_api/models/operations/performsearch.py +++ b/src/plex_api/models/operations/performsearch.py @@ -10,10 +10,10 @@ from typing import Optional class PerformSearchRequest: query: str = dataclasses.field(metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }}) r"""The query term""" - limit: Optional[float] = dataclasses.field(default=3, metadata={'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': True }}) - r"""The number of items to return per hub""" section_id: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'sectionId', 'style': 'form', 'explode': True }}) r"""This gives context to the search, and can result in re-ordering of search result hubs""" + limit: Optional[float] = dataclasses.field(default=3, metadata={'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': True }}) + r"""The number of items to return per hub""" @@ -22,9 +22,9 @@ class PerformSearchRequest: class PerformSearchResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/performvoicesearch.py b/src/plex_api/models/operations/performvoicesearch.py index c552a18..0f6b181 100644 --- a/src/plex_api/models/operations/performvoicesearch.py +++ b/src/plex_api/models/operations/performvoicesearch.py @@ -10,10 +10,10 @@ from typing import Optional class PerformVoiceSearchRequest: query: str = dataclasses.field(metadata={'query_param': { 'field_name': 'query', 'style': 'form', 'explode': True }}) r"""The query term""" - limit: Optional[float] = dataclasses.field(default=3, metadata={'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': True }}) - r"""The number of items to return per hub""" section_id: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'sectionId', 'style': 'form', 'explode': True }}) r"""This gives context to the search, and can result in re-ordering of search result hubs""" + limit: Optional[float] = dataclasses.field(default=3, metadata={'query_param': { 'field_name': 'limit', 'style': 'form', 'explode': True }}) + r"""The number of items to return per hub""" @@ -22,9 +22,9 @@ class PerformVoiceSearchRequest: class PerformVoiceSearchResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/refreshlibrary.py b/src/plex_api/models/operations/refreshlibrary.py index f9fa2d0..a4cc727 100644 --- a/src/plex_api/models/operations/refreshlibrary.py +++ b/src/plex_api/models/operations/refreshlibrary.py @@ -17,9 +17,9 @@ class RefreshLibraryRequest: class RefreshLibraryResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/searchlibrary.py b/src/plex_api/models/operations/searchlibrary.py index b747824..75c9bf0 100644 --- a/src/plex_api/models/operations/searchlibrary.py +++ b/src/plex_api/models/operations/searchlibrary.py @@ -29,25 +29,25 @@ class SearchLibraryRequest: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class SearchLibraryMetadata: - added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) - art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) - guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) - index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) - key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) - parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) - parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) - parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) - parent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) - parent_studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentStudio'), 'exclude': lambda f: f is None }}) - parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) - parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) - parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) - parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('ratingKey'), 'exclude': lambda f: f is None }}) - summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) - thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) - title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('key'), 'exclude': lambda f: f is None }}) + parent_rating_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentRatingKey'), 'exclude': lambda f: f is None }}) + guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('guid'), 'exclude': lambda f: f is None }}) + parent_guid: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentGuid'), 'exclude': lambda f: f is None }}) + parent_studio: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentStudio'), 'exclude': lambda f: f is None }}) type: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('type'), 'exclude': lambda f: f is None }}) + title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title'), 'exclude': lambda f: f is None }}) + parent_key: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentKey'), 'exclude': lambda f: f is None }}) + parent_title: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTitle'), 'exclude': lambda f: f is None }}) + summary: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('summary'), 'exclude': lambda f: f is None }}) + index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('index'), 'exclude': lambda f: f is None }}) + parent_index: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentIndex'), 'exclude': lambda f: f is None }}) + parent_year: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentYear'), 'exclude': lambda f: f is None }}) + thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) + art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) + parent_thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentThumb'), 'exclude': lambda f: f is None }}) + parent_theme: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('parentTheme'), 'exclude': lambda f: f is None }}) + added_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('addedAt'), 'exclude': lambda f: f is None }}) updated_at: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('updatedAt'), 'exclude': lambda f: f is None }}) @@ -56,19 +56,19 @@ class SearchLibraryMetadata: @dataclass_json(undefined=Undefined.EXCLUDE) @dataclasses.dataclass class SearchLibraryMediaContainer: + size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) allow_sync: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('allowSync'), 'exclude': lambda f: f is None }}) art: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('art'), 'exclude': lambda f: f is None }}) identifier: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('identifier'), 'exclude': lambda f: f is None }}) media_tag_prefix: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagPrefix'), 'exclude': lambda f: f is None }}) media_tag_version: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('mediaTagVersion'), 'exclude': lambda f: f is None }}) - metadata: Optional[List[SearchLibraryMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) nocache: Optional[bool] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('nocache'), 'exclude': lambda f: f is None }}) - size: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('size'), 'exclude': lambda f: f is None }}) thumb: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('thumb'), 'exclude': lambda f: f is None }}) title1: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title1'), 'exclude': lambda f: f is None }}) title2: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('title2'), 'exclude': lambda f: f is None }}) view_group: Optional[str] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewGroup'), 'exclude': lambda f: f is None }}) view_mode: Optional[int] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('viewMode'), 'exclude': lambda f: f is None }}) + metadata: Optional[List[SearchLibraryMetadata]] = dataclasses.field(default=None, metadata={'dataclasses_json': { 'letter_case': utils.get_field_name('Metadata'), 'exclude': lambda f: f is None }}) @@ -86,10 +86,10 @@ class SearchLibraryResponseBody: class SearchLibraryResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" object: Optional[SearchLibraryResponseBody] = dataclasses.field(default=None) r"""The contents of the library by section and type""" diff --git a/src/plex_api/models/operations/startalltasks.py b/src/plex_api/models/operations/startalltasks.py index d66f2da..cca932b 100644 --- a/src/plex_api/models/operations/startalltasks.py +++ b/src/plex_api/models/operations/startalltasks.py @@ -9,9 +9,9 @@ import requests as requests_http class StartAllTasksResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/starttask.py b/src/plex_api/models/operations/starttask.py index e9469f2..b362a0d 100644 --- a/src/plex_api/models/operations/starttask.py +++ b/src/plex_api/models/operations/starttask.py @@ -35,9 +35,9 @@ class StartTaskRequest: class StartTaskResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/startuniversaltranscode.py b/src/plex_api/models/operations/startuniversaltranscode.py index 288bbe9..c097fd3 100644 --- a/src/plex_api/models/operations/startuniversaltranscode.py +++ b/src/plex_api/models/operations/startuniversaltranscode.py @@ -10,36 +10,36 @@ from typing import Optional class StartUniversalTranscodeRequest: has_mde: float = dataclasses.field(metadata={'query_param': { 'field_name': 'hasMDE', 'style': 'form', 'explode': True }}) r"""Whether the media item has MDE""" + path: str = dataclasses.field(metadata={'query_param': { 'field_name': 'path', 'style': 'form', 'explode': True }}) + r"""The path to the media item to transcode""" media_index: float = dataclasses.field(metadata={'query_param': { 'field_name': 'mediaIndex', 'style': 'form', 'explode': True }}) r"""The index of the media item to transcode""" part_index: float = dataclasses.field(metadata={'query_param': { 'field_name': 'partIndex', 'style': 'form', 'explode': True }}) r"""The index of the part to transcode""" - path: str = dataclasses.field(metadata={'query_param': { 'field_name': 'path', 'style': 'form', 'explode': True }}) - r"""The path to the media item to transcode""" protocol: str = dataclasses.field(metadata={'query_param': { 'field_name': 'protocol', 'style': 'form', 'explode': True }}) r"""The protocol to use for the transcode session""" - add_debug_overlay: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'addDebugOverlay', 'style': 'form', 'explode': True }}) - r"""Whether to add a debug overlay or not""" - audio_boost: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'audioBoost', 'style': 'form', 'explode': True }}) - r"""The audio boost""" - auto_adjust_quality: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'autoAdjustQuality', 'style': 'form', 'explode': True }}) - r"""Whether to auto adjust quality or not""" + fast_seek: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'fastSeek', 'style': 'form', 'explode': True }}) + r"""Whether to use fast seek or not""" direct_play: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'directPlay', 'style': 'form', 'explode': True }}) r"""Whether to use direct play or not""" direct_stream: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'directStream', 'style': 'form', 'explode': True }}) r"""Whether to use direct stream or not""" - fast_seek: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'fastSeek', 'style': 'form', 'explode': True }}) - r"""Whether to use fast seek or not""" + subtitle_size: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'subtitleSize', 'style': 'form', 'explode': True }}) + r"""The size of the subtitles""" + subtites: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'subtites', 'style': 'form', 'explode': True }}) + r"""The subtitles""" + audio_boost: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'audioBoost', 'style': 'form', 'explode': True }}) + r"""The audio boost""" location: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'location', 'style': 'form', 'explode': True }}) r"""The location of the transcode session""" media_buffer_size: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'mediaBufferSize', 'style': 'form', 'explode': True }}) r"""The size of the media buffer""" session: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'session', 'style': 'form', 'explode': True }}) r"""The session ID""" - subtites: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'subtites', 'style': 'form', 'explode': True }}) - r"""The subtitles""" - subtitle_size: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'subtitleSize', 'style': 'form', 'explode': True }}) - r"""The size of the subtitles""" + add_debug_overlay: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'addDebugOverlay', 'style': 'form', 'explode': True }}) + r"""Whether to add a debug overlay or not""" + auto_adjust_quality: Optional[float] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'autoAdjustQuality', 'style': 'form', 'explode': True }}) + r"""Whether to auto adjust quality or not""" @@ -48,9 +48,9 @@ class StartUniversalTranscodeRequest: class StartUniversalTranscodeResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/stopalltasks.py b/src/plex_api/models/operations/stopalltasks.py index d7a1c28..85d9f38 100644 --- a/src/plex_api/models/operations/stopalltasks.py +++ b/src/plex_api/models/operations/stopalltasks.py @@ -9,9 +9,9 @@ import requests as requests_http class StopAllTasksResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/stoptask.py b/src/plex_api/models/operations/stoptask.py index 81dd8f9..118d076 100644 --- a/src/plex_api/models/operations/stoptask.py +++ b/src/plex_api/models/operations/stoptask.py @@ -35,9 +35,9 @@ class StopTaskRequest: class StopTaskResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/stoptranscodesession.py b/src/plex_api/models/operations/stoptranscodesession.py index 4cc2400..8bf46f4 100644 --- a/src/plex_api/models/operations/stoptranscodesession.py +++ b/src/plex_api/models/operations/stoptranscodesession.py @@ -17,9 +17,9 @@ class StopTranscodeSessionRequest: class StopTranscodeSessionResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/updateplaylist.py b/src/plex_api/models/operations/updateplaylist.py index e269f66..1064cec 100644 --- a/src/plex_api/models/operations/updateplaylist.py +++ b/src/plex_api/models/operations/updateplaylist.py @@ -10,10 +10,10 @@ from typing import Optional class UpdatePlaylistRequest: playlist_id: float = dataclasses.field(metadata={'path_param': { 'field_name': 'playlistID', 'style': 'simple', 'explode': False }}) r"""the ID of the playlist""" - summary: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'summary', 'style': 'form', 'explode': True }}) - r"""summary description of the playlist""" title: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'title', 'style': 'form', 'explode': True }}) r"""name of the playlist""" + summary: Optional[str] = dataclasses.field(default=None, metadata={'query_param': { 'field_name': 'summary', 'style': 'form', 'explode': True }}) + r"""summary description of the playlist""" @@ -22,9 +22,9 @@ class UpdatePlaylistRequest: class UpdatePlaylistResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/updateplayprogress.py b/src/plex_api/models/operations/updateplayprogress.py index d670939..7b74ec2 100644 --- a/src/plex_api/models/operations/updateplayprogress.py +++ b/src/plex_api/models/operations/updateplayprogress.py @@ -9,10 +9,10 @@ import requests as requests_http class UpdatePlayProgressRequest: key: str = dataclasses.field(metadata={'query_param': { 'field_name': 'key', 'style': 'form', 'explode': True }}) r"""the media key""" - state: str = dataclasses.field(metadata={'query_param': { 'field_name': 'state', 'style': 'form', 'explode': True }}) - r"""The playback state of the media item.""" time: float = dataclasses.field(metadata={'query_param': { 'field_name': 'time', 'style': 'form', 'explode': True }}) r"""The time, in milliseconds, used to set the media playback progress.""" + state: str = dataclasses.field(metadata={'query_param': { 'field_name': 'state', 'style': 'form', 'explode': True }}) + r"""The playback state of the media item.""" @@ -21,9 +21,9 @@ class UpdatePlayProgressRequest: class UpdatePlayProgressResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/models/operations/uploadplaylist.py b/src/plex_api/models/operations/uploadplaylist.py index d1803bd..7526247 100644 --- a/src/plex_api/models/operations/uploadplaylist.py +++ b/src/plex_api/models/operations/uploadplaylist.py @@ -17,12 +17,6 @@ class Force(int, Enum): @dataclasses.dataclass class UploadPlaylistRequest: - force: Force = dataclasses.field(metadata={'query_param': { 'field_name': 'force', 'style': 'form', 'explode': True }}) - r"""Force overwriting of duplicate playlists. - By default, a playlist file uploaded with the same path will overwrite the existing playlist. - The `force` argument is used to disable overwriting. - If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. - """ path: str = dataclasses.field(metadata={'query_param': { 'field_name': 'path', 'style': 'form', 'explode': True }}) r"""absolute path to a directory on the server where m3u files are stored, or the absolute path to a playlist file on the server. If the `path` argument is a directory, that path will be scanned for playlist files to be processed. @@ -31,6 +25,12 @@ class UploadPlaylistRequest: If the `path` argument is a file, that file will be used to create a new playlist, with the name based on the filename of the file that created it. The GUID of each playlist is based on the filename. """ + force: Force = dataclasses.field(metadata={'query_param': { 'field_name': 'force', 'style': 'form', 'explode': True }}) + r"""Force overwriting of duplicate playlists. + By default, a playlist file uploaded with the same path will overwrite the existing playlist. + The `force` argument is used to disable overwriting. + If the `force` argument is set to 0, a new playlist will be created suffixed with the date and time that the duplicate was uploaded. + """ @@ -39,9 +39,9 @@ class UploadPlaylistRequest: class UploadPlaylistResponse: content_type: str = dataclasses.field() r"""HTTP response content type for this operation""" - raw_response: requests_http.Response = dataclasses.field() - r"""Raw HTTP response; suitable for custom response parsing""" status_code: int = dataclasses.field() r"""HTTP response status code for this operation""" + raw_response: requests_http.Response = dataclasses.field() + r"""Raw HTTP response; suitable for custom response parsing""" diff --git a/src/plex_api/sdk.py b/src/plex_api/sdk.py index 1dbf303..7b558d2 100644 --- a/src/plex_api/sdk.py +++ b/src/plex_api/sdk.py @@ -14,6 +14,7 @@ from .search import Search from .security import Security from .server import Server from .sessions import Sessions +from .statistics import Statistics from .updater import Updater from .video import Video from plex_api import utils @@ -28,6 +29,8 @@ class PlexAPI: r"""Operations against the Plex Media Server System.""" media: Media r"""API Calls interacting with Plex Media Server Media""" + video: Video + r"""API Calls that perform operations with Plex Media Server Videos""" activities: Activities r"""Activities are awesome. They provide a way to monitor and control asynchronous operations on the server. In order to receive real-time updates for activities, a client would normally subscribe via either EventSource or Websocket endpoints. Activities are associated with HTTP replies via a special `X-Plex-Activity` header which contains the UUID of the activity. @@ -57,14 +60,14 @@ class PlexAPI: """ security: Security r"""API Calls against Security for Plex Media Server""" + statistics: Statistics + r"""API Calls that perform operations with Plex Media Server Statistics""" sessions: Sessions r"""API Calls that perform search operations with Plex Media Server Sessions""" updater: Updater r"""This describes the API for searching and applying updates to the Plex Media Server. Updates to the status can be observed via the Event API. """ - video: Video - r"""API Calls that perform operations with Plex Media Server Videos""" sdk_configuration: SDKConfiguration @@ -84,11 +87,11 @@ class PlexAPI: :param access_token: The access_token required for authentication :type access_token: Union[str, Callable[[], str]] :param protocol: Allows setting the protocol variable for url substitution - :type protocol: ServerProtocolmodels.ServerProtocol + :type protocol: ServerProtocol :param ip: Allows setting the ip variable for url substitution - :type ip: + :type ip: str :param port: Allows setting the port variable for url substitution - :type port: + :type port: str :param server_idx: The index of the server to use for all operations :type server_idx: int :param server_url: The server URL to use for all operations @@ -127,6 +130,7 @@ class PlexAPI: def _init_sdks(self): self.server = Server(self.sdk_configuration) self.media = Media(self.sdk_configuration) + self.video = Video(self.sdk_configuration) self.activities = Activities(self.sdk_configuration) self.butler = Butler(self.sdk_configuration) self.hubs = Hubs(self.sdk_configuration) @@ -136,7 +140,7 @@ class PlexAPI: self.plex = Plex(self.sdk_configuration) self.playlists = Playlists(self.sdk_configuration) self.security = Security(self.sdk_configuration) + self.statistics = Statistics(self.sdk_configuration) self.sessions = Sessions(self.sdk_configuration) self.updater = Updater(self.sdk_configuration) - self.video = Video(self.sdk_configuration) \ No newline at end of file diff --git a/src/plex_api/sdkconfiguration.py b/src/plex_api/sdkconfiguration.py index 3628fe8..a4e5c75 100644 --- a/src/plex_api/sdkconfiguration.py +++ b/src/plex_api/sdkconfiguration.py @@ -1,12 +1,13 @@ """Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" -import requests -from dataclasses import dataclass, field -from typing import Dict, List, Tuple, Callable, Union -from enum import Enum -from .utils.retries import RetryConfig + +import requests as requests_http from .utils import utils +from .utils.retries import RetryConfig +from dataclasses import dataclass, field +from enum import Enum from plex_api.models import components +from typing import Callable, Dict, List, Tuple, Union SERVERS = [ @@ -23,16 +24,16 @@ class ServerProtocol(str, Enum): @dataclass class SDKConfiguration: - client: requests.Session + client: requests_http.Session security: Union[components.Security,Callable[[], components.Security]] = None server_url: str = '' server_idx: int = 0 server_defaults: List[Dict[str, str]] = field(default_factory=List) language: str = 'python' openapi_doc_version: str = '0.0.3' - sdk_version: str = '0.1.1' - gen_version: str = '2.249.1' - user_agent: str = 'speakeasy-sdk/python 0.1.1 2.249.1 0.0.3 plex-api-client' + sdk_version: str = '0.2.0' + gen_version: str = '2.269.0' + user_agent: str = 'speakeasy-sdk/python 0.2.0 2.269.0 0.0.3 plex-api-client' retry_config: RetryConfig = None def get_server_details(self) -> Tuple[str, Dict[str, str]]: diff --git a/src/plex_api/statistics.py b/src/plex_api/statistics.py new file mode 100644 index 0000000..6c3d07c --- /dev/null +++ b/src/plex_api/statistics.py @@ -0,0 +1,61 @@ +"""Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT.""" + +from .sdkconfiguration import SDKConfiguration +from plex_api import utils +from plex_api.models import errors, operations +from typing import Optional + +class Statistics: + r"""API Calls that perform operations with Plex Media Server Statistics""" + sdk_configuration: SDKConfiguration + + def __init__(self, sdk_config: SDKConfiguration) -> None: + self.sdk_configuration = sdk_config + + + + def get_statistics(self, timespan: Optional[int] = None) -> operations.GetStatisticsResponse: + r"""Get Media Statistics + This will return the media statistics for the server + """ + request = operations.GetStatisticsRequest( + timespan=timespan, + ) + + base_url = utils.template_url(*self.sdk_configuration.get_server_details()) + + url = base_url + '/statistics/media' + headers = {} + query_params = utils.get_query_params(operations.GetStatisticsRequest, request) + headers['Accept'] = 'application/json' + headers['user-agent'] = self.sdk_configuration.user_agent + + if callable(self.sdk_configuration.security): + client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security()) + else: + client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security) + + http_res = client.request('GET', url, params=query_params, headers=headers) + content_type = http_res.headers.get('Content-Type') + + res = operations.GetStatisticsResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res) + + if http_res.status_code == 200: + if utils.match_content_type(content_type, 'application/json'): + out = utils.unmarshal_json(http_res.text, Optional[operations.GetStatisticsResponseBody]) + res.object = out + else: + raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) + elif http_res.status_code == 400 or http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600: + raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res) + elif http_res.status_code == 401: + if utils.match_content_type(content_type, 'application/json'): + out = utils.unmarshal_json(http_res.text, errors.GetStatisticsResponseBody) + out.raw_response = http_res + raise out + else: + raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) + + return res + + \ No newline at end of file diff --git a/src/plex_api/video.py b/src/plex_api/video.py index 3c4013d..e8f855e 100644 --- a/src/plex_api/video.py +++ b/src/plex_api/video.py @@ -13,44 +13,6 @@ class Video: - def start_universal_transcode(self, request: operations.StartUniversalTranscodeRequest) -> operations.StartUniversalTranscodeResponse: - r"""Start Universal Transcode - Begin a Universal Transcode Session - """ - base_url = utils.template_url(*self.sdk_configuration.get_server_details()) - - url = base_url + '/video/:/transcode/universal/start.mpd' - headers = {} - query_params = utils.get_query_params(operations.StartUniversalTranscodeRequest, request) - headers['Accept'] = 'application/json' - headers['user-agent'] = self.sdk_configuration.user_agent - - if callable(self.sdk_configuration.security): - client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security()) - else: - client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security) - - http_res = client.request('GET', url, params=query_params, headers=headers) - content_type = http_res.headers.get('Content-Type') - - res = operations.StartUniversalTranscodeResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res) - - if http_res.status_code == 200: - pass - elif http_res.status_code == 400 or http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600: - raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res) - elif http_res.status_code == 401: - if utils.match_content_type(content_type, 'application/json'): - out = utils.unmarshal_json(http_res.text, errors.StartUniversalTranscodeResponseBody) - out.raw_response = http_res - raise out - else: - raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) - - return res - - - def get_timeline(self, request: operations.GetTimelineRequest) -> operations.GetTimelineResponse: r"""Get the timeline for a media item Get the timeline for a media item @@ -87,4 +49,42 @@ class Video: return res + + + def start_universal_transcode(self, request: operations.StartUniversalTranscodeRequest) -> operations.StartUniversalTranscodeResponse: + r"""Start Universal Transcode + Begin a Universal Transcode Session + """ + base_url = utils.template_url(*self.sdk_configuration.get_server_details()) + + url = base_url + '/video/:/transcode/universal/start.mpd' + headers = {} + query_params = utils.get_query_params(operations.StartUniversalTranscodeRequest, request) + headers['Accept'] = 'application/json' + headers['user-agent'] = self.sdk_configuration.user_agent + + if callable(self.sdk_configuration.security): + client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security()) + else: + client = utils.configure_security_client(self.sdk_configuration.client, self.sdk_configuration.security) + + http_res = client.request('GET', url, params=query_params, headers=headers) + content_type = http_res.headers.get('Content-Type') + + res = operations.StartUniversalTranscodeResponse(status_code=http_res.status_code, content_type=content_type, raw_response=http_res) + + if http_res.status_code == 200: + pass + elif http_res.status_code == 400 or http_res.status_code >= 400 and http_res.status_code < 500 or http_res.status_code >= 500 and http_res.status_code < 600: + raise errors.SDKError('API error occurred', http_res.status_code, http_res.text, http_res) + elif http_res.status_code == 401: + if utils.match_content_type(content_type, 'application/json'): + out = utils.unmarshal_json(http_res.text, errors.StartUniversalTranscodeResponseBody) + out.raw_response = http_res + raise out + else: + raise errors.SDKError(f'unknown content-type received: {content_type}', http_res.status_code, http_res.text, http_res) + + return res + \ No newline at end of file