コード例 #1
0
ファイル: dispatch.py プロジェクト: gbuesing/couchapp
def _dispatch(args):
    conf = Config()

    # update commands
    for mod in conf.extensions:
        cmdtable = getattr(mod, 'cmdtable', {})
        commands.table.update(cmdtable)
        
    cmd, globalopts, opts, args = _parse(args)
        
    if globalopts["help"]:
        del globalopts["help"]
        return commands.usage(conf, *args, **globalopts)
    elif globalopts["version"]:
        del globalopts["version"]
        return commands.version(conf, *args, **globalopts)
    
    verbose = 2
    if globalopts["verbose"]:
        verbose = 1
    elif globalopts["quiet"]:
        verbose = 0
        
    set_logging_level(verbose)
    if cmd is None:
        raise CommandLineError("unknown command")

    fun = commands.table[cmd][0]
    if cmd in commands.incouchapp:
         return fun(conf, conf.app_dir, *args, **opts)    
    
    return fun(conf, *args, **opts)    
コード例 #2
0
ファイル: dispatch.py プロジェクト: langalex/couchapp
def _dispatch(ui, args):
    # if we are in a couchapp path is not None
    path = _findcouchapp(os.getcwd())
    if path is not None:
        ui.updateconfig(path)
    
    # load extensions
    load_extensions(ui)
    # update commands
    for name, mod in get_extensions():
        cmdtable = getattr(mod, 'cmdtable', {})
        commands.table.update(cmdtable)
        
    cmd, globalopts, opts, args = _parse(ui, args)
        
    if globalopts["help"]:
        del globalopts["help"]
        return commands.usage(ui, *args, **globalopts)
    elif globalopts["version"]:
        del globalopts["version"]
        return commands.version(ui, *args, **globalopts)
    
    verbose = 1
    if globalopts["verbose"]:
        verbose = 2
    elif globalopts["quiet"]:
        verbose = 0
        
    ui.set_verbose(verbose)
    if cmd is None:
        raise CommandLineError("unknown command")

    fun = commands.table[cmd][0]
    if cmd in commands.incouchapp:
         return fun(ui, path, *args, **opts)    
    
    return fun(ui, *args, **opts)    
コード例 #3
0
ファイル: dispatch.py プロジェクト: philippbosch/couchapp
def _dispatch(args):
    conf = Config()

    # update commands
    for mod in conf.extensions:
        cmdtable = getattr(mod, 'cmdtable', {})
        commands.table.update(cmdtable)

    cmd, globalopts, opts, args = _parse(args)

    if globalopts["help"]:
        del globalopts["help"]
        return commands.usage(conf, *args, **globalopts)
    elif globalopts["version"]:
        del globalopts["version"]
        return commands.version(conf, *args, **globalopts)

    verbose = 2
    if globalopts["debug"]:
        verbose = 1
        import restkit
        restkit.set_logging("debug")
    elif globalopts["verbose"]:
        verbose = 1
    elif globalopts["quiet"]:
        verbose = 0

    set_logging_level(verbose)
    if cmd is None:
        raise CommandLineError("unknown command")

    fun = commands.table[cmd][0]
    if cmd in commands.incouchapp:
        return fun(conf, conf.app_dir, *args, **opts)

    return fun(conf, *args, **opts)
コード例 #4
0
ファイル: test_commands.py プロジェクト: couchapp/couchapp
def test_help_version():
    '''
    $ couchapp -h --version
    '''
    assert commands.usage(Mock(), version=True) == 0