Skip to content

Commit 9f7d925

Browse files
authored
Merge pull request #53 from rocklabs-io/refine_update
refine update call
2 parents 981f2fc + 4761165 commit 9f7d925

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

ic/agent.py

+9-3
Original file line numberDiff line numberDiff line change
@@ -75,10 +75,12 @@ def update_raw(self, canister_id, method_name, arg, return_type = None, effectiv
7575
_ = self.call_endpoint(eid, req_id, data)
7676
# print('update.req_id:', req_id.hex())
7777
status, result = self.poll(eid, req_id, **kwargs)
78-
if status != 'replied':
79-
return status
80-
else:
78+
if status == 'rejected':
79+
raise Exception('Rejected: ' + result.decode())
80+
elif status == 'replied':
8181
return decode(result, return_type)
82+
else:
83+
raise Exception('Timeout to poll result, current status: ' + str(status))
8284

8385

8486

@@ -121,5 +123,9 @@ def poll(self, canister_id, req_id, delay=1, timeout=float('inf')):
121123
path = ['request_status'.encode(), req_id, 'reply'.encode()]
122124
res = lookup(path, cert)
123125
return status, res
126+
elif status == 'rejected':
127+
path = ['request_status'.encode(), req_id, 'reject_message'.encode()]
128+
msg = lookup(path, cert)
129+
return status, msg
124130
else:
125131
return status, _

0 commit comments

Comments
 (0)