view env/lib/python3.9/site-packages/planemo/commands/cmd_shed_init.py @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
line wrap: on
line source

"""Module describing the planemo ``shed_init`` command."""
import sys

import click

from planemo import options
from planemo import shed
from planemo.cli import command_function


@click.command("shed_init")
@options.optional_project_arg()
@click.option(
    "--from_workflow",
    type=click.Path(exists=True, file_okay=True, resolve_path=True),
    help=('Attempt to generate repository dependencies from specified '
          'workflow.')
)
@click.option(
    "--description",
    help='Specify repository description for .shed.yml.'
)
@click.option(
    "--long_description",
    help='Specify repository long_description for .shed.yml.'
)
@click.option(
    "--remote_repository_url",
    help='Specify repository remote_repository_url for .shed.yml.'
)
@click.option(
    "--homepage_url",
    help='Specify repository homepage_url for .shed.yml.'
)
@click.option(
    "--category",
    multiple=True,
    help='Specify repository category for .shed.yml (may specify multiple).',
    type=click.Choice(shed.CURRENT_CATEGORIES)
)
@options.shed_repo_options()
@options.force_option()
@command_function
def cli(ctx, path, **kwds):
    """Bootstrap new Tool Shed .shed.yml file.

    This Tool Shed configuration file is used by other ``planemo`` commands
    such as ``shed_lint``, ``shed_create``, ``shed_upload``, and ``shed_diff``
    to manage repositories in a Galaxy Tool Shed.
    """
    exit_code = shed.shed_init(ctx, path, **kwds)
    sys.exit(exit_code)