ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.228.1

This commit is contained in:
speakeasybot
2024-03-29 16:37:20 +00:00
parent 6ce3adfd94
commit 03e43e4b00
42 changed files with 216 additions and 79 deletions

View File

@@ -1,12 +1,12 @@
lockVersion: 2.0.0 lockVersion: 2.0.0
id: 3eeea668-4ef4-464e-a888-bdfa023bedf5 id: 3eeea668-4ef4-464e-a888-bdfa023bedf5
management: management:
docChecksum: e34dac84738ebf2d447ea2b9055a6eeb docChecksum: a91eaf9ec1e6a3a6f4bf0571f5b18bae
docVersion: 0.0.3 docVersion: 0.0.3
speakeasyVersion: 1.227.0 speakeasyVersion: 1.228.1
generationVersion: 2.291.0 generationVersion: 2.292.0
releaseVersion: 0.4.3 releaseVersion: 0.5.0
configChecksum: 136cb7b5342757cec11941f6d809b129 configChecksum: 88642fda66f8275352708bb77b9deb87
repoURL: https://github.com/LukeHagar/plexpy.git repoURL: https://github.com/LukeHagar/plexpy.git
repoSubDirectory: . repoSubDirectory: .
installationURL: https://github.com/LukeHagar/plexpy.git installationURL: https://github.com/LukeHagar/plexpy.git
@@ -18,6 +18,7 @@ features:
flattening: 2.81.1 flattening: 2.81.1
globalSecurity: 2.83.5 globalSecurity: 2.83.5
globalServerURLs: 2.82.2 globalServerURLs: 2.82.2
globals: 2.82.1
methodServerURLs: 2.82.1 methodServerURLs: 2.82.1
nameOverrides: 2.81.1 nameOverrides: 2.81.1
responseFormat: 0.1.0 responseFormat: 0.1.0

View File

@@ -12,7 +12,7 @@ generation:
auth: auth:
oAuth2ClientCredentialsEnabled: false oAuth2ClientCredentialsEnabled: false
python: python:
version: 0.4.3 version: 0.5.0
additionalDependencies: additionalDependencies:
dependencies: {} dependencies: {}
extraDependencies: extraDependencies:

View File

@@ -25,6 +25,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -164,6 +165,7 @@ from plex_api.models import errors
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -203,6 +205,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
server_idx=0, server_idx=0,
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -230,6 +233,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
server_url="{protocol}://{ip}:{port}", server_url="{protocol}://{ip}:{port}",
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -247,10 +251,12 @@ The server URL can also be overridden on a per-operation basis, provided a serve
```python ```python
import plex_api import plex_api
s = plex_api.PlexAPI() s = plex_api.PlexAPI(
x_plex_client_identifier='<value>',
)
res = s.plex.get_pin(server_url="https://plex.tv/api/v2", x_plex_client_identifier='<value>', strong=False) res = s.plex.get_pin(server_url="https://plex.tv/api/v2", strong=False, x_plex_client_identifier='<value>')
if res.object is not None: if res.object is not None:
# handle response # handle response
@@ -292,6 +298,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -304,6 +311,45 @@ if res.object is not None:
``` ```
<!-- End Authentication [security] --> <!-- End Authentication [security] -->
<!-- Start Global Parameters [global-parameters] -->
## Global Parameters
A parameter is configured globally. This parameter must be set on the SDK client instance itself during initialization. When configured as an option during SDK initialization, This global value will be used as the default on the operations that use it. When such operations are called, there is a place in each to override the global value, if needed.
For example, you can set `X-Plex-Client-Identifier` to `'<value>'` at SDK initialization and then you do not have to pass the same value on calls to operations like `get_pin`. But if you want to do so you may, which will locally override the global setting. See the example code below for a demonstration.
### Available Globals
The following global parameter is available. The required parameter must be set when you initialize the SDK client.
| Name | Type | Required | Description |
| ---- | ---- |:--------:| ----------- |
| x_plex_client_identifier | str | ✔️ | The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
|
### Example
```python
import plex_api
s = plex_api.PlexAPI(
x_plex_client_identifier='<value>',
)
res = s.plex.get_pin(strong=False, x_plex_client_identifier='<value>')
if res.object is not None:
# handle response
pass
```
<!-- End Global Parameters [global-parameters] -->
<!-- Placeholder for Future Speakeasy SDK Sections --> <!-- Placeholder for Future Speakeasy SDK Sections -->
# Development # Development

View File

