示例#1
0
    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)
示例#2
0
    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)
示例#3
0
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)