uipath 2.0.49__tar.gz → 2.0.51__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of uipath might be problematic. Click here for more details.
- {uipath-2.0.49 → uipath-2.0.51}/PKG-INFO +1 -1
- {uipath-2.0.49 → uipath-2.0.51}/pyproject.toml +1 -1
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_processes.py +15 -5
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_auth.py +25 -16
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_invoke.py +4 -4
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_publish.py +10 -3
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/buckets_service.py +14 -23
- {uipath-2.0.49 → uipath-2.0.51}/uv.lock +1 -1
- {uipath-2.0.49 → uipath-2.0.51}/.cursorrules +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.editorconfig +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.gitattributes +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/build.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/cd.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/ci.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/commitlint.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/lint.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/publish-dev.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/publish-docs.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/slack.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.github/workflows/test.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.gitignore +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.pre-commit-config.yaml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.python-version +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.vscode/extensions.json +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/.vscode/settings.json +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/CONTRIBUTING.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/LICENSE +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/README.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/CONTRIBUTING.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/assets/favicon.png +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/assets/logo-dark.svg +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/assets/logo-light.svg +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/cli/index.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/actions.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/assets.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/buckets.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/connections.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/context_grounding.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/getting_started.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/jobs.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/processes.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/core/queues.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/hooks.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/javascripts/extra.js +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/chat_models.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/context_grounding.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/langchain/human_in_the_loop.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/overrides/partials/logo.html +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/release_policy.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/docs/stylesheets/extra.css +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/justfile +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/mkdocs.yml +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/py.typed +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/README.md +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_auth_server.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_models.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_oidc_utils.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_portal_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/_utils.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/auth_config.json +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/index.html +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/localhost.crt +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_auth/localhost.key +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_contracts.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_logging.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_runtime/_runtime.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/.psmdcp.template +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/.rels.template +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/[Content_Types].xml.template +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/main.py.template +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_templates/package.nuspec.template +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_common.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_console.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_folders.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_input_args.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/_utils/_parse_ast.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_deploy.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_init.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_new.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_pack.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/cli_run.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/middlewares.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_cli/spinner.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_config.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_execution_context.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_folder_context.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/_base_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/actions_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/api_client.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/assets_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/connections_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/context_grounding_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/folder_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/jobs_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/llm_gateway_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/processes_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_services/queues_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_uipath.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_endpoint.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_infer_bindings.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_logs.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_read_overwrites.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_request_override.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_request_spec.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/_user_agent.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/_utils/constants.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/action_schema.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/actions.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/assets.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/buckets.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/connections.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/context_grounding.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/context_grounding_index.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/errors.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/exceptions.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/interrupt_models.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/job.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/llm_gateway.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/processes.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/models/queues.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/py.typed +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_otel_exporters.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_traced.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/src/uipath/tracing/_utils.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/__init__.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/cli/test_init.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/conftest.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_llm_integration.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_llm_service.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/services/test_uipath_llm_integration.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/test_config.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/sdk/test_overwrites.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_otel_exporters.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_span_utils.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_traced.py +0 -0
- {uipath-2.0.49 → uipath-2.0.51}/tests/tracing/test_tracing_manager.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: uipath
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.51
|
|
4
4
|
Summary: Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools.
|
|
5
5
|
Project-URL: Homepage, https://uipath.com
|
|
6
6
|
Project-URL: Repository, https://github.com/UiPath/uipath-python
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "uipath"
|
|
3
|
-
version = "2.0.
|
|
3
|
+
version = "2.0.51"
|
|
4
4
|
description = "Python SDK and CLI for UiPath Platform, enabling programmatic interaction with automation services, process management, and deployment tools."
|
|
5
5
|
readme = { file = "README.md", content-type = "text/markdown" }
|
|
6
6
|
requires-python = ">=3.10"
|
|
@@ -8,28 +8,38 @@ from ._console import ConsoleLogger
|
|
|
8
8
|
|
|
9
9
|
console = ConsoleLogger()
|
|
10
10
|
client = httpx.Client(follow_redirects=True, timeout=30.0)
|
|
11
|
+
odata_top_filter = 25
|
|
11
12
|
|
|
12
13
|
|
|
13
14
|
def get_release_info(
|
|
14
|
-
base_url: str,
|
|
15
|
+
base_url: str,
|
|
16
|
+
token: str,
|
|
17
|
+
package_name: str,
|
|
18
|
+
package_version: str,
|
|
19
|
+
folder_id: str,
|
|
15
20
|
) -> None | tuple[Any, Any] | tuple[None, None]:
|
|
16
21
|
headers = {
|
|
17
22
|
"Authorization": f"Bearer {token}",
|
|
18
23
|
"x-uipath-organizationunitid": str(folder_id),
|
|
19
24
|
}
|
|
20
25
|
|
|
21
|
-
release_url = f"{base_url}/orchestrator_/odata/Releases/UiPath.Server.Configuration.OData.ListReleases?$select=Id,Key&$top=
|
|
26
|
+
release_url = f"{base_url}/orchestrator_/odata/Releases/UiPath.Server.Configuration.OData.ListReleases?$select=Id,Key,ProcessVersion&$top={odata_top_filter}&$filter=ProcessKey%20eq%20%27{urllib.parse.quote(package_name)}%27"
|
|
22
27
|
response = client.get(release_url, headers=headers)
|
|
23
28
|
if response.status_code == 200:
|
|
24
29
|
try:
|
|
25
30
|
data = json.loads(response.text)
|
|
26
|
-
|
|
27
|
-
|
|
31
|
+
process = next(
|
|
32
|
+
process
|
|
33
|
+
for process in data["value"]
|
|
34
|
+
if process["ProcessVersion"] == package_version
|
|
35
|
+
)
|
|
36
|
+
release_id = process["Id"]
|
|
37
|
+
release_key = process["Key"]
|
|
28
38
|
return release_id, release_key
|
|
29
39
|
except KeyError:
|
|
30
40
|
console.warning("Warning: Failed to deserialize release data")
|
|
31
41
|
return None, None
|
|
32
|
-
except
|
|
42
|
+
except StopIteration:
|
|
33
43
|
console.error(
|
|
34
44
|
f"Error: No process with name '{package_name}' found in your workspace. Please publish the process first."
|
|
35
45
|
)
|
|
@@ -56,25 +56,34 @@ def set_port():
|
|
|
56
56
|
|
|
57
57
|
@click.command()
|
|
58
58
|
@environment_options
|
|
59
|
-
|
|
59
|
+
@click.option(
|
|
60
|
+
"-f",
|
|
61
|
+
"--force",
|
|
62
|
+
is_flag=True,
|
|
63
|
+
required=False,
|
|
64
|
+
help="Force new token",
|
|
65
|
+
)
|
|
66
|
+
def auth(domain, force: None | bool = False):
|
|
60
67
|
"""Authenticate with UiPath Cloud Platform."""
|
|
61
68
|
with console.spinner("Authenticating with UiPath ..."):
|
|
62
69
|
portal_service = PortalService(domain)
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
70
|
+
|
|
71
|
+
if not force:
|
|
72
|
+
if (
|
|
73
|
+
os.getenv("UIPATH_URL")
|
|
74
|
+
and os.getenv("UIPATH_TENANT_ID")
|
|
75
|
+
and os.getenv("UIPATH_ORGANIZATION_ID")
|
|
76
|
+
):
|
|
77
|
+
try:
|
|
78
|
+
portal_service.ensure_valid_token()
|
|
79
|
+
console.success(
|
|
80
|
+
"Authentication successful.",
|
|
81
|
+
)
|
|
82
|
+
return
|
|
83
|
+
except Exception:
|
|
84
|
+
console.info(
|
|
85
|
+
"Authentication token is invalid. Please reauthenticate.",
|
|
86
|
+
)
|
|
78
87
|
|
|
79
88
|
auth_url, code_verifier, state = get_auth_url(domain)
|
|
80
89
|
|
|
@@ -24,7 +24,7 @@ console = ConsoleLogger()
|
|
|
24
24
|
client = httpx.Client(follow_redirects=True, timeout=30.0)
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
def
|
|
27
|
+
def _read_project_details() -> [str, str]:
|
|
28
28
|
current_path = os.getcwd()
|
|
29
29
|
toml_path = os.path.join(current_path, "pyproject.toml")
|
|
30
30
|
if not os.path.isfile(toml_path):
|
|
@@ -37,7 +37,7 @@ def _read_project_name() -> str:
|
|
|
37
37
|
if "name" not in content["project"]:
|
|
38
38
|
console.error("pyproject.toml is missing the required field: project.name.")
|
|
39
39
|
|
|
40
|
-
return content["project"]["name"]
|
|
40
|
+
return content["project"]["name"], content["project"]["version"]
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
@click.command()
|
|
@@ -67,7 +67,7 @@ def invoke(
|
|
|
67
67
|
|
|
68
68
|
url = f"{base_url}/orchestrator_/odata/Jobs/UiPath.Server.Configuration.OData.StartJobs"
|
|
69
69
|
_, personal_workspace_folder_id = get_personal_workspace_info(base_url, token)
|
|
70
|
-
project_name =
|
|
70
|
+
project_name, project_version = _read_project_details()
|
|
71
71
|
|
|
72
72
|
if not personal_workspace_folder_id:
|
|
73
73
|
console.error(
|
|
@@ -75,7 +75,7 @@ def invoke(
|
|
|
75
75
|
)
|
|
76
76
|
|
|
77
77
|
_, release_key = get_release_info(
|
|
78
|
-
base_url, token, project_name, personal_workspace_folder_id
|
|
78
|
+
base_url, token, project_name, project_version, personal_workspace_folder_id
|
|
79
79
|
)
|
|
80
80
|
payload = {
|
|
81
81
|
"StartInfo": {
|
|
@@ -129,15 +129,22 @@ def publish(feed):
|
|
|
129
129
|
console.success("Package published successfully!")
|
|
130
130
|
|
|
131
131
|
if is_personal_workspace:
|
|
132
|
+
package_name = None
|
|
133
|
+
package_version = None
|
|
132
134
|
try:
|
|
133
|
-
data = json.loads(response.text)
|
|
134
|
-
package_name = json.loads(data
|
|
135
|
+
data = json.loads(response.text)["value"][0]["Body"]
|
|
136
|
+
package_name = json.loads(data)["Id"]
|
|
137
|
+
package_version = json.loads(data)["Version"]
|
|
135
138
|
except json.decoder.JSONDecodeError:
|
|
136
139
|
console.warning("Failed to deserialize package name")
|
|
137
140
|
if package_name is not None:
|
|
138
141
|
with console.spinner("Getting process information ..."):
|
|
139
142
|
release_id, _ = get_release_info(
|
|
140
|
-
base_url,
|
|
143
|
+
base_url,
|
|
144
|
+
token,
|
|
145
|
+
package_name,
|
|
146
|
+
package_version,
|
|
147
|
+
personal_workspace_feed_id,
|
|
141
148
|
)
|
|
142
149
|
if release_id:
|
|
143
150
|
process_url = f"{base_url}/orchestrator_/processes/{release_id}/edit?fid={personal_workspace_folder_id}"
|
|
@@ -390,15 +390,10 @@ class BucketsService(FolderContext, BaseService):
|
|
|
390
390
|
url=spec.endpoint,
|
|
391
391
|
params=spec.params,
|
|
392
392
|
headers=spec.headers,
|
|
393
|
-
)
|
|
394
|
-
except
|
|
393
|
+
).json()["value"][0]
|
|
394
|
+
except (KeyError, IndexError) as e:
|
|
395
395
|
raise Exception(f"Bucket with name '{name}' not found") from e
|
|
396
|
-
|
|
397
|
-
return Bucket.model_validate(response.json()["value"][0])
|
|
398
|
-
except KeyError as e:
|
|
399
|
-
raise Exception(
|
|
400
|
-
f"Error while deserializing bucket with name '{name}'"
|
|
401
|
-
) from e
|
|
396
|
+
return Bucket.model_validate(response)
|
|
402
397
|
|
|
403
398
|
@infer_bindings()
|
|
404
399
|
@traced(name="buckets_retrieve", run_type="uipath")
|
|
@@ -439,21 +434,17 @@ class BucketsService(FolderContext, BaseService):
|
|
|
439
434
|
)
|
|
440
435
|
|
|
441
436
|
try:
|
|
442
|
-
response =
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
except KeyError as e:
|
|
454
|
-
raise Exception(
|
|
455
|
-
f"Error while deserializing bucket with name '{name}'"
|
|
456
|
-
) from e
|
|
437
|
+
response = (
|
|
438
|
+
await self.request_async(
|
|
439
|
+
spec.method,
|
|
440
|
+
url=spec.endpoint,
|
|
441
|
+
params=spec.params,
|
|
442
|
+
headers=spec.headers,
|
|
443
|
+
)
|
|
444
|
+
).json()["value"][0]
|
|
445
|
+
except (KeyError, IndexError) as e:
|
|
446
|
+
raise Exception(f"Bucket with name '{name}' not found") from e
|
|
447
|
+
return Bucket.model_validate(response)
|
|
457
448
|
|
|
458
449
|
@property
|
|
459
450
|
def custom_headers(self) -> Dict[str, str]:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|