@@ -108,4 +108,14 @@ Based on:
### Generated ### Generated
- [python v0.4.3] . - [python v0.4.3] .
### Releases ### Releases
- [PyPI v0.4.3] https://pypi.org/project/plex-api-client/0.4.3 - . - [PyPI v0.4.3] https://pypi.org/project/plex-api-client/0.4.3 - .
## 2024-03-29 16:36:39
### Changes
Based on:
- OpenAPI Doc
- Speakeasy CLI 1.228.1 (2.292.0) https://github.com/speakeasy-api/speakeasy
### Generated
- [python v0.5.0] .
### Releases
- [PyPI v0.5.0] https://pypi.org/project/plex-api-client/0.5.0 - .

View File

@@ -4,6 +4,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -5,5 +5,5 @@
| Field | Type | Required | Description | | Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x_plex_client_identifier` | *str* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | | `strong` | *Optional[bool]* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |
| `strong` | *Optional[bool]* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | | `x_plex_client_identifier` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |

View File

@@ -6,4 +6,4 @@
| Field | Type | Required | Description | | Field | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pin_id` | *str* | :heavy_check_mark: | The PinID to retrieve an access token for | | `pin_id` | *str* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `x_plex_client_identifier` | *str* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | | `x_plex_client_identifier` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |

View File

