Skip to content

Commit 16cd6ba

Browse files
authored
fix: resolution_context while resolving uri (#253)
1 parent e4be900 commit 16cd6ba

File tree

24 files changed

+169
-103
lines changed

24 files changed

+169
-103
lines changed

packages/config-bundles/polywrap-sys-config-bundle/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/config-bundles/polywrap-web3-config-bundle/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/plugins/polywrap-ethereum-wallet/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/plugins/polywrap-fs-plugin/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/plugins/polywrap-http-plugin/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/polywrap-client-config-builder/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/polywrap-client/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/polywrap-client/polywrap_client/client.py

Lines changed: 34 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
from polywrap_manifest import AnyWrapManifest, DeserializeManifestOptions
2121
from polywrap_msgpack import msgpack_decode, msgpack_encode
2222

23-
from polywrap_client.errors import WrapNotFoundError
23+
from .errors import WrapNotFoundError
2424

2525

2626
class PolywrapClient(Client):
@@ -222,7 +222,20 @@ def invoke(
222222
"""
223223
resolution_context = resolution_context or UriResolutionContext()
224224
load_wrapper_context = resolution_context.create_sub_history_context()
225-
wrapper = self.load_wrapper(uri, resolution_context=load_wrapper_context)
225+
226+
try:
227+
wrapper = self.load_wrapper(uri, resolution_context=load_wrapper_context)
228+
except Exception as err:
229+
resolution_context.track_step(
230+
UriResolutionStep(
231+
source_uri=uri,
232+
result=uri,
233+
description=f"Client.load_wrapper - Error: {err.__class__.__name__}",
234+
sub_history=load_wrapper_context.get_history(),
235+
)
236+
)
237+
raise err
238+
226239
wrapper_resolution_path = load_wrapper_context.get_resolution_path()
227240
wrapper_resolved_uri = wrapper_resolution_path[-1]
228241

@@ -241,14 +254,25 @@ def invoke(
241254

242255
wrapper_invoke_context = resolution_context.create_sub_history_context()
243256

244-
invocable_result = wrapper.invoke(
245-
uri=wrapper_resolved_uri,
246-
method=method,
247-
args=args,
248-
env=env,
249-
resolution_context=wrapper_invoke_context,
250-
client=self,
251-
)
257+
try:
258+
invocable_result = wrapper.invoke(
259+
uri=wrapper_resolved_uri,
260+
method=method,
261+
args=args,
262+
env=env,
263+
resolution_context=wrapper_invoke_context,
264+
client=self,
265+
)
266+
except Exception as err:
267+
resolution_context.track_step(
268+
UriResolutionStep(
269+
source_uri=wrapper_resolved_uri,
270+
result=wrapper_resolved_uri,
271+
description=f"Wrapper.invoke - Error: {err.__class__.__name__}",
272+
sub_history=wrapper_invoke_context.get_history(),
273+
)
274+
)
275+
raise err
252276

253277
resolution_context.track_step(
254278
UriResolutionStep(

packages/polywrap-client/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ testpaths = [
5353
[tool.pylint]
5454
disable = [
5555
"too-many-arguments",
56+
"too-many-locals",
5657
]
5758
ignore = [
5859
"tests/"

packages/polywrap-core/poetry.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)