From 69fc422fd04623144f1326d21b38752400545481 Mon Sep 17 00:00:00 2001 From: speakeasybot Date: Thu, 13 Nov 2025 00:03:21 +0000 Subject: [PATCH] ci: regenerated with OpenAPI Doc , Speakeasy CLI 1.656.1 --- .speakeasy/gen.lock | 22 +++++----- .speakeasy/gen.yaml | 5 ++- .speakeasy/workflow.lock | 14 +++---- README.md | 28 ++++++------- RELEASES.md | 12 +++++- codeSamples.yaml | 8 ++-- docs/models/components/librarysections.md | 10 +++++ ...rectory.md => librarysectionsdirectory.md} | 2 +- ...er.md => librarysectionsmediacontainer.md} | 4 +- .../requesthandlerslashgetresponses200.md | 10 ----- .../operations/getsectionsprefsresponse.md | 12 +++--- .../operations/stopallrefreshesresponse.md | 12 +++--- docs/sdks/library/README.md | 12 +++--- pyproject.toml | 2 +- src/plex_api_client/_version.py | 6 +-- src/plex_api_client/library.py | 24 +++++------ .../models/components/__init__.py | 40 +++++++++---------- ...et_responses_200.py => librarysections.py} | 24 +++++------ .../models/operations/getsectionsprefs.py | 10 ++--- .../models/operations/stopallrefreshes.py | 10 ++--- src/plex_api_client/sdk.py | 6 +-- 21 files changed, 137 insertions(+), 136 deletions(-) create mode 100644 docs/models/components/librarysections.md rename docs/models/components/{requesthandlerslashgetresponses200directory.md => librarysectionsdirectory.md} (94%) rename docs/models/components/{requesthandlerslashgetresponses200mediacontainer.md => librarysectionsmediacontainer.md} (99%) delete mode 100644 docs/models/components/requesthandlerslashgetresponses200.md rename src/plex_api_client/models/components/{requesthandler_slash_get_responses_200.py => librarysections.py} (92%) diff --git a/.speakeasy/gen.lock b/.speakeasy/gen.lock index bf32153..8286f13 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: 46ec1ce493542eb1a574ee88fc8b0895 + docChecksum: e95c0e17d3e268dcd18d26ac8d0bfc98 docVersion: 1.1.1 - speakeasyVersion: 1.636.3 - generationVersion: 2.723.11 - releaseVersion: 0.31.1 - configChecksum: d4b60d697d9adda801e645448c8c8682 + speakeasyVersion: 1.656.1 + generationVersion: 2.753.1 + releaseVersion: 0.32.0 + configChecksum: d3526d999dca0a302e02f1fda0407994 repoURL: https://github.com/LukeHagar/plexpy.git repoSubDirectory: . installationURL: https://github.com/LukeHagar/plexpy.git @@ -17,7 +17,7 @@ features: additionalDependencies: 1.0.0 additionalProperties: 1.0.1 constsAndDefaults: 1.0.5 - core: 5.22.1 + core: 5.23.6 deepObjectParams: 0.1.0 defaultEnabledRetries: 0.2.0 downloadStreams: 1.0.1 @@ -27,7 +27,7 @@ features: globalSecurity: 3.0.4 globalSecurityCallbacks: 1.0.0 globalSecurityFlattening: 1.0.0 - globalServerURLs: 3.1.1 + globalServerURLs: 3.2.0 globals: 3.0.0 nameOverrides: 3.0.1 responseFormat: 1.0.1 @@ -73,6 +73,9 @@ generatedFiles: - docs/models/components/items.md - docs/models/components/librarysection.md - docs/models/components/librarysectionlocation.md + - docs/models/components/librarysections.md + - docs/models/components/librarysectionsdirectory.md + - docs/models/components/librarysectionsmediacontainer.md - docs/models/components/lineup.md - docs/models/components/lineuptype.md - docs/models/components/location.md @@ -124,9 +127,6 @@ generatedFiles: - docs/models/components/postresponses200type.md - docs/models/components/protocol.md - docs/models/components/recommendationsvisibility.md - - docs/models/components/requesthandlerslashgetresponses200.md - - docs/models/components/requesthandlerslashgetresponses200directory.md - - docs/models/components/requesthandlerslashgetresponses200mediacontainer.md - docs/models/components/security.md - docs/models/components/session.md - docs/models/components/sessionlocation.md @@ -1125,6 +1125,7 @@ generatedFiles: - src/plex_api_client/models/components/image.py - src/plex_api_client/models/components/items.py - src/plex_api_client/models/components/librarysection.py + - src/plex_api_client/models/components/librarysections.py - src/plex_api_client/models/components/lineup.py - src/plex_api_client/models/components/location.py - src/plex_api_client/models/components/media.py @@ -1148,7 +1149,6 @@ generatedFiles: - src/plex_api_client/models/components/player.py - src/plex_api_client/models/components/post_responses_200.py - src/plex_api_client/models/components/protocol.py - - src/plex_api_client/models/components/requesthandler_slash_get_responses_200.py - src/plex_api_client/models/components/security.py - src/plex_api_client/models/components/session.py - src/plex_api_client/models/components/setting.py diff --git a/.speakeasy/gen.yaml b/.speakeasy/gen.yaml index ad2b16c..130af12 100644 --- a/.speakeasy/gen.yaml +++ b/.speakeasy/gen.yaml @@ -17,12 +17,15 @@ generation: oAuth2ClientCredentialsEnabled: true oAuth2PasswordEnabled: false hoistGlobalSecurity: true + schemas: + allOfMergeStrategy: shallowMerge + requestBodyFieldName: "" tests: generateTests: true generateNewTests: false skipResponseBodyAssertions: false python: - version: 0.31.1 + version: 0.32.0 additionalDependencies: dev: {} main: {} diff --git a/.speakeasy/workflow.lock b/.speakeasy/workflow.lock index cd8fe9e..39a887e 100644 --- a/.speakeasy/workflow.lock +++ b/.speakeasy/workflow.lock @@ -1,4 +1,4 @@ -speakeasyVersion: 1.636.3 +speakeasyVersion: 1.656.1 sources: my-source: sourceNamespace: my-source @@ -8,20 +8,20 @@ sources: - latest plexapi: sourceNamespace: plexapi - sourceRevisionDigest: sha256:0e9f7ca03e6a970d7b77654ab41d0a1605f0105871db2630a7afc85d4362b624 - sourceBlobDigest: sha256:c0a6079f21e9d8cf8b3a205d2da333b78b2cb7e0db9dd895a41c68c2580e2d64 + sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b + sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f tags: - latest - - speakeasy-sdk-regen-1760313692 + - speakeasy-sdk-regen-1762992090 - 1.1.1 targets: plexpy: source: plexapi sourceNamespace: plexapi - sourceRevisionDigest: sha256:0e9f7ca03e6a970d7b77654ab41d0a1605f0105871db2630a7afc85d4362b624 - sourceBlobDigest: sha256:c0a6079f21e9d8cf8b3a205d2da333b78b2cb7e0db9dd895a41c68c2580e2d64 + sourceRevisionDigest: sha256:56fc783b16af019db4eb0fe52df504315e8e7c7ae41e319a61bba8823f19df4b + sourceBlobDigest: sha256:b62613477fd824bb42cf0bf5d0f9980448259c9c7456e03ca6a10eef39a3994f codeSamplesNamespace: code-samples-python-plexpy - codeSamplesRevisionDigest: sha256:ef94fd945c9ba9164051956a6495266df49f6565208eb2cdb415b0a47cb4368e + codeSamplesRevisionDigest: sha256:aa577c7f90db2dde8d7204e9cb62fd39b320a5e3b9e21e685ef19f7f6468ef49 workflow: workflowVersion: 1.0.0 speakeasyVersion: latest diff --git a/README.md b/README.md index f7b84df..8ff84ec 100644 --- a/README.md +++ b/README.md @@ -756,18 +756,18 @@ You can override the default server globally by passing a server index to the `s | --- | ---------------------------------------------------------- | -------------------------------------------- | ----------- | | 0 | `https://{IP-description}.{identifier}.plex.direct:{port}` | `identifier`
`IP-description`
`port` | | | 1 | `{protocol}://{host}:{port}` | `protocol`
`host`
`port` | | -| 2 | `https://{full_server_url}` | `server_url` | | +| 2 | `https://{full_server_url}` | `full_server_url` | | If the selected server has variables, you may override its default values through the additional parameters made available in the SDK constructor: -| Variable | Parameter | Default | Description | -| ---------------- | ------------------------ | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `identifier` | `identifier: str` | `"0123456789abcdef0123456789abcdef"` | The unique identifier of this particular PMS | -| `IP-description` | `ip_description: str` | `"1-2-3-4"` | A `-` separated string of the IPv4 or IPv6 address components | -| `port` | `port: str` | `"32400"` | The Port number configured on the PMS. Typically (`32400`).
If using a reverse proxy, this would be the port number configured on the proxy.
| -| `protocol` | `protocol: str` | `"http"` | The network protocol to use. Typically (`http` or `https`) | -| `host` | `host: str` | `"localhost"` | The Host of the PMS.
If using on a local network, this is the internal IP address of the server hosting the PMS.
If using on an external network, this is the external IP address for your network, and requires port forwarding.
If using a reverse proxy, this would be the external DNS domain for your network, and requires the proxy handle port forwarding.
| -| `server_url` | `server_url_global: str` | `"http://localhost:32400"` | The full manual URL to access the PMS | +| Variable | Parameter | Default | Description | +| ----------------- | ---------------------- | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `identifier` | `identifier: str` | `"0123456789abcdef0123456789abcdef"` | The unique identifier of this particular PMS | +| `IP-description` | `ip_description: str` | `"1-2-3-4"` | A `-` separated string of the IPv4 or IPv6 address components | +| `port` | `port: str` | `"32400"` | The Port number configured on the PMS. Typically (`32400`).
If using a reverse proxy, this would be the port number configured on the proxy.
| +| `protocol` | `protocol: str` | `"http"` | The network protocol to use. Typically (`http` or `https`) | +| `host` | `host: str` | `"localhost"` | The Host of the PMS.
If using on a local network, this is the internal IP address of the server hosting the PMS.
If using on an external network, this is the external IP address for your network, and requires port forwarding.
If using a reverse proxy, this would be the external DNS domain for your network, and requires the proxy handle port forwarding.
| +| `full_server_url` | `full_server_url: str` | `"http://localhost:32400"` | The full manual URL to access the PMS | #### Example @@ -777,10 +777,10 @@ from plex_api_client.models import components with PlexAPI( - server_idx=1, - protocol="" - host="electric-excess.name" - port="36393" + server_idx=0, + identifier="0123456789abcdef0123456789abcdef", + ip_description="1-2-3-4", + port="32400", accepts=components.Accepts.APPLICATION_XML, client_identifier="abc123", product="Plex for Roku", @@ -813,7 +813,7 @@ from plex_api_client.models import components with PlexAPI( - server_url="https://{full_server_url}", + server_url="https://http://localhost:32400", accepts=components.Accepts.APPLICATION_XML, client_identifier="abc123", product="Plex for Roku", diff --git a/RELEASES.md b/RELEASES.md index db5b1a8..1de4d6c 100644 --- a/RELEASES.md +++ b/RELEASES.md @@ -1118,4 +1118,14 @@ Based on: ### Generated - [python v0.31.1] . ### Releases -- [PyPI v0.31.1] https://pypi.org/project/plex-api-client/0.31.1 - . \ No newline at end of file +- [PyPI v0.31.1] https://pypi.org/project/plex-api-client/0.31.1 - . + +## 2025-11-13 00:01:13 +### Changes +Based on: +- OpenAPI Doc +- Speakeasy CLI 1.656.1 (2.753.1) https://github.com/speakeasy-api/speakeasy +### Generated +- [python v0.32.0] . +### Releases +- [PyPI v0.32.0] https://pypi.org/project/plex-api-client/0.32.0 - . \ No newline at end of file diff --git a/codeSamples.yaml b/codeSamples.yaml index 71efb9e..c9d3e81 100644 --- a/codeSamples.yaml +++ b/codeSamples.yaml @@ -3311,10 +3311,10 @@ actions: res = plex_api.library.stop_all_refreshes() - assert res.request_handler_slash_get_responses_200 is not None + assert res.library_sections is not None # Handle response - print(res.request_handler_slash_get_responses_200) + print(res.library_sections) - target: $["paths"]["/library/sections/prefs"]["get"] update: x-codeSamples: @@ -3344,10 +3344,10 @@ actions: "type": 460221, }) - assert res.request_handler_slash_get_responses_200 is not None + assert res.library_sections is not None # Handle response - print(res.request_handler_slash_get_responses_200) + print(res.library_sections) - target: $["paths"]["/library/sections/refresh"]["post"] update: x-codeSamples: diff --git a/docs/models/components/librarysections.md b/docs/models/components/librarysections.md new file mode 100644 index 0000000..3c2c9ec --- /dev/null +++ b/docs/models/components/librarysections.md @@ -0,0 +1,10 @@ +# LibrarySections + +OK + + +## Fields + +| Field | Type | Required | Description | +| -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | +| `media_container` | [Optional[components.LibrarySectionsMediaContainer]](../../models/components/librarysectionsmediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/components/requesthandlerslashgetresponses200directory.md b/docs/models/components/librarysectionsdirectory.md similarity index 94% rename from docs/models/components/requesthandlerslashgetresponses200directory.md rename to docs/models/components/librarysectionsdirectory.md index a471931..8fc136f 100644 --- a/docs/models/components/requesthandlerslashgetresponses200directory.md +++ b/docs/models/components/librarysectionsdirectory.md @@ -1,4 +1,4 @@ -# RequestHandlerSlashGetResponses200Directory +# LibrarySectionsDirectory ## Fields diff --git a/docs/models/components/requesthandlerslashgetresponses200mediacontainer.md b/docs/models/components/librarysectionsmediacontainer.md similarity index 99% rename from docs/models/components/requesthandlerslashgetresponses200mediacontainer.md rename to docs/models/components/librarysectionsmediacontainer.md index 3b75a71..10523bf 100644 --- a/docs/models/components/requesthandlerslashgetresponses200mediacontainer.md +++ b/docs/models/components/librarysectionsmediacontainer.md @@ -1,4 +1,4 @@ -# RequestHandlerSlashGetResponses200MediaContainer +# LibrarySectionsMediaContainer `MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable. Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination) @@ -62,4 +62,4 @@ The container often "hoists" common attributes from its children. For example, i | `updater` | *Optional[bool]* | :heavy_minus_sign: | N/A | | | `version` | *Optional[str]* | :heavy_minus_sign: | N/A | | | `voice_search` | *Optional[bool]* | :heavy_minus_sign: | N/A | | -| `directory` | List[[components.RequestHandlerSlashGetResponses200Directory](../../models/components/requesthandlerslashgetresponses200directory.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file +| `directory` | List[[components.LibrarySectionsDirectory](../../models/components/librarysectionsdirectory.md)] | :heavy_minus_sign: | N/A | | \ No newline at end of file diff --git a/docs/models/components/requesthandlerslashgetresponses200.md b/docs/models/components/requesthandlerslashgetresponses200.md deleted file mode 100644 index 3d9456c..0000000 --- a/docs/models/components/requesthandlerslashgetresponses200.md +++ /dev/null @@ -1,10 +0,0 @@ -# RequestHandlerSlashGetResponses200 - -OK - - -## Fields - -| Field | Type | Required | Description | -| ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `media_container` | [Optional[components.RequestHandlerSlashGetResponses200MediaContainer]](../../models/components/requesthandlerslashgetresponses200mediacontainer.md) | :heavy_minus_sign: | N/A | \ No newline at end of file diff --git a/docs/models/operations/getsectionsprefsresponse.md b/docs/models/operations/getsectionsprefsresponse.md index 5ad2e08..1077aa8 100644 --- a/docs/models/operations/getsectionsprefsresponse.md +++ b/docs/models/operations/getsectionsprefsresponse.md @@ -3,9 +3,9 @@ ## 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` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `request_handler_slash_get_responses_200` | [Optional[components.RequestHandlerSlashGetResponses200]](../../models/components/requesthandlerslashgetresponses200.md) | :heavy_minus_sign: | OK | \ No newline at end of file +| 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` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `library_sections` | [Optional[components.LibrarySections]](../../models/components/librarysections.md) | :heavy_minus_sign: | OK | \ No newline at end of file diff --git a/docs/models/operations/stopallrefreshesresponse.md b/docs/models/operations/stopallrefreshesresponse.md index bfe2a59..002b04b 100644 --- a/docs/models/operations/stopallrefreshesresponse.md +++ b/docs/models/operations/stopallrefreshesresponse.md @@ -3,9 +3,9 @@ ## 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` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | -| `request_handler_slash_get_responses_200` | [Optional[components.RequestHandlerSlashGetResponses200]](../../models/components/requesthandlerslashgetresponses200.md) | :heavy_minus_sign: | OK | \ No newline at end of file +| 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` | [httpx.Response](https://www.python-httpx.org/api/#response) | :heavy_check_mark: | Raw HTTP response; suitable for custom response parsing | +| `library_sections` | [Optional[components.LibrarySections]](../../models/components/librarysections.md) | :heavy_minus_sign: | OK | \ No newline at end of file diff --git a/docs/sdks/library/README.md b/docs/sdks/library/README.md index 9ee52b5..3f46ef0 100644 --- a/docs/sdks/library/README.md +++ b/docs/sdks/library/README.md @@ -579,10 +579,10 @@ with PlexAPI( res = plex_api.library.stop_all_refreshes() - assert res.request_handler_slash_get_responses_200 is not None + assert res.library_sections is not None # Handle response - print(res.request_handler_slash_get_responses_200) + print(res.library_sections) ``` @@ -633,10 +633,10 @@ with PlexAPI( "type": 460221, }) - assert res.request_handler_slash_get_responses_200 is not None + assert res.library_sections is not None # Handle response - print(res.request_handler_slash_get_responses_200) + print(res.library_sections) ``` @@ -2819,8 +2819,8 @@ with PlexAPI( ## autocomplete -The field to autocomplete on is specified by the {field}.query parameter. For example `genre.query` or `title.query`. -Returns a set of items from the filtered items whose {field} starts with {field}.query. In the results, a {field}.queryRange will be present to express the range of the match +The field to autocomplete on is specified by the `{field}.query` parameter. For example `genre.query` or `title.query`. +Returns a set of items from the filtered items whose `{field}` starts with `{field}.query`. In the results, a `{field}.queryRange` will be present to express the range of the match ### Example Usage diff --git a/pyproject.toml b/pyproject.toml index ad8dc2b..0ea8a4b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "plex-api-client" -version = "0.31.1" +version = "0.32.0" description = "Python Client SDK Generated by Speakeasy" authors = [{ name = "Speakeasy" },] readme = "README-PYPI.md" diff --git a/src/plex_api_client/_version.py b/src/plex_api_client/_version.py index 6e8ecdf..0c669db 100644 --- a/src/plex_api_client/_version.py +++ b/src/plex_api_client/_version.py @@ -3,10 +3,10 @@ import importlib.metadata __title__: str = "plex-api-client" -__version__: str = "0.31.1" +__version__: str = "0.32.0" __openapi_doc_version__: str = "1.1.1" -__gen_version__: str = "2.723.11" -__user_agent__: str = "speakeasy-sdk/python 0.31.1 2.723.11 1.1.1 plex-api-client" +__gen_version__: str = "2.753.1" +__user_agent__: str = "speakeasy-sdk/python 0.32.0 2.753.1 1.1.1 plex-api-client" try: if __package__ is not None: diff --git a/src/plex_api_client/library.py b/src/plex_api_client/library.py index 0d26082..dbf593c 100644 --- a/src/plex_api_client/library.py +++ b/src/plex_api_client/library.py @@ -1828,8 +1828,8 @@ class Library(BaseSDK): if utils.match_response(http_res, "200", "application/json"): return operations.StopAllRefreshesResponse( - request_handler_slash_get_responses_200=unmarshal_json_response( - Optional[components.RequestHandlerSlashGetResponses200], http_res + library_sections=unmarshal_json_response( + Optional[components.LibrarySections], http_res ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -1909,8 +1909,8 @@ class Library(BaseSDK): if utils.match_response(http_res, "200", "application/json"): return operations.StopAllRefreshesResponse( - request_handler_slash_get_responses_200=unmarshal_json_response( - Optional[components.RequestHandlerSlashGetResponses200], http_res + library_sections=unmarshal_json_response( + Optional[components.LibrarySections], http_res ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -2013,8 +2013,8 @@ class Library(BaseSDK): if utils.match_response(http_res, "200", "application/json"): return operations.GetSectionsPrefsResponse( - request_handler_slash_get_responses_200=unmarshal_json_response( - Optional[components.RequestHandlerSlashGetResponses200], http_res + library_sections=unmarshal_json_response( + Optional[components.LibrarySections], http_res ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -2117,8 +2117,8 @@ class Library(BaseSDK): if utils.match_response(http_res, "200", "application/json"): return operations.GetSectionsPrefsResponse( - request_handler_slash_get_responses_200=unmarshal_json_response( - Optional[components.RequestHandlerSlashGetResponses200], http_res + library_sections=unmarshal_json_response( + Optional[components.LibrarySections], http_res ), status_code=http_res.status_code, content_type=http_res.headers.get("Content-Type") or "", @@ -9968,8 +9968,8 @@ class Library(BaseSDK): ) -> operations.AutocompleteResponse: r"""Get autocompletions for search - The field to autocomplete on is specified by the {field}.query parameter. For example `genre.query` or `title.query`. - Returns a set of items from the filtered items whose {field} starts with {field}.query. In the results, a {field}.queryRange will be present to express the range of the match + The field to autocomplete on is specified by the `{field}.query` parameter. For example `genre.query` or `title.query`. + Returns a set of items from the filtered items whose `{field}` starts with `{field}.query`. In the results, a `{field}.queryRange` will be present to express the range of the match :param request: The request object to send. :param retries: Override the default retry configuration for this method @@ -10073,8 +10073,8 @@ class Library(BaseSDK): ) -> operations.AutocompleteResponse: r"""Get autocompletions for search - The field to autocomplete on is specified by the {field}.query parameter. For example `genre.query` or `title.query`. - Returns a set of items from the filtered items whose {field} starts with {field}.query. In the results, a {field}.queryRange will be present to express the range of the match + The field to autocomplete on is specified by the `{field}.query` parameter. For example `genre.query` or `title.query`. + Returns a set of items from the filtered items whose `{field}` starts with `{field}.query`. In the results, a `{field}.queryRange` will be present to express the range of the match :param request: The request object to send. :param retries: Override the default retry configuration for this method diff --git a/src/plex_api_client/models/components/__init__.py b/src/plex_api_client/models/components/__init__.py index b8ead50..5686c7a 100644 --- a/src/plex_api_client/models/components/__init__.py +++ b/src/plex_api_client/models/components/__init__.py @@ -52,6 +52,14 @@ if TYPE_CHECKING: LibrarySectionLocationTypedDict, LibrarySectionTypedDict, ) + from .librarysections import ( + LibrarySections, + LibrarySectionsDirectory, + LibrarySectionsDirectoryTypedDict, + LibrarySectionsMediaContainer, + LibrarySectionsMediaContainerTypedDict, + LibrarySectionsTypedDict, + ) from .lineup import Lineup, LineupType, LineupTypedDict from .location import Location from .media import Media, MediaTypedDict @@ -165,14 +173,6 @@ if TYPE_CHECKING: PostResponses200TypedDict, ) from .protocol import Protocol - from .requesthandler_slash_get_responses_200 import ( - RequestHandlerSlashGetResponses200, - RequestHandlerSlashGetResponses200Directory, - RequestHandlerSlashGetResponses200DirectoryTypedDict, - RequestHandlerSlashGetResponses200MediaContainer, - RequestHandlerSlashGetResponses200MediaContainerTypedDict, - RequestHandlerSlashGetResponses200TypedDict, - ) from .security import Security, SecurityTypedDict from .session import Session, SessionLocation, SessionTypedDict from .setting import ( @@ -263,6 +263,12 @@ __all__ = [ "LibrarySectionLocation", "LibrarySectionLocationTypedDict", "LibrarySectionTypedDict", + "LibrarySections", + "LibrarySectionsDirectory", + "LibrarySectionsDirectoryTypedDict", + "LibrarySectionsMediaContainer", + "LibrarySectionsMediaContainerTypedDict", + "LibrarySectionsTypedDict", "Lineup", "LineupType", "LineupTypedDict", @@ -356,12 +362,6 @@ __all__ = [ "PostResponses200TypedDict", "Protocol", "RecommendationsVisibility", - "RequestHandlerSlashGetResponses200", - "RequestHandlerSlashGetResponses200Directory", - "RequestHandlerSlashGetResponses200DirectoryTypedDict", - "RequestHandlerSlashGetResponses200MediaContainer", - "RequestHandlerSlashGetResponses200MediaContainerTypedDict", - "RequestHandlerSlashGetResponses200TypedDict", "Security", "SecurityTypedDict", "Session", @@ -450,6 +450,12 @@ _dynamic_imports: dict[str, str] = { "LibrarySectionLocation": ".librarysection", "LibrarySectionLocationTypedDict": ".librarysection", "LibrarySectionTypedDict": ".librarysection", + "LibrarySections": ".librarysections", + "LibrarySectionsDirectory": ".librarysections", + "LibrarySectionsDirectoryTypedDict": ".librarysections", + "LibrarySectionsMediaContainer": ".librarysections", + "LibrarySectionsMediaContainerTypedDict": ".librarysections", + "LibrarySectionsTypedDict": ".librarysections", "Lineup": ".lineup", "LineupType": ".lineup", "LineupTypedDict": ".lineup", @@ -543,12 +549,6 @@ _dynamic_imports: dict[str, str] = { "PostResponses200Type": ".post_responses_200", "PostResponses200TypedDict": ".post_responses_200", "Protocol": ".protocol", - "RequestHandlerSlashGetResponses200": ".requesthandler_slash_get_responses_200", - "RequestHandlerSlashGetResponses200Directory": ".requesthandler_slash_get_responses_200", - "RequestHandlerSlashGetResponses200DirectoryTypedDict": ".requesthandler_slash_get_responses_200", - "RequestHandlerSlashGetResponses200MediaContainer": ".requesthandler_slash_get_responses_200", - "RequestHandlerSlashGetResponses200MediaContainerTypedDict": ".requesthandler_slash_get_responses_200", - "RequestHandlerSlashGetResponses200TypedDict": ".requesthandler_slash_get_responses_200", "Security": ".security", "SecurityTypedDict": ".security", "Session": ".session", diff --git a/src/plex_api_client/models/components/requesthandler_slash_get_responses_200.py b/src/plex_api_client/models/components/librarysections.py similarity index 92% rename from src/plex_api_client/models/components/requesthandler_slash_get_responses_200.py rename to src/plex_api_client/models/components/librarysections.py index 591f1ff..0b1fc3f 100644 --- a/src/plex_api_client/models/components/requesthandler_slash_get_responses_200.py +++ b/src/plex_api_client/models/components/librarysections.py @@ -7,14 +7,14 @@ from typing import Any, List, Optional from typing_extensions import Annotated, NotRequired, TypedDict -class RequestHandlerSlashGetResponses200DirectoryTypedDict(TypedDict): +class LibrarySectionsDirectoryTypedDict(TypedDict): count: NotRequired[int] key: NotRequired[str] r"""The key where this directory is found""" title: NotRequired[str] -class RequestHandlerSlashGetResponses200Directory(BaseModel): +class LibrarySectionsDirectory(BaseModel): count: Optional[int] = None key: Optional[str] = None @@ -23,7 +23,7 @@ class RequestHandlerSlashGetResponses200Directory(BaseModel): title: Optional[str] = None -class RequestHandlerSlashGetResponses200MediaContainerTypedDict(TypedDict): +class LibrarySectionsMediaContainerTypedDict(TypedDict): r"""`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable. Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination) The container often \"hoists\" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track. @@ -91,10 +91,10 @@ class RequestHandlerSlashGetResponses200MediaContainerTypedDict(TypedDict): updater: NotRequired[bool] version: NotRequired[str] voice_search: NotRequired[bool] - directory: NotRequired[List[RequestHandlerSlashGetResponses200DirectoryTypedDict]] + directory: NotRequired[List[LibrarySectionsDirectoryTypedDict]] -class RequestHandlerSlashGetResponses200MediaContainer(BaseModel): +class LibrarySectionsMediaContainer(BaseModel): r"""`MediaContainer` is the root element of most Plex API responses. It serves as a generic container for various types of content (Metadata, Hubs, Directories, etc.) and includes pagination information (offset, size, totalSize) when applicable. Common attributes: - identifier: Unique identifier for this container - size: Number of items in this response page - totalSize: Total number of items available (for pagination) - offset: Starting index of this page (for pagination) The container often \"hoists\" common attributes from its children. For example, if all tracks in a container share the same album title, the `parentTitle` attribute may appear on the MediaContainer rather than being repeated on each track. @@ -275,23 +275,19 @@ class RequestHandlerSlashGetResponses200MediaContainer(BaseModel): voice_search: Annotated[Optional[bool], pydantic.Field(alias="voiceSearch")] = None directory: Annotated[ - Optional[List[RequestHandlerSlashGetResponses200Directory]], - pydantic.Field(alias="Directory"), + Optional[List[LibrarySectionsDirectory]], pydantic.Field(alias="Directory") ] = None -class RequestHandlerSlashGetResponses200TypedDict(TypedDict): +class LibrarySectionsTypedDict(TypedDict): r"""OK""" - media_container: NotRequired[ - RequestHandlerSlashGetResponses200MediaContainerTypedDict - ] + media_container: NotRequired[LibrarySectionsMediaContainerTypedDict] -class RequestHandlerSlashGetResponses200(BaseModel): +class LibrarySections(BaseModel): r"""OK""" media_container: Annotated[ - Optional[RequestHandlerSlashGetResponses200MediaContainer], - pydantic.Field(alias="MediaContainer"), + Optional[LibrarySectionsMediaContainer], pydantic.Field(alias="MediaContainer") ] = None diff --git a/src/plex_api_client/models/operations/getsectionsprefs.py b/src/plex_api_client/models/operations/getsectionsprefs.py index a121a9f..9a712cd 100644 --- a/src/plex_api_client/models/operations/getsectionsprefs.py +++ b/src/plex_api_client/models/operations/getsectionsprefs.py @@ -4,7 +4,7 @@ from __future__ import annotations import httpx from plex_api_client.models.components import ( accepts as components_accepts, - requesthandler_slash_get_responses_200 as components_requesthandler_slash_get_responses_200, + librarysections as components_librarysections, ) from plex_api_client.types import BaseModel from plex_api_client.utils import FieldMetadata, HeaderMetadata, QueryParamMetadata @@ -241,9 +241,7 @@ class GetSectionsPrefsResponseTypedDict(TypedDict): r"""HTTP response status code for this operation""" raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - request_handler_slash_get_responses_200: NotRequired[ - components_requesthandler_slash_get_responses_200.RequestHandlerSlashGetResponses200TypedDict - ] + library_sections: NotRequired[components_librarysections.LibrarySectionsTypedDict] r"""OK""" @@ -257,7 +255,5 @@ class GetSectionsPrefsResponse(BaseModel): raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - request_handler_slash_get_responses_200: Optional[ - components_requesthandler_slash_get_responses_200.RequestHandlerSlashGetResponses200 - ] = None + library_sections: Optional[components_librarysections.LibrarySections] = None r"""OK""" diff --git a/src/plex_api_client/models/operations/stopallrefreshes.py b/src/plex_api_client/models/operations/stopallrefreshes.py index 055ada0..d10cb13 100644 --- a/src/plex_api_client/models/operations/stopallrefreshes.py +++ b/src/plex_api_client/models/operations/stopallrefreshes.py @@ -3,7 +3,7 @@ from __future__ import annotations import httpx from plex_api_client.models.components import ( - requesthandler_slash_get_responses_200 as components_requesthandler_slash_get_responses_200, + librarysections as components_librarysections, ) from plex_api_client.types import BaseModel from typing import Optional @@ -17,9 +17,7 @@ class StopAllRefreshesResponseTypedDict(TypedDict): r"""HTTP response status code for this operation""" raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - request_handler_slash_get_responses_200: NotRequired[ - components_requesthandler_slash_get_responses_200.RequestHandlerSlashGetResponses200TypedDict - ] + library_sections: NotRequired[components_librarysections.LibrarySectionsTypedDict] r"""OK""" @@ -33,7 +31,5 @@ class StopAllRefreshesResponse(BaseModel): raw_response: httpx.Response r"""Raw HTTP response; suitable for custom response parsing""" - request_handler_slash_get_responses_200: Optional[ - components_requesthandler_slash_get_responses_200.RequestHandlerSlashGetResponses200 - ] = None + library_sections: Optional[components_librarysections.LibrarySections] = None r"""OK""" diff --git a/src/plex_api_client/sdk.py b/src/plex_api_client/sdk.py index 326a140..e563c3c 100644 --- a/src/plex_api_client/sdk.py +++ b/src/plex_api_client/sdk.py @@ -218,7 +218,7 @@ class PlexAPI(BaseSDK): port: Optional[str] = None, protocol: Optional[str] = None, host: Optional[str] = None, - server_url_server: Optional[str] = None, + full_server_url: Optional[str] = None, server_idx: Optional[int] = None, server_url: Optional[str] = None, url_params: Optional[Dict[str, str]] = None, @@ -247,7 +247,7 @@ class PlexAPI(BaseSDK): :param port: Allows setting the port variable for url substitution :param protocol: Allows setting the protocol variable for url substitution :param host: Allows setting the host variable for url substitution - :param server_url_server: Allows setting the server_url variable for url substitution + :param full_server_url: Allows setting the full_server_url variable for url substitution :param server_idx: The index of the server to use for all methods :param server_url: The server URL to use for all methods :param url_params: Parameters to optionally template the server URL with @@ -299,7 +299,7 @@ class PlexAPI(BaseSDK): "port": port or "32400", }, { - "server_url": server_url_server or "http://localhost:32400", + "full_server_url": full_server_url or "http://localhost:32400", }, ]