Skip to content

Commit

Permalink
Merge pull request #205 from ferrouswheel/master
Browse files Browse the repository at this point in the history
Misc proto/grpc fixes
  • Loading branch information
astroseger authored Feb 4, 2019
2 parents e224ae1 + 8051767 commit 59e48ee
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 17 deletions.
33 changes: 18 additions & 15 deletions snet_cli/mpe_client_command.py
Original file line number Diff line number Diff line change
Expand Up @@ -71,20 +71,24 @@ def _transform_call_params(self, params):
"""
rez = {}
for k, v in params.items():
# k = modifier1@[email protected]@k_final
k_split = k.split("@")
k_final = k_split[-1]
k_mods = k_split[:-1]
for m in k_mods:
if (m == "file"):
with open(v, 'rb') as f:
v = f.read()
elif (m == "b64encode"):
v = base64.b64encode(v)
elif (m == "b64decode"):
v = base64.b64decode(v)
else:
raise Exception("Unknow modifier ('%s') in call parameters. Possible modifiers: file, b64encode, b64decode"%m)
if isinstance(v, dict):
v = self._transform_call_params(v)
k_final = k
else:
# k = modifier1@[email protected]@k_final
k_split = k.split("@")
k_final = k_split[-1]
k_mods = k_split[:-1]
for m in k_mods:
if (m == "file"):
with open(v, 'rb') as f:
v = f.read()
elif (m == "b64encode"):
v = base64.b64encode(v)
elif (m == "b64decode"):
v = base64.b64decode(v)
else:
raise Exception("Unknown modifier ('%s') in call parameters. Possible modifiers: file, b64encode, b64decode"%m)
rez[k_final] = v
return rez

Expand All @@ -110,7 +114,6 @@ def _call_server_via_grpc_channel(self, grpc_channel, nonce, amount, params, ser
("snet-payment-channel-nonce", str(nonce) ),
("snet-payment-channel-amount", str(amount) ),
("snet-payment-channel-signature-bin", bytes(signature))]

response = call_fn(request, metadata=metadata)
return response

Expand Down
5 changes: 3 additions & 2 deletions snet_cli/utils_proto.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,10 @@ def _import_protobuf_from_file(grpc_pyfile, method_name, service_name = None):
service_descriptor = getattr(pb2, "DESCRIPTOR").services_by_name[service_name]
for method in service_descriptor.methods:
if(method.name == method_name):
request_class = getattr(pb2, method.input_type.name)
response_class = getattr(pb2, method.output_type.name)
request_class = method.input_type._concrete_class
response_class = method.output_type._concrete_class
stub_class = getattr(pb2_grpc, "%sStub"%service_name)

found_services.append(service_name)
if (len(found_services) == 0):
return False, None
Expand Down

0 comments on commit 59e48ee

Please sign in to comment.