def init(ctx, project_name, no_usage_stats): """ Creates a new Meltano project """ if ctx.obj["project"]: logging.warning(f"Found meltano project at: {ctx.obj['project'].root}") raise click.ClickException( "`meltano init` cannot run inside a Meltano project.") init_service = ProjectInitService(project_name) try: project = init_service.init() init_service.echo_instructions() tracker = GoogleAnalyticsTracker(project) if no_usage_stats: tracker.update_permission_to_track(False) else: tracker.track_meltano_init(project_name=project_name) except ProjectInitServiceError as e: click.secho(f"Directory {project_name} already exists!", fg="red") raise click.Abort() except SubprocessError as proc_err: click.secho(str(proc_err), fg="red") stderr = proc_err.process.stderr if not isinstance(stderr, str): stderr = stderr.read() click.secho(stderr, err=True) raise click.Abort()
def init(ctx, project_name, no_usage_stats): if ctx.obj["project"]: logging.warning(f"Found meltano project at: {ctx.obj['project'].root}") raise click.ClickException( "`meltano init` cannot run inside a Meltano project." ) init_service = ProjectInitService(project_name) try: project = init_service.init() init_service.echo_instructions() tracker = GoogleAnalyticsTracker(project) if no_usage_stats: tracker.update_permission_to_track(False) else: tracker.track_meltano_init(project_name=project_name) except ProjectInitServiceError as e: click.secho(f"Directory {project_name} already exists!", fg="red") raise click.Abort()
def init(ctx, project_name, no_usage_stats): """ Creates a new Meltano project """ if ctx.obj["project"]: logging.warning(f"Found meltano project at: {ctx.obj['project'].root}") raise CliError("`meltano init` cannot run inside a Meltano project.") if no_usage_stats: ProjectSettingsService.config_override[ "send_anonymous_usage_stats"] = False init_service = ProjectInitService(project_name) try: project = init_service.init() init_service.echo_instructions() tracker = GoogleAnalyticsTracker(project) tracker.track_meltano_init(project_name=project_name) except SubprocessError as err: logger.error(err.stderr) raise
def project_init_service(): return ProjectInitService(PROJECT_NAME)