def get(self, url, format=None, force_codec=False): link = Link(url, action='get') decoders = self.decoders if format: force_codec = True decoders = [decoder for decoder in self.decoders if decoder.format == format] if not decoders: installed_codecs = get_installed_codecs() if format in installed_codecs: decoders = [installed_codecs[format]] else: raise ValueError("No decoder available with format='%s'" % format) # Perform the action, and return a new document. transport = determine_transport(self.transports, link.url) return transport.transition(link, decoders, force_codec=force_codec)
def get(self, url, format=None, force_codec=False): link = Link(url, action="get") decoders = self.decoders if format: force_codec = True decoders = [ decoder for decoder in self.decoders if decoder.format == format ] if not decoders: installed_codecs = get_installed_codecs() if format in installed_codecs: decoders = [installed_codecs[format]] else: raise ValueError("No decoder available with format='%s'" % format) # Perform the action, and return a new document. transport = determine_transport(self.transports, link.url) return transport.transition(link, decoders, force_codec=force_codec)
import click from coreapi.utils import get_installed_codecs from apistar import schema codecs = { name: codec for name, codec in get_installed_codecs().items() if '+' in codec.media_type } class Format(schema.String): description = 'The format for the API Schema output.' default = 'corejson' choices = list(codecs.keys()) def schema(format: Format) -> None: # pragma: nocover """ Output an API Schema. """ from apistar.main import get_current_app from apistar.apischema import APISchema app = get_current_app() schema = APISchema.build(app) codec = codecs[format] output = codec.encode(schema) click.echo(output)
import click from coreapi.utils import get_installed_codecs from apistar import schema codecs = { name: codec for name, codec in get_installed_codecs().items() if '+' in codec.media_type } class Format(schema.String): description = 'The format for the API Schema output.' default = 'corejson' choices = list(codecs.keys()) def schema(format: Format) -> None: # pragma: nocover """ Output an API Schema. """ from apistar.cli import get_current_app from apistar.apischema import APISchema app = get_current_app() schema = APISchema.build(app) codec = codecs[format] output = codec.encode(schema) click.echo(output)