def get_default_transports(): return [transports.HTTPTransport()]
def get_default_transports(auth=None, session=None): return [transports.HTTPTransport(auth=auth, session=session)]
class Client(itypes.Object): DEFAULT_TRANSPORTS = [transports.HTTPTransport()] DEFAULT_DECODERS = [ codecs.CoreJSONCodec(), codecs.JSONCodec(), codecs.TextCodec() ] def __init__(self, decoders=None, transports=None): if decoders is None: decoders = self.DEFAULT_DECODERS if transports is None: transports = self.DEFAULT_TRANSPORTS self._decoders = itypes.List(decoders) self._transports = itypes.List(transports) @property def decoders(self): return self._decoders @property def transports(self): return self._transports def get(self, url, force_codec=False): link = Link(url, action='get') # Perform the action, and return a new document. transport = determine_transport(self.transports, link.url) return transport.transition(link, self.decoders, force_codec=force_codec) def reload(self, document, force_codec=False): url = document.url link = Link(url, action='get') # Perform the action, and return a new document. transport = determine_transport(self.transports, link.url) return transport.transition(link, self.decoders, force_codec=force_codec) def action(self, document, keys, params=None, action=None, encoding=None, transform=None): if isinstance(keys, string_types): keys = [keys] # Validate the keys and link parameters. link, link_ancestors = _lookup_link(document, keys) if (action is not None) or (encoding is not None) or (transform is not None): # Handle any explicit overrides. action = link.action if (action is None) else action encoding = link.encoding if (encoding is None) else encoding transform = link.transform if (transform is None) else transform link = Link(link.url, action=action, encoding=encoding, transform=transform, fields=link.fields) # Perform the action, and return a new document. transport = determine_transport(self.transports, link.url) return transport.transition(link, self.decoders, params=params, link_ancestors=link_ancestors)