Esempio n. 1
0
 def __getattr__(self, attr):
     with self._lock:
         if self._pool is None:
             raise ValueError("Tried to __getattr__ non-__enter__ed Stub!")
         else:
             method_cardinality = self._breakdown.cardinalities.get(attr)
             underlying_attr = getattr(self._understub, self._breakdown.qualified_names.get(attr), None)
             if method_cardinality is interfaces.Cardinality.UNARY_UNARY:
                 return _reexport.unary_unary_sync_async(underlying_attr)
             elif method_cardinality is interfaces.Cardinality.UNARY_STREAM:
                 return lambda request, timeout: _reexport.cancellable_iterator(underlying_attr(request, timeout))
             elif method_cardinality is interfaces.Cardinality.STREAM_UNARY:
                 return _reexport.stream_unary_sync_async(underlying_attr)
             elif method_cardinality is interfaces.Cardinality.STREAM_STREAM:
                 return lambda request_iterator, timeout: (
                     _reexport.cancellable_iterator(underlying_attr(request_iterator, timeout))
                 )
             else:
                 raise AttributeError(attr)
Esempio n. 2
0
 def __getattr__(self, attr):
     with self._lock:
         if self._pool is None:
             raise ValueError('Tried to __getattr__ non-__enter__ed Stub!')
         else:
             method_cardinality = self._breakdown.cardinalities.get(attr)
             underlying_attr = getattr(
                 self._understub, self._breakdown.qualified_names.get(attr),
                 None)
             if method_cardinality is interfaces.Cardinality.UNARY_UNARY:
                 return _reexport.unary_unary_sync_async(underlying_attr)
             elif method_cardinality is interfaces.Cardinality.UNARY_STREAM:
                 return lambda request, timeout: _reexport.cancellable_iterator(
                     underlying_attr(request, timeout))
             elif method_cardinality is interfaces.Cardinality.STREAM_UNARY:
                 return _reexport.stream_unary_sync_async(underlying_attr)
             elif method_cardinality is interfaces.Cardinality.STREAM_STREAM:
                 return lambda request_iterator, timeout: (
                     _reexport.cancellable_iterator(
                         underlying_attr(request_iterator, timeout)))
             else:
                 raise AttributeError(attr)