コード例 #1
0
def unlock(project_dir, env_spec_name):
    """Unlock dependency versions."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1
    status = project_ops.unlock(project, env_spec_name=env_spec_name)
    return _handle_status(status)
コード例 #2
0
ファイル: init.py プロジェクト: kaydoh/anaconda-project
def init_command(project_dir, assume_yes, with_anaconda_package):
    """Initialize a new project.

    Returns:
        Exit code (0 on success)
    """
    # we don't want False right now because either you specify
    # --yes or we go with the default in project_ops.create
    # (depends on whether project file already exists).
    assert assume_yes is None or assume_yes is True
    assert with_anaconda_package is None or with_anaconda_package is True

    if not os.path.exists(project_dir):
        if assume_yes:
            make_directory = True
        else:
            make_directory = console_ask_yes_or_no("Create directory '%s'?" % project_dir, default=False)
    else:
        make_directory = False

    project = project_ops.create(project_dir,
                                 make_directory=make_directory,
                                 fix_problems=assume_yes,
                                 with_anaconda_package=with_anaconda_package)
    if print_project_problems(project):
        return 1
    else:
        print("Project configuration is in %s" % project.project_file.filename)
        return 0
コード例 #3
0
def prepare_command(project_dir,
                    ui_mode,
                    conda_environment,
                    command_name,
                    all=False,
                    refresh=False):
    """Configure the project to run.

    Returns:
        Prepare result (can be treated as True on success).
    """
    project = load_project(project_dir)
    project_dir = project.directory_path
    if console_utils.print_project_problems(project):
        return False
    if all:
        specs = project.env_specs
    else:
        specs = {conda_environment: project.env_specs.get(conda_environment)}
    result = True
    for k, v in specs.items():
        if not prepare_with_ui_mode_printing_errors(project,
                                                    env_spec_name=k,
                                                    ui_mode=ui_mode,
                                                    command_name=command_name,
                                                    refresh=refresh):
            result = False
    return result
コード例 #4
0
def list_env_specs(project_dir):
    """List environments in the project."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1
    print("Environments for project: {}\n".format(project_dir))
    console_utils.print_names_and_descriptions(project.env_specs.values())
    return 0
コード例 #5
0
def list_variables(project_dir, env_spec_name):
    """List variables present in project."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1
    print("Variables for project: {}\n".format(project_dir))
    console_utils.print_names_and_descriptions(project.all_variable_requirements(env_spec_name), name_attr='env_var')
    return 0
コード例 #6
0
def list_downloads(project_dir, env_spec_name):
    """List the downloads present in project."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1

    if project.downloads(env_spec_name):
        print("Downloads for project: {}\n".format(project_dir))
        console_utils.print_names_and_descriptions(project.download_requirements(env_spec_name), name_attr='title')
    else:
        print("No downloads found in project.")
    return 0
コード例 #7
0
def list_services(project_dir, env_spec_name):
    """List the services listed on the project."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1

    if project.services(env_spec_name):
        print("Services for project: {}\n".format(project_dir))
        console_utils.print_names_and_descriptions(project.service_requirements(env_spec_name), name_attr='title')
    else:
        print("No services found for project: {}".format(project_dir))
    return 0
コード例 #8
0
def list_platforms(project_dir, environment):
    """List the platforms for an environment in the project."""
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1
    if environment is None:
        environment = project.default_env_spec_name
    env = project.env_specs.get(environment, None)
    if env is None:
        print("Project doesn't have an environment called '{}'".format(environment), file=sys.stderr)
        return 1
    print("Platforms for environment '{}':\n".format(env.name))
    print("\n".join(sorted(env.platforms)), end='\n\n')
    return 0
コード例 #9
0
def prepare_command(project_dir, ui_mode, conda_environment, command_name):
    """Configure the project to run.

    Returns:
        Prepare result (can be treated as True on success).
    """
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return False
    result = prepare_with_ui_mode_printing_errors(
        project,
        env_spec_name=conda_environment,
        ui_mode=ui_mode,
        command_name=command_name)

    return result
コード例 #10
0
def list_commands(project_dir):
    """List the commands on the project.

    Returns:
        int exit code
    """
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return 1

    if project.commands:
        print("Commands for project: {}\n".format(project_dir))
        console_utils.print_names_and_descriptions(project.commands.values())
    else:
        print("No commands found for project: {}\n".format(project_dir))
    return 0
コード例 #11
0
def prepare_command(project_dir,
                    ui_mode,
                    conda_environment,
                    command_name,
                    all=False,
                    refresh=False):
    """Configure the project to run.

    Returns:
        Prepare result (can be treated as True on success).
    """
    project = load_project(project_dir)
    if console_utils.print_project_problems(project):
        return False
    if all:
        result = []
        for k, v in project.env_specs.items():
            if refresh:
                _remove_env_path(v.path(project.directory_path))
            result = prepare_with_ui_mode_printing_errors(
                project,
                env_spec_name=k,
                ui_mode=ui_mode,
                command_name=command_name)
    else:
        if refresh:
            conda_environment = 'default' if conda_environment is None else conda_environment
            _remove_env_path(project.env_specs[conda_environment].path(
                project.directory_path))
        result = prepare_with_ui_mode_printing_errors(
            project,
            env_spec_name=conda_environment,
            ui_mode=ui_mode,
            command_name=command_name)

    return result