pull/20812/head
Richard Belleville 6 years ago
parent 3196b8a8e0
commit 2ce31086aa
  1. 41
      src/python/grpcio/grpc/_channel.py

@ -249,6 +249,22 @@ def _consume_request_iterator(request_iterator, state, call, request_serializer,
consumption_thread.start()
def _rpc_state_string(class_name, rpc_state):
"""Calculates error string for RPC."""
with rpc_state.condition:
if rpc_state.code is None:
return '<{} object>'.format(
class_name)
elif rpc_state.code is grpc.StatusCode.OK:
return _OK_RENDEZVOUS_REPR_FORMAT.format(
class_name, rpc_state.code, rpc_state.details)
else:
return _NON_OK_RENDEZVOUS_REPR_FORMAT.format(
class_name, rpc_state.code, rpc_state.details,
rpc_state.debug_error_string)
class _RpcError(grpc.RpcError, grpc.Call):
"""An RPC error not tied to the execution of a particular RPC.
@ -278,19 +294,8 @@ class _RpcError(grpc.RpcError, grpc.Call):
with self._state.condition:
return _common.decode(self._state.debug_error_string)
# TODO: Dedupe.
def _repr(self):
with self._state.condition:
if self._state.code is None:
return '<{} object>'.format(
self.__class__.__name__)
elif self._state.code is grpc.StatusCode.OK:
return _OK_RENDEZVOUS_REPR_FORMAT.format(
self.__class__.__name__, self._state.code, self._state.details)
else:
return _NON_OK_RENDEZVOUS_REPR_FORMAT.format(
self.__class__.__name__, self._state.code, self._state.details,
self._state.debug_error_string)
return _rpc_state_string(self.__class__.__name__, self._state)
def __repr__(self):
return self._repr()
@ -389,17 +394,7 @@ class _Rendezvous(grpc.RpcError, grpc.Call):
raise NotImplementedError()
def _repr(self):
with self._state.condition:
if self._state.code is None:
return '<{} object of in-flight RPC>'.format(
self.__class__.__name__)
elif self._state.code is grpc.StatusCode.OK:
return _OK_RENDEZVOUS_REPR_FORMAT.format(
self.__class__.__name__, self._state.code, self._state.details)
else:
return _NON_OK_RENDEZVOUS_REPR_FORMAT.format(
self.__class__.__name__, self._state.code, self._state.details,
self._state.debug_error_string)
return _rpc_state_string(self.__class__.__name__, self._state)
def __repr__(self):
return self._repr()

Loading…
Cancel
Save