

@task
def deploy(type=None):
    'deploy your site, support rsync / ftp / github pages\n\n    run deploy:\n        $ fab deploy\n\n    run deploy with specific type(not supported specify multiple types):\n        $ fab deploy:type=rsync\n\n    '
    if (('deploy' not in configs) or (not isinstance(configs['deploy'], list))):
        do_exit('Warning: deploy not set right in _config.yml')
    if (type and (type not in SUPPORTED_DEPLOY_TYPES)):
        do_exit('Warning: supported deploy type: {0}'.format(', '.join(SUPPORTED_DEPLOY_TYPES)))
    deploy_configs = configs['deploy']
    done = False
    for deploy_item in deploy_configs:
        deploy_type = deploy_item.pop('type')
        if (type and (deploy_type != type)):
            continue
        func_name = 'deploy_{0}'.format(deploy_type)
        func = globals().get(func_name)
        if (not func):
            do_exit('Warning: not supprt {0} deploy method'.format(deploy_type))
        func(deploy_item)
        done = True
    if (not func):
        if type:
            do_exit('Warning: specific deploy type not configured yet')
        else:
            print(blue('do nothing...'))

dataset/ETHPy150Open tankywoo/simiki/simiki/conf_templates/fabfile.py deploy/VarMisuse@173/353 `done`->`func`