@@ -28,6 +28,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -61,6 +62,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -24,6 +24,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -66,6 +67,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -25,6 +25,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -63,6 +64,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -97,6 +99,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -136,6 +139,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -177,6 +181,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -23,6 +23,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -65,6 +66,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -31,6 +31,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -72,6 +73,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -111,6 +113,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -184,6 +187,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -224,6 +228,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -284,6 +289,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -324,6 +330,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -382,6 +389,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -422,6 +430,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -462,6 +471,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -502,6 +512,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -25,6 +25,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -87,6 +88,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
req = 'level=4&message=Test%20message%201&source=postman req = 'level=4&message=Test%20message%201&source=postman
@@ -130,6 +132,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -23,6 +23,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -62,6 +63,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -102,6 +104,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -36,6 +36,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
req = operations.CreatePlaylistRequest( req = operations.CreatePlaylistRequest(
@@ -82,6 +83,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -124,6 +126,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -164,6 +167,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -204,6 +208,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -249,6 +254,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -290,6 +296,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -331,6 +338,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -374,6 +382,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -20,10 +20,12 @@ Retrieve a Pin from Plex.tv for authentication flows
```python ```python
import plex_api import plex_api
s = plex_api.PlexAPI() s = plex_api.PlexAPI(
x_plex_client_identifier='<value>',
)
res = s.plex.get_pin(x_plex_client_identifier='<value>', strong=False) res = s.plex.get_pin(strong=False, x_plex_client_identifier='<value>')
if res.object is not None: if res.object is not None:
# handle response # handle response
@@ -35,8 +37,8 @@ if res.object is not None:
| Parameter | Type | Required | Description | | Parameter | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `x_plex_client_identifier` | *str* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `strong` | *Optional[bool]* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> | | `strong` | *Optional[bool]* | :heavy_minus_sign: | Determines the kind of code returned by the API call<br/>Strong codes are used for Pin authentication flows<br/>Non-Strong codes are used for `Plex.tv/link`<br/> |
| `x_plex_client_identifier` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `server_url` | *Optional[str]* | :heavy_minus_sign: | An optional server URL to use. | | `server_url` | *Optional[str]* | :heavy_minus_sign: | An optional server URL to use. |
@@ -59,7 +61,9 @@ Retrieve an Access Token from Plex.tv after the Pin has already been authenticat
```python ```python
import plex_api import plex_api
s = plex_api.PlexAPI() s = plex_api.PlexAPI(
x_plex_client_identifier='<value>',
)
res = s.plex.get_token(pin_id='<value>', x_plex_client_identifier='<value>') res = s.plex.get_token(pin_id='<value>', x_plex_client_identifier='<value>')
@@ -75,7 +79,7 @@ if res is not None:
| Parameter | Type | Required | Description | | Parameter | Type | Required | Description |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pin_id` | *str* | :heavy_check_mark: | The PinID to retrieve an access token for | | `pin_id` | *str* | :heavy_check_mark: | The PinID to retrieve an access token for |
| `x_plex_client_identifier` | *str* | :heavy_check_mark: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> | | `x_plex_client_identifier` | *Optional[str]* | :heavy_minus_sign: | The unique identifier for the client application<br/>This is used to track the client application and its usage<br/>(UUID, serial number, or other number unique per device)<br/> |
| `server_url` | *Optional[str]* | :heavy_minus_sign: | An optional server URL to use. | | `server_url` | *Optional[str]* | :heavy_minus_sign: | An optional server URL to use. |

View File

@@ -35,6 +35,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -80,6 +81,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -121,6 +123,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -28,6 +28,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -61,6 +62,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -94,6 +96,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -127,6 +130,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -160,6 +164,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -193,6 +198,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -228,6 +234,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
req = operations.GetResizedPhotoRequest( req = operations.GetResizedPhotoRequest(
@@ -276,6 +283,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -24,6 +24,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -57,6 +58,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -90,6 +92,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -123,6 +126,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -21,6 +21,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -24,6 +24,7 @@ import plex_api
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -58,6 +59,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
@@ -99,6 +101,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )

View File

@@ -23,6 +23,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
req = operations.GetTimelineRequest( req = operations.GetTimelineRequest(
@@ -75,6 +76,7 @@ from plex_api.models import operations
s = plex_api.PlexAPI( s = plex_api.PlexAPI(
access_token="<YOUR_API_KEY_HERE>", access_token="<YOUR_API_KEY_HERE>",
x_plex_client_identifier='<value>',
) )
req = operations.StartUniversalTranscodeRequest( req = operations.StartUniversalTranscodeRequest(

View File

@@ -10,7 +10,7 @@ except FileNotFoundError:
setuptools.setup( setuptools.setup(
name="plex-api-client", name="plex-api-client",
version="0.4.3", version="0.5.0",
author="LukeHagar", author="LukeHagar",
description="Python Client SDK Generated by Speakeasy", description="Python Client SDK Generated by Speakeasy",
long_description=long_description, long_description=long_description,

View File

@@ -99,7 +99,7 @@ class Activities:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.CancelServerActivitiesRequest, base_url, '/activities/{activityUUID}', request) url = utils.generate_url(operations.CancelServerActivitiesRequest, base_url, '/activities/{activityUUID}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())

View File

@@ -34,7 +34,7 @@ class Authentication:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetTransientTokenRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetTransientTokenRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -100,7 +100,7 @@ class Authentication:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetSourceConnectionInformationRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetSourceConnectionInformationRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -220,7 +220,7 @@ class Butler:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.StartTaskRequest, base_url, '/butler/{taskName}', request) url = utils.generate_url(operations.StartTaskRequest, base_url, '/butler/{taskName}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -284,7 +284,7 @@ class Butler:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.StopTaskRequest, base_url, '/butler/{taskName}', request) url = utils.generate_url(operations.StopTaskRequest, base_url, '/butler/{taskName}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())

View File

@@ -35,7 +35,7 @@ class Hubs:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetGlobalHubsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetGlobalHubsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -100,14 +100,14 @@ class Hubs:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetLibraryHubsRequest, base_url, '/hubs/sections/{sectionId}', request) url = utils.generate_url(operations.GetLibraryHubsRequest, base_url, '/hubs/sections/{sectionId}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetLibraryHubsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetLibraryHubsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -35,7 +35,7 @@ class Library:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetFileHashRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetFileHashRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -267,14 +267,14 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetLibraryRequest, base_url, '/library/sections/{sectionId}', request) url = utils.generate_url(operations.GetLibraryRequest, base_url, '/library/sections/{sectionId}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetLibraryRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetLibraryRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -337,7 +337,7 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.DeleteLibraryRequest, base_url, '/library/sections/{sectionId}', request) url = utils.generate_url(operations.DeleteLibraryRequest, base_url, '/library/sections/{sectionId}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -421,7 +421,7 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetLibraryItemsRequest, base_url, '/library/sections/{sectionId}/{tag}', request) url = utils.generate_url(operations.GetLibraryItemsRequest, base_url, '/library/sections/{sectionId}/{tag}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -482,7 +482,7 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.RefreshLibraryRequest, base_url, '/library/sections/{sectionId}/refresh', request) url = utils.generate_url(operations.RefreshLibraryRequest, base_url, '/library/sections/{sectionId}/refresh', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -564,14 +564,14 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.SearchLibraryRequest, base_url, '/library/sections/{sectionId}/search', request) url = utils.generate_url(operations.SearchLibraryRequest, base_url, '/library/sections/{sectionId}/search', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.SearchLibraryRequest, request), **query_params } query_params = { **utils.get_query_params(operations.SearchLibraryRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -626,7 +626,7 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetMetadataRequest, base_url, '/library/metadata/{ratingKey}', request) url = utils.generate_url(operations.GetMetadataRequest, base_url, '/library/metadata/{ratingKey}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -695,7 +695,7 @@ class Library:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetMetadataChildrenRequest, base_url, '/library/metadata/{ratingKey}/children', request) url = utils.generate_url(operations.GetMetadataChildrenRequest, base_url, '/library/metadata/{ratingKey}/children', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())

View File

@@ -35,7 +35,7 @@ class Log:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.LogLineRequest, request), **query_params } query_params = { **utils.get_query_params(operations.LogLineRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -33,7 +33,7 @@ class Media:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.MarkPlayedRequest, request), **query_params } query_params = { **utils.get_query_params(operations.MarkPlayedRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -98,7 +98,7 @@ class Media:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.MarkUnplayedRequest, request), **query_params } query_params = { **utils.get_query_params(operations.MarkUnplayedRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -165,7 +165,7 @@ class Media:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.UpdatePlayProgressRequest, request), **query_params } query_params = { **utils.get_query_params(operations.UpdatePlayProgressRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -16,16 +16,16 @@ GET_PIN_SERVERS = [
@dataclasses.dataclass @dataclasses.dataclass
class GetPinRequest: class GetPinRequest:
x_plex_client_identifier: str = dataclasses.field(metadata={'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': False }})
r"""The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
"""
strong: Optional[bool] = dataclasses.field(default=False, metadata={'query_param': { 'field_name': 'strong', 'style': 'form', 'explode': True }}) strong: Optional[bool] = dataclasses.field(default=False, metadata={'query_param': { 'field_name': 'strong', 'style': 'form', 'explode': True }})
r"""Determines the kind of code returned by the API call r"""Determines the kind of code returned by the API call
Strong codes are used for Pin authentication flows Strong codes are used for Pin authentication flows
Non-Strong codes are used for `Plex.tv/link` Non-Strong codes are used for `Plex.tv/link`
""" """
x_plex_client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': False }})
r"""The unique identifier for the client application
This is used to track the client application and its usage
(UUID, serial number, or other number unique per device)
"""

View File

@@ -3,6 +3,7 @@
from __future__ import annotations from __future__ import annotations
import dataclasses import dataclasses
import requests as requests_http import requests as requests_http
from typing import Optional
GET_TOKEN_SERVERS = [ GET_TOKEN_SERVERS = [
"https://plex.tv/api/v2", "https://plex.tv/api/v2",
@@ -13,7 +14,7 @@ GET_TOKEN_SERVERS = [
class GetTokenRequest: class GetTokenRequest:
pin_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'pinID', 'style': 'simple', 'explode': False }}) pin_id: str = dataclasses.field(metadata={'path_param': { 'field_name': 'pinID', 'style': 'simple', 'explode': False }})
r"""The PinID to retrieve an access token for""" r"""The PinID to retrieve an access token for"""
x_plex_client_identifier: str = dataclasses.field(metadata={'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': False }}) x_plex_client_identifier: Optional[str] = dataclasses.field(default=None, metadata={'header': { 'field_name': 'X-Plex-Client-Identifier', 'style': 'simple', 'explode': False }})
r"""The unique identifier for the client application r"""The unique identifier for the client application
This is used to track the client application and its usage This is used to track the client application and its usage
(UUID, serial number, or other number unique per device) (UUID, serial number, or other number unique per device)

View File

@@ -36,7 +36,7 @@ class Playlists:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.CreatePlaylistRequest, request), **query_params } query_params = { **utils.get_query_params(operations.CreatePlaylistRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -107,7 +107,7 @@ class Playlists:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetPlaylistsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetPlaylistsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -171,7 +171,7 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetPlaylistRequest, base_url, '/playlists/{playlistID}', request) url = utils.generate_url(operations.GetPlaylistRequest, base_url, '/playlists/{playlistID}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -240,7 +240,7 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.DeletePlaylistRequest, base_url, '/playlists/{playlistID}', request) url = utils.generate_url(operations.DeletePlaylistRequest, base_url, '/playlists/{playlistID}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -306,14 +306,14 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.UpdatePlaylistRequest, base_url, '/playlists/{playlistID}', request) url = utils.generate_url(operations.UpdatePlaylistRequest, base_url, '/playlists/{playlistID}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.UpdatePlaylistRequest, request), **query_params } query_params = { **utils.get_query_params(operations.UpdatePlaylistRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -375,14 +375,14 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.GetPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request) url = utils.generate_url(operations.GetPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetPlaylistContentsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetPlaylistContentsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -445,7 +445,7 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.ClearPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request) url = utils.generate_url(operations.ClearPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
@@ -512,14 +512,14 @@ class Playlists:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.AddPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request) url = utils.generate_url(operations.AddPlaylistContentsRequest, base_url, '/playlists/{playlistID}/items', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.AddPlaylistContentsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.AddPlaylistContentsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -590,7 +590,7 @@ class Playlists:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.UploadPlaylistRequest, request), **query_params } query_params = { **utils.get_query_params(operations.UploadPlaylistRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -16,14 +16,14 @@ class Plex:
def get_pin(self, x_plex_client_identifier: str, strong: Optional[bool] = None, server_url: Optional[str] = None) -> operations.GetPinResponse: def get_pin(self, strong: Optional[bool] = None, x_plex_client_identifier: Optional[str] = None, server_url: Optional[str] = None) -> operations.GetPinResponse:
r"""Get a Pin r"""Get a Pin
Retrieve a Pin from Plex.tv for authentication flows Retrieve a Pin from Plex.tv for authentication flows
""" """
hook_ctx = HookContext(operation_id='getPin', oauth2_scopes=[], security_source=None) hook_ctx = HookContext(operation_id='getPin', oauth2_scopes=[], security_source=None)
request = operations.GetPinRequest( request = operations.GetPinRequest(
x_plex_client_identifier=x_plex_client_identifier,
strong=strong, strong=strong,
x_plex_client_identifier=x_plex_client_identifier,
) )
base_url = utils.template_url(operations.GET_PIN_SERVERS[0], { base_url = utils.template_url(operations.GET_PIN_SERVERS[0], {
@@ -36,8 +36,8 @@ class Plex:
headers = {} headers = {}
query_params = {} query_params = {}
headers = { **utils.get_headers(request), **headers } headers = { **utils.get_headers(request, self.sdk_configuration.globals), **headers }
query_params = { **utils.get_query_params(operations.GetPinRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetPinRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -89,7 +89,7 @@ class Plex:
def get_token(self, pin_id: str, x_plex_client_identifier: str, server_url: Optional[str] = None) -> operations.GetTokenResponse: def get_token(self, pin_id: str, x_plex_client_identifier: Optional[str] = None, server_url: Optional[str] = None) -> operations.GetTokenResponse:
r"""Get Access Token r"""Get Access Token
Retrieve an Access Token from Plex.tv after the Pin has already been authenticated Retrieve an Access Token from Plex.tv after the Pin has already been authenticated
""" """
@@ -104,11 +104,11 @@ class Plex:
if server_url is not None: if server_url is not None:
base_url = server_url base_url = server_url
url = utils.generate_url(operations.GetTokenRequest, base_url, '/pins/{pinID}', request) url = utils.generate_url(operations.GetTokenRequest, base_url, '/pins/{pinID}', request, self.sdk_configuration.globals)
headers = {} headers = {}
headers = { **utils.get_headers(request), **headers } headers = { **utils.get_headers(request, self.sdk_configuration.globals), **headers }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -74,6 +74,7 @@ class PlexAPI:
def __init__(self, def __init__(self,
access_token: Union[str, Callable[[], str]], access_token: Union[str, Callable[[], str]],
x_plex_client_identifier: str = None,
protocol: ServerProtocol = None, protocol: ServerProtocol = None,
ip: str = None, ip: str = None,
port: str = None, port: str = None,
@@ -87,6 +88,8 @@ class PlexAPI:
:param access_token: The access_token required for authentication :param access_token: The access_token required for authentication
:type access_token: Union[str, Callable[[], str]] :type access_token: Union[str, Callable[[], str]]
:param x_plex_client_identifier: Configures the x_plex_client_identifier parameter for all supported operations
:type x_plex_client_identifier: str
:param protocol: Allows setting the protocol variable for url substitution :param protocol: Allows setting the protocol variable for url substitution
:type protocol: ServerProtocol :type protocol: ServerProtocol
:param ip: Allows setting the ip variable for url substitution :param ip: Allows setting the ip variable for url substitution
@@ -123,6 +126,17 @@ class PlexAPI:
'port': port or '32400', 'port': port or '32400',
}, },
] ]
global_params = {
'parameters': {
'queryParam': {
},
'pathParam': {
},
'header': {
'x_plex_client_identifier': x_plex_client_identifier,
},
},
}
self.sdk_configuration = SDKConfiguration( self.sdk_configuration = SDKConfiguration(
client, client,
@@ -130,6 +144,7 @@ class PlexAPI:
server_url, server_url,
server_idx, server_idx,
server_defaults, server_defaults,
global_params,
retry_config=retry_config retry_config=retry_config
) )

View File

@@ -8,7 +8,7 @@ from .utils.retries import RetryConfig
from dataclasses import dataclass, field from dataclasses import dataclass, field
from enum import Enum from enum import Enum
from plex_api.models import components from plex_api.models import components
from typing import Callable, Dict, List, Tuple, Union from typing import Any, Callable, Dict, List, Tuple, Union
SERVERS = [ SERVERS = [
@@ -30,11 +30,12 @@ class SDKConfiguration:
server_url: str = '' server_url: str = ''
server_idx: int = 0 server_idx: int = 0
server_defaults: List[Dict[str, str]] = field(default_factory=List) server_defaults: List[Dict[str, str]] = field(default_factory=List)
globals: Dict[str, Dict[str, Dict[str, Any]]] = field(default_factory=Dict)
language: str = 'python' language: str = 'python'
openapi_doc_version: str = '0.0.3' openapi_doc_version: str = '0.0.3'
sdk_version: str = '0.4.3' sdk_version: str = '0.5.0'
gen_version: str = '2.291.0' gen_version: str = '2.292.0'
user_agent: str = 'speakeasy-sdk/python 0.4.3 2.291.0 0.0.3 plex-api-client' user_agent: str = 'speakeasy-sdk/python 0.5.0 2.292.0 0.0.3 plex-api-client'
retry_config: RetryConfig = None retry_config: RetryConfig = None
_hooks: SDKHooks = None _hooks: SDKHooks = None

View File

@@ -47,7 +47,7 @@ class Search:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.PerformSearchRequest, request), **query_params } query_params = { **utils.get_query_params(operations.PerformSearchRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -117,7 +117,7 @@ class Search:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.PerformVoiceSearchRequest, request), **query_params } query_params = { **utils.get_query_params(operations.PerformVoiceSearchRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -182,7 +182,7 @@ class Search:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetSearchResultsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetSearchResultsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -420,7 +420,7 @@ class Server:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetResizedPhotoRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetResizedPhotoRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -222,7 +222,7 @@ class Sessions:
base_url = utils.template_url(*self.sdk_configuration.get_server_details()) base_url = utils.template_url(*self.sdk_configuration.get_server_details())
url = utils.generate_url(operations.StopTranscodeSessionRequest, base_url, '/transcode/sessions/{sessionKey}', request) url = utils.generate_url(operations.StopTranscodeSessionRequest, base_url, '/transcode/sessions/{sessionKey}', request, self.sdk_configuration.globals)
if callable(self.sdk_configuration.security): if callable(self.sdk_configuration.security):
headers, query_params = utils.get_security(self.sdk_configuration.security()) headers, query_params = utils.get_security(self.sdk_configuration.security())

View File

@@ -34,7 +34,7 @@ class Statistics:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetStatisticsRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetStatisticsRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -101,7 +101,7 @@ class Updater:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.CheckForUpdatesRequest, request), **query_params } query_params = { **utils.get_query_params(operations.CheckForUpdatesRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -167,7 +167,7 @@ class Updater:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.ApplyUpdatesRequest, request), **query_params } query_params = { **utils.get_query_params(operations.ApplyUpdatesRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client

View File

@@ -29,7 +29,7 @@ class Video:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.GetTimelineRequest, request), **query_params } query_params = { **utils.get_query_params(operations.GetTimelineRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client
@@ -90,7 +90,7 @@ class Video:
else: else:
headers, query_params = utils.get_security(self.sdk_configuration.security) headers, query_params = utils.get_security(self.sdk_configuration.security)
query_params = { **utils.get_query_params(operations.StartUniversalTranscodeRequest, request), **query_params } query_params = { **utils.get_query_params(operations.StartUniversalTranscodeRequest, request, self.sdk_configuration.globals), **query_params }
headers['Accept'] = 'application/json' headers['Accept'] = 'application/json'
headers['user-agent'] = self.sdk_configuration.user_agent headers['user-agent'] = self.sdk_configuration.user_agent
client = self.sdk_configuration.client client = self.sdk_configuration.client