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)
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
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
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
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
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
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
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
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
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
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