Source code for data_pipelines_cli.cli_commands.update

import click
import copier
from copier.config.objects import NoSrcPathError

from data_pipelines_cli.cli_utils import echo_warning
from data_pipelines_cli.errors import NotAProjectDirectoryError


[docs]def update(project_path: str, vcs_ref: str) -> None: """ Update an existing project from its template :param project_path: Path to a directory to create :type project_path: str :param vcs_ref: Git reference to checkout in projects template :type vcs_ref: str """ try: copier.copy(dst_path=project_path, vcs_ref=vcs_ref, force=True) except NoSrcPathError: raise NotAProjectDirectoryError(project_path)
@click.command(name="update", help="Update project from its template") @click.argument("project-path", nargs=-1) @click.option("--vcs-ref", default="HEAD", type=str, help="Git reference to checkout") def update_command(project_path: str, vcs_ref: str) -> None: if len(project_path) > 1: echo_warning("dp expects at most 1 argument -- project-path") update(project_path[0] if project_path else ".", vcs_ref)