Ejemplo n.º 1
0
def reload_document(debug, format):
    doc = get_document()
    if doc is None:
        click.echo('No current document. Use `coreapi get` to fetch a document first.')
        sys.exit(1)

    if format:
        decoders = [codec_plugins.decoders[format]]
        force_codec = True
    else:
        decoders = codec_plugins.decoders.values()
        force_codec = False

    client = get_client(debug=debug, decoders=decoders)
    history = get_history()
    try:
        doc = client.reload(doc, force_codec=force_codec)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 2
0
def reload_document(debug, format):
    doc = get_document()
    if doc is None:
        click.echo(
            'No current document. Use `coreapi get` to fetch a document first.'
        )
        sys.exit(1)

    if format:
        decoders = [codec_plugins.decoders[format]]
        force_codec = True
    else:
        decoders = codec_plugins.decoders.values()
        force_codec = False

    client = get_client(debug=debug, decoders=decoders)
    history = get_history()
    try:
        doc = client.reload(doc, force_codec=force_codec)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 3
0
def action(path, params, strings, data, files, action, encoding, transform, debug):
    params = dict(params)
    params.update(dict(strings))
    params.update(dict(data))
    params.update(dict(files))

    if not path:
        click.echo('Missing PATH to a link in the document.')
        sys.exit(1)

    doc = get_document()
    if doc is None:
        click.echo('No current document. Use `coreapi get` to fetch a document first.')
        sys.exit(1)

    client = get_client(debug=debug)
    history = get_history()
    keys = coerce_key_types(doc, path)
    try:
        doc = client.action(
            doc, keys, params=params,
            action=action, encoding=encoding, transform=transform
        )
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    except coreapi.exceptions.LinkLookupError as exc:
        click.echo(exc)
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 4
0
def action(path, params, strings, data, files, action, encoding, transform, debug):
    params = dict(params)
    params.update(dict(strings))
    params.update(dict(data))
    params.update(dict(files))

    if not path:
        click.echo('Missing PATH to a link in the document.')
        sys.exit(1)

    doc = get_document()
    if doc is None:
        click.echo('No current document. Use `coreapi get` to fetch a document first.')
        sys.exit(1)

    client = get_client(debug=debug)
    history = get_history()
    keys = coerce_key_types(doc, path)
    try:
        doc = client.action(
            doc, keys, params=params,
            action=action, encoding=encoding, transform=transform
        )
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    except coreapi.exceptions.LinkLookupError as exc:
        click.echo(exc)
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 5
0
def history_forward():
    client = get_client()
    history = get_history()
    if history.is_at_most_recent:
        click.echo("Currently at most recent point in history. Cannot navigate forward.")
        return
    doc, history = history.forward()
    try:
        doc = client.reload(doc)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        set_document(doc)
        set_history(history)
Ejemplo n.º 6
0
def history_forward():
    client = get_client()
    history = get_history()
    if history.is_at_most_recent:
        click.echo("Currently at most recent point in history. Cannot navigate forward.")
        return
    doc, history = history.forward()
    try:
        doc = client.reload(doc)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        set_document(doc)
        set_history(history)
Ejemplo n.º 7
0
def bookmarks_get(name):
    bookmarks = get_bookmarks()
    bookmark = bookmarks.get(name)
    if bookmark is None:
        click.echo('Bookmark "%s" does not exist.' % name)
        return
    url = bookmark['url']

    client = get_client()
    history = get_history()
    try:
        doc = client.get(url)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 8
0
def get(url, debug, format):
    if format:
        decoders = [codec_plugins.decoders[format]]
        force_codec = True
    else:
        decoders = codec_plugins.decoders.values()
        force_codec = False

    client = get_client(decoders=decoders, debug=debug)
    history = get_history()
    try:
        doc = client.get(url, force_codec=force_codec)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 9
0
def bookmarks_get(name):
    bookmarks = get_bookmarks()
    bookmark = bookmarks.get(name)
    if bookmark is None:
        click.echo('Bookmark "%s" does not exist.' % name)
        return
    url = bookmark['url']

    client = get_client()
    history = get_history()
    try:
        doc = client.get(url)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 10
0
def get(url, debug, format):
    if format:
        decoders = [codec_plugins.decoders[format]]
        force_codec = True
    else:
        decoders = codec_plugins.decoders.values()
        force_codec = False

    client = get_client(decoders=decoders, debug=debug)
    history = get_history()
    try:
        doc = client.get(url, force_codec=force_codec)
    except coreapi.exceptions.ErrorMessage as exc:
        click.echo(display(exc.error))
        sys.exit(1)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 11
0
def load(input_file, format):
    input_bytes = input_file.read()
    input_file.close()
    decoder = codec_plugins.decoders[format]

    history = get_history()
    doc = decoder.load(input_bytes)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 12
0
def load(input_file, format):
    input_bytes = input_file.read()
    input_file.close()
    decoder = codec_plugins.decoders[format]

    history = get_history()
    doc = decoder.decode(input_bytes)
    click.echo(display(doc))
    if isinstance(doc, coreapi.Document):
        history = history.add(doc)
        set_document(doc)
        set_history(history)
Ejemplo n.º 13
0
def show(path):
    doc = get_document()
    if doc is None:
        click.echo('No current document. Use `coreapi get` to fetch a document first.')
        sys.exit(1)

    if path:
        keys = coerce_key_types(doc, path)
        for key in keys:
            try:
                doc = doc[key]
            except (KeyError, IndexError):
                click.echo('Key %s not found.' % repr(key).strip('u'))
                sys.exit(1)
    click.echo(display(doc))
Ejemplo n.º 14
0
def show(path):
    doc = get_document()
    if doc is None:
        click.echo('No current document. Use `coreapi get` to fetch a document first.')
        sys.exit(1)

    if path:
        keys = coerce_key_types(doc, path)
        for key in keys:
            try:
                doc = doc[key]
            except (KeyError, IndexError):
                click.echo('Key %s not found.' % repr(key).strip('u'))
                sys.exit(1)
    click.echo(display(doc))