def new_func(ctx, log_level, *args, **kwargs): if log_level == 'info': log_level = logging.INFO elif log_level == 'debug': log_level = logging.DEBUG elif log_level == 'error': log_level = logging.ERROR setup_logging(log_level) ctx.obj['log_level'] = log_level return ctx.invoke(func, *args, **kwargs)
def new_func(ctx, settingsfile, log_level, *args, **kwargs): if 'log_level' not in ctx.obj: if log_level == 'info': log_level = logging.INFO elif log_level == 'debug': log_level = logging.DEBUG elif log_level == 'warning': log_level = logging.WARNING elif log_level == 'error': log_level = logging.ERROR setup_logging(log_level) ctx.obj['log_level'] = log_level if 'project' not in ctx.obj: if settingsfile: project = Project.from_file(settingsfile) else: project = Project.from_dir(path=ctx.obj['cwd']) ctx.obj['project'] = project return ctx.invoke(func, *args, **kwargs)
import os import sys import logging import traceback import subprocess from functools import update_wrapper import click from datasciencebox.core.project import Project from datasciencebox.core.exceptions import DSBException from datasciencebox.core.sync import RsyncHandler, loop as sync_loop from datasciencebox.core.logger import setup_logging setup_logging() def start(): try: main(obj={}) except DSBException as e: click.echo('ERROR: %s' % e, err=True) sys.exit(1) except KeyboardInterrupt: click.echo( "Interrupted by Ctrl-C. One or more actions could be still running in the cluster") sys.exit(1) except Exception as e: click.echo(traceback.format_exc(), err=True) sys.exit(1)