Exemplo n.º 1
0
def createDestroyHelper(stages, command, **kwargs):

    dockerConfig = configuration.getDockerConfig(
        configuration.current()['docker']['configuration'])

    for step in stages:
        step['dockerConfig'] = dockerConfig
        log.info(command +
                 ': current stage: \'{stage}\' via \'{connection}\''.format(
                     **step))

        hostConfig = {}
        for key in ['host', 'user', 'port']:
            hostConfig[key] = configuration.current()[key],

        methods.call(step['connection'],
                     'getHostConfig',
                     configuration.current(),
                     hostConfig=hostConfig)
        hostString = join_host_strings(**hostConfig)
        with _settings(host_string=hostString):
            methods.runTask(configuration.current(),
                            command,
                            quiet=True,
                            **step)
Exemplo n.º 2
0
def putFile(fileName):
  configuration.check()
  if configuration.current()['runLocally']:
    print red("putFile not supported when 'runLocally' is set!")
    exit(1)

  methods.call('files', 'put', configuration.current(), filename=fileName)
Exemplo n.º 3
0
def putFile(fileName):
  configuration.check()
  if configuration.current()['runLocally']:
    log.error("putFile not supported when 'runLocally' is set!")
    exit(1)

  methods.call('files', 'put', configuration.current(), filename=fileName)
Exemplo n.º 4
0
def updateApp(**kwargs):
  configuration.check()
  config = configuration.current()
  if config['type'] != 'dev':
    log.error('Task updateApp is not supported for this configuration. Please check if "type" is set correctly.')
    exit(1)
  backupDB()
  methods.runTask(configuration.current(), 'updateApp', **kwargs)
Exemplo n.º 5
0
def install(**kwargs):
  configuration.check()
  config = configuration.current()
  if config['type'] == 'prod' or not config['supportsInstalls']:
    print red('Task install is not supported for this configuration. Please check if "type" and "supportsInstalls" is set correctly.')
    exit(1)

  methods.runTask(configuration.current(), 'install', nextTasks=['reset'], **kwargs)
Exemplo n.º 6
0
def updateApp(**kwargs):
  configuration.check()
  config = configuration.current()
  if config['type'] != 'dev':
    print red('Task updateApp is not supported for this configuration. Please check if "type" is set correctly.')
    exit(1)
  backupDB()
  methods.runTask(configuration.current(), 'updateApp', **kwargs)
Exemplo n.º 7
0
def updateApp(**kwargs):
    configuration.check()
    config = configuration.current()
    if config["type"] != "dev":
        print red('Task updateApp is not supported for this configuration. Please check if "type" is set correctly.')
        exit(1)
    backupDB()
    methods.runTask(configuration.current(), "updateApp", **kwargs)
Exemplo n.º 8
0
def backup(withFiles=True):
    configuration.check()
    print green(
        'backing up files and database of "%s" @ "%s"'
        % (configuration.getSettings("name"), configuration.current("config_name"))
    )
    i = datetime.datetime.now()
    basename = [configuration.current("config_name"), i.strftime("%Y-%m-%d--%H-%M-%S")]

    methods.runTask(configuration.current(), "backup", withFiles=withFiles, baseName=basename)
Exemplo n.º 9
0
def backup(withFiles = True):
  configuration.check()
  print green('backing up files and database of "%s" @ "%s"' % (configuration.getSettings('name'), configuration.current('config_name')))
  i = datetime.datetime.now()
  basename = [
    configuration.current('config_name'),
    i.strftime('%Y-%m-%d--%H-%M-%S')
  ]

  methods.runTask(configuration.current(), 'backup', withFiles = withFiles, baseName = basename)
Exemplo n.º 10
0
def backup(withFiles = True):
  configuration.check()
  log.info('backing up files and database of "%s" @ "%s"' % (configuration.getSettings('name'), configuration.current('config_name')))
  i = datetime.datetime.now()
  basename = [
    configuration.current('config_name'),
    i.strftime('%Y-%m-%d--%H-%M-%S')
  ]

  methods.runTask(configuration.current(), 'backup', withFiles = withFiles, baseName = basename)
Exemplo n.º 11
0
def install(**kwargs):
    configuration.check()
    config = configuration.current()
    if config["type"] == "prod" or not config["supportsInstalls"]:
        print red(
            'Task install is not supported for this configuration. Please check if "type" and "supportsInstalls" is set correctly.'
        )
        exit(1)

    methods.runTask(configuration.current(), "install", nextTasks=["reset"], **kwargs)
Exemplo n.º 12
0
def install(**kwargs):
  configuration.check()
  config = configuration.current()
  if config['type'] == 'prod' or not config['supportsInstalls']:
    log.error('Task install is not supported for this configuration. Please check if "type" and "supportsInstalls" is set correctly.')
    exit(1)

  if 'nextTasks' not in kwargs:
    kwargs['nextTasks'] = ['reset']

  methods.runTask(configuration.current(), 'install', **kwargs)
Exemplo n.º 13
0
def getFilesDump():
  configuration.check();
  file_name = '--'.join([configuration.current('config_name'), time.strftime("%Y%m%d-%H%M%S")]) + '.tgz'

  log.info('Get files dump from %s' % configuration.current('config_name'))

  file_name = configuration.current('tmpFolder') + '/' + file_name
  methods.runTask(configuration.current(), 'backupFiles', backup_file_name = file_name)
  getFile(file_name)
  if configuration.current()['runLocally']:
    local('rm ' + file_name)
  else:
    run('rm ' + file_name);
Exemplo n.º 14
0
def getSQLDump():
    configuration.check()

    file_name = "--".join([configuration.current("config_name"), time.strftime("%Y%m%d-%H%M%S")]) + ".sql"

    print green("Get SQL dump from %s" % configuration.current("config_name"))

    file_name = "/tmp/" + file_name
    methods.runTask(configuration.current(), "backupSql", backup_file_name=file_name)
    if configuration.current("supportsZippedBackups"):
        file_name += ".gz"
    getFile(file_name)
    run("rm " + file_name)
Exemplo n.º 15
0
def install(**kwargs):
    configuration.check()
    config = configuration.current()
    if config['type'] == 'prod' or not config['supportsInstalls']:
        log.error(
            'Task install is not supported for this configuration. Please check if "type" and "supportsInstalls" is set correctly.'
        )
        exit(1)

    if 'nextTasks' not in kwargs:
        kwargs['nextTasks'] = ['reset']

    methods.runTask(configuration.current(), 'install', **kwargs)
Exemplo n.º 16
0
def about(config_name=False):
  if not config_name:
    config = configuration.current()
    config_name = configuration.current('config_name')
  else:
    config = configuration.get(config_name)
  if config:

    additional_info = {}
    methods.runTask(config, 'about', data = additional_info)

    about_helper('Host-configuration for ' + config_name, config, 2)
    for key, val in additional_info.items():
      print ""
      about_helper(key + ' for ' + config_name, val, 2)
Exemplo n.º 17
0
def about(config_name=False):
  if not config_name:
    config = configuration.current()
    config_name = configuration.current('config_name')
  else:
    config = configuration.get(config_name)
  if config:

    additional_info = {}
    methods.runTask(config, 'about', data = additional_info)

    about_helper('Host-configuration for ' + config_name, config, 2)
    for key, val in additional_info.items():
      print ""
      about_helper(key + ' for ' + config_name, val, 2)
Exemplo n.º 18
0
def getTemplate(configName):
    settings = configuration.get_all_configurations()
    config = False

    if not configName:
        config = configuration.current()
    else:
        if configName in settings['hosts']:
            config = configuration.get(configName)

    if config and 'blueprint' in config:
        return config['blueprint']

    if config and 'docker' in config:
        docker_config_name = config['docker']['configuration']
    else:
        docker_config_name = configName

    if docker_config_name:
        docker_config = configuration.getDockerConfig(docker_config_name)
        if docker_config and 'blueprint' in docker_config:
            return docker_config['blueprint']

    if settings and 'blueprint' in settings:
        return settings['blueprint']

    return False
Exemplo n.º 19
0
def docker(command=False, **kwargs):
    configuration.check()
    methods.call('docker',
                 'runCommand',
                 configuration.current(),
                 command=command,
                 **kwargs)
Exemplo n.º 20
0
def copyDBFrom(source_config_name):
    configuration.check()
    source_configuration = configuration.get(source_config_name)
    methods.runTask(configuration.current(),
                    'copyDBFrom',
                    source_config=source_configuration,
                    nextTasks=['reset'])
Exemplo n.º 21
0
def getTemplate(configName):
  settings = configuration.get_all_configurations()
  config = False

  if not configName:
    config = configuration.current()
  else:
    if configName in settings['hosts']:
      config = configuration.get(configName)

  if config and 'blueprint' in config:
    return config['blueprint']

  if config and 'docker' in config:
    docker_config_name = config['docker']['configuration']
  else:
    docker_config_name = configName

  if docker_config_name:
    docker_config = configuration.getDockerConfig(docker_config_name)
    if docker_config and 'blueprint' in docker_config:
      return docker_config['blueprint']

  if settings and 'blueprint' in settings:
    return settings['blueprint']

  return False
Exemplo n.º 22
0
def getSQLDump():
  configuration.check()

  file_name = '--'.join([configuration.current('config_name'), time.strftime("%Y%m%d-%H%M%S")]) + '.sql'

  print green('Get SQL dump from %s' % configuration.current('config_name'))

  file_name = '/tmp/' + file_name
  methods.runTask(configuration.current(), 'backupSql', backup_file_name = file_name)
  if configuration.current('supportsZippedBackups'):
    file_name += '.gz'
  getFile(file_name)
  if configuration.current()['runLocally']:
    local('rm ' + file_name)
  else:
    run('rm ' + file_name);
Exemplo n.º 23
0
def createDestroyHelper(stages, command, **kwargs):

  dockerConfig = configuration.getDockerConfig(configuration.current()['docker']['configuration'])

  for step in stages:
    step['dockerConfig'] = dockerConfig
    log.info(command + ': current stage: \'{stage}\' via \'{connection}\''.format(**step))

    hostConfig = {}
    for key in ['host', 'user', 'port']:
      hostConfig[key] = configuration.current()[key],

    methods.call(step['connection'], 'getHostConfig', configuration.current(), hostConfig=hostConfig)
    hostString = join_host_strings(**hostConfig)
    with _settings(host_string = hostString):
      methods.runTask(configuration.current(), command, quiet=True, **step)
Exemplo n.º 24
0
def getBackup(commit):
    configuration.check()
    files = get_backup_files(commit)
    for file in files:
        remotePath = configuration.current("backupFolder") + "/" + file["file"]
        localPath = "./" + file["file"]

        get(remote_path=remotePath, local_path=localPath)
Exemplo n.º 25
0
def getFile(remotePath, localPath='./'):
    configuration.check()

    methods.call('files',
                 'get',
                 configuration.current(),
                 remotePath=remotePath,
                 localPath=localPath)
Exemplo n.º 26
0
def getBackup(commit):
  configuration.check()
  files = get_backup_files(commit)
  for file in files:
    remotePath = configuration.current('backupFolder') + "/" + file['file']
    localPath = './' + file['file']

    get(remote_path=remotePath, local_path=localPath)
Exemplo n.º 27
0
def getBackup(commit):
  configuration.check()
  files = get_backup_files(commit)
  for file in files:
    remotePath = configuration.current('backupFolder') + "/" + file['file']
    localPath = './' + file['file']

    get(remote_path=remotePath, local_path=localPath)
Exemplo n.º 28
0
def getFilesDump():
    configuration.check()
    file_name = '--'.join(
        [configuration.current('config_name'),
         time.strftime("%Y%m%d-%H%M%S")]) + '.tgz'

    log.info('Get files dump from %s' % configuration.current('config_name'))

    file_name = configuration.current('tmpFolder') + '/' + file_name
    methods.runTask(configuration.current(),
                    'backupFiles',
                    backup_file_name=file_name)
    getFile(file_name)
    if configuration.current()['runLocally']:
        local('rm ' + file_name)
    else:
        run('rm ' + file_name)
Exemplo n.º 29
0
def restore(commit, cleanupBeforeRestore=0):
    configuration.check()
    files = get_backup_files(commit)
    methods.runTask(configuration.current(),
                    'restore',
                    files=files,
                    cleanupBeforeRestore=cleanupBeforeRestore)

    reset()
Exemplo n.º 30
0
def script(scriptKey=False, *args, **kwargs):
    configuration.check()
    scripts = configuration.current('scripts')
    scriptData = scripts[scriptKey] if scriptKey in scripts else False

    if not scriptData:
        scripts = configuration.getSettings('scripts')
        scriptData = scripts[scriptKey] if scriptKey in scripts else False

    if not scriptData:
        log.error('Could not find any script named "%s" in fabfile.yaml' %
                  scriptKey)
        if configuration.current('scripts'):
            print 'Available scripts in %s:\n  - ' % configuration.current(
                'config_name') + '\n  - '.join(
                    configuration.current('scripts').keys())

        if configuration.getSettings('scripts'):
            print 'Available scripts: \n  - ' + '\n  - '.join(
                configuration.getSettings('scripts').keys())

        exit(1)

    if isinstance(scriptData, dict):
        if 'defaults' in scriptData:
            kwargs = configuration.data_merge(scriptData['defaults'], kwargs)

        scriptData = scriptData['script']

    # compute arguments:
    arguments = ' '.join(args)
    for key in kwargs.keys():
        arguments += ' ' + key + '="' + kwargs[key] + '"'
    variables = {
        'arguments': kwargs,
    }
    variables['arguments']['combined'] = arguments

    if scriptData:
        methods.call('script',
                     'runScript',
                     configuration.current(),
                     script=scriptData,
                     variables=variables)
Exemplo n.º 31
0
def deploy(overrideBranch=False):
    configuration.check()
    config = configuration.current()
    if overrideBranch:
        config["branch"] = overrideBranch

    if config["backupBeforeDeploy"]:
        backup(withFiles=False)

    methods.runTask(config, "deploy", nextTasks=["reset"])
Exemplo n.º 32
0
def deploy(overrideBranch=False):
  configuration.check()
  config = configuration.current()
  if overrideBranch:
    config['branch'] = overrideBranch

  if config['backupBeforeDeploy']:
      backup(withFiles=False)

  methods.runTask(config, 'deploy', nextTasks=['reset'])
Exemplo n.º 33
0
def listBackups(commit = False):
  configuration.check()
  results = []
  if commit:
    results = get_backup_files(commit)

    print "\nFound last backup for %s and commit %s:" % (configuration.current('config_name'), commit)
  else:
    methods.runTask(configuration.current(), 'listBackups', results = results)
    results = sorted(results, key = lambda l: (l['date'], l['time']))
    print "\nFound backups for "+ configuration.current('config_name') + ":"
  last_date = ''
  for result in results:
    if result['date'] == last_date:
      result['date'] = '          '
    else:
      last_date = result['date']

    print "{date} {time}  |  {commit:<30}  |  {method:<10}  |  {file}".format(**result)
Exemplo n.º 34
0
def about(config_name=False):
    if not config_name:
        config = configuration.current()
        config_name = configuration.current("config_name")
    else:
        config = configuration.get(config_name)
    if config:
        print ("Configuration for " + config_name)
        for key, value in config.items():
            if isinstance(value, dict):
                print (key)
                for dict_key, dict_value in value.items():
                    print ("  " + dict_key.ljust(23) + ": " + str(dict_value))
            elif hasattr(value, "__len__") and not hasattr(value, "strip"):
                print key
                for list_value in value:
                    print (" ".ljust(25) + ": " + str(list_value))
            else:
                print (key.ljust(25) + ": " + str(value))
Exemplo n.º 35
0
def listBackups(commit = False):
  configuration.check()
  results = []
  if commit:
    results = get_backup_files(commit)

    print "\nFound last backup for %s and commit %s:" % (configuration.current('config_name'), commit)
  else:
    methods.runTask(configuration.current(), 'listBackups', results = results)
    results = sorted(results, key = lambda l: (l['date'], l['time']))
    print "\nFound backups for "+ configuration.current('config_name') + ":"
  last_date = ''
  for result in results:
    if result['date'] == last_date:
      result['date'] = '          '
    else:
      last_date = result['date']

    print "{date} {time}  |  {commit:<30}  |  {method:<10}  |  {file}".format(**result)
Exemplo n.º 36
0
def deploy(overrideBranch=False):
  configuration.check()
  config = configuration.current()
  if overrideBranch:
    config['branch'] = overrideBranch

  if config['backupBeforeDeploy']:
      backup(withFiles=False)

  methods.runTask(config, 'deploy', nextTasks=['reset'])
Exemplo n.º 37
0
def getProperty(in_key):
  configuration.check()
  with hide('output', 'running', 'warnings'):
    keys = in_key.split('/')
    c = configuration.current()
    for key in keys:
      if key in c:
        c = c[key]
      else:
        print red('property "%s" not found!' % in_key)
        exit(1)

  print c
  exit(0)
Exemplo n.º 38
0
def getProperty(in_key):
  configuration.check()
  with hide('output', 'running', 'warnings'):
    keys = in_key.split('/')
    c = configuration.current()
    for key in keys:
      if key in c:
        c = c[key]
      else:
        log.error('property "%s" not found!' % in_key)
        exit(1)

  print c
  exit(0)
Exemplo n.º 39
0
def getProperty(in_key):
    configuration.check()
    with hide("output", "running", "warnings"):
        keys = in_key.split("/")
        c = configuration.current()
        for key in keys:
            if key in c:
                c = c[key]
            else:
                print red('property "%s" not found!' % in_key)
                exit(1)

    print c
    exit(0)
Exemplo n.º 40
0
def script(scriptKey = False, *args, **kwargs):
  configuration.check()
  scripts = configuration.current('scripts')
  scriptData = scripts[scriptKey] if scriptKey in scripts else False

  if not scriptData:
    scripts = configuration.getSettings('scripts')
    scriptData = scripts[scriptKey] if scriptKey in scripts else False

  if not scriptData:
    log.error('Could not find any script named "%s" in fabfile.yaml' % scriptKey)
    if configuration.current('scripts'):
      print 'Available scripts in %s:\n  - ' % configuration.current('config_name') + '\n  - '.join(configuration.current('scripts').keys())

    if configuration.getSettings('scripts'):
      print 'Available scripts: \n  - '  + '\n  - '.join(configuration.getSettings('scripts').keys())

    exit(1)

  if isinstance(scriptData, dict):
    if 'defaults' in scriptData:
      kwargs = configuration.data_merge(scriptData['defaults'], kwargs)

    scriptData = scriptData['script']

  # compute arguments:
  arguments = ' '.join(args)
  for key in kwargs.keys():
    arguments += ' ' + key + '="' + kwargs[key]+'"'
  variables = {
    'arguments': kwargs,
  }
  variables['arguments']['combined'] = arguments


  if scriptData:
    methods.call('script', 'runScript', configuration.current(), script=scriptData, variables=variables)
Exemplo n.º 41
0
def script(scriptKey=False, *args, **kwargs):
    configuration.check()
    scripts = configuration.current("scripts")
    scriptData = scripts[scriptKey] if scriptKey in scripts else False

    if not scriptData:
        scripts = configuration.getSettings("scripts")
        scriptData = scripts[scriptKey] if scriptKey in scripts else False

    if not scriptData:
        print red('Could not find any script named "%s" in fabfile.yaml' % scriptKey)
        if configuration.current("scripts"):
            print "Available scripts in %s:\n  - " % configuration.current("config_name") + "\n  - ".join(
                configuration.current("scripts").keys()
            )

        if configuration.getSettings("scripts"):
            print "Available scripts: \n  - " + "\n  - ".join(configuration.getSettings("scripts").keys())

        exit(1)

    if isinstance(scriptData, dict):
        if "defaults" in scriptData:
            kwargs = configuration.data_merge(scriptData["defaults"], kwargs)

        scriptData = scriptData["script"]

    # compute arguments:
    arguments = " ".join(args)
    for key in kwargs.keys():
        arguments += " " + key + '="' + kwargs[key] + '"'
    variables = {"arguments": kwargs}
    variables["arguments"]["combined"] = arguments

    if scriptData:
        methods.call("script", "runScript", configuration.current(), script=scriptData, variables=variables)
Exemplo n.º 42
0
def getSQLDump():
  configuration.check()

  file_name = '--'.join([configuration.current('config_name'), time.strftime("%Y%m%d-%H%M%S")]) + '.sql'

  log.info('Get SQL dump from %s' % configuration.current('config_name'))

  file_name = configuration.current('tmpFolder') + '/' + file_name
  methods.runTask(configuration.current(), 'backupSql', backup_file_name = file_name)
  if configuration.current('supportsZippedBackups'):
    file_name += '.gz'
  getFile(file_name)
  if configuration.current()['runLocally']:
    local('rm ' + file_name)
  else:
    run('rm ' + file_name);
Exemplo n.º 43
0
def get_backup_files(commit):
  results = []
  methods.runTask(configuration.current(), 'listBackups', results = results)
  results = sorted(results, key = lambda l: (l['date'], l['time']))
  # get latest hash for commit.
  hash = False
  for result in results:
    if result['commit'] == commit:
      hash = result['hash']

  # search for hash.
  if not hash:
    for result in results:
      if result['hash'] == commit:
        hash = result['hash']

  if not hash:
    print red('Coud not find requested backup: %s' % commit)
    listBackups()
    exit()
  else:
    return filter(lambda r: r['hash'] == hash, results)
Exemplo n.º 44
0
def get_backup_files(commit):
  results = []
  methods.runTask(configuration.current(), 'listBackups', results = results)
  results = sorted(results, key = lambda l: (l['date'], l['time']))
  # get latest hash for commit.
  hash = False
  for result in results:
    if result['commit'] == commit:
      hash = result['hash']

  # search for hash.
  if not hash:
    for result in results:
      if result['hash'] == commit:
        hash = result['hash']

  if not hash:
    log.error('Coud not find requested backup: %s' % commit)
    listBackups()
    exit()
  else:
    return filter(lambda r: r['hash'] == hash, results)
Exemplo n.º 45
0
def get_backup_files(commit):
    results = []
    methods.runTask(configuration.current(), "listBackups", results=results)
    results = sorted(results, key=lambda l: (l["date"], l["time"]))
    # get latest hash for commit.
    hash = False
    for result in results:
        if result["commit"] == commit:
            hash = result["hash"]

    # search for hash.
    if not hash:
        for result in results:
            if result["hash"] == commit:
                hash = result["hash"]

    if not hash:
        print red("Coud not find requested backup: %s" % commit)
        listBackups()
        exit()
    else:
        return filter(lambda r: r["hash"] == hash, results)
Exemplo n.º 46
0
def drupalconsole(drupal_command):
  configuration.check(['drupalconsole'])
  methods.call('drupalconsole', 'drupalconsole', configuration.current(), command=drupal_command)
Exemplo n.º 47
0
def doctor(**kwargs):
  configuration.check()
  methods.runTask(configuration.current(), 'doctor', **kwargs)
Exemplo n.º 48
0
def notify(message):
  configuration.check()
  methods.runTask(configuration.current(), 'notify', message=message)
Exemplo n.º 49
0
def copyFilesFrom(source_config_name):
  configuration.check()
  source_configuration = configuration.get(source_config_name)
  methods.runTask(configuration.current(), 'copyFilesFrom', source_config=source_configuration)
Exemplo n.º 50
0
def restoreSQLFromFile(full_file_name):
  configuration.check()
  methods.runTask(configuration.current(), 'restoreSQLFromFile', sourceFile = full_file_name)
Exemplo n.º 51
0
def copyFilesFrom(source_config_name):
  configuration.check()
  source_configuration = configuration.get(source_config_name)
  methods.runTask(configuration.current(), 'copyFilesFrom', source_config=source_configuration)
Exemplo n.º 52
0
def notify(message):
  configuration.check()
  methods.runTask(configuration.current(), 'notify', message=message)
Exemplo n.º 53
0
def restoreSQLFromFile(full_file_name):
  configuration.check()
  methods.runTask(configuration.current(), 'restoreSQLFromFile', sourceFile = full_file_name)
Exemplo n.º 54
0
def doctor(**kwargs):
  configuration.check()
  methods.runTask(configuration.current(), 'doctor', **kwargs)
Exemplo n.º 55
0
def drush(drush_command):
  configuration.check(['drush7', 'drush8'])
  methods.call('drush', 'drush', configuration.current(), command=drush_command)
Exemplo n.º 56
0
def version():
  configuration.check('git')
  version = methods.call('git', 'getVersion', configuration.current())
  print green('%s @ %s tagged with: %s' % (configuration.getSettings('name'), configuration.current('config_name'), version))
Exemplo n.º 57
0
def reset(**kwargs):
  configuration.check()

  methods.runTask(configuration.current(), 'reset', **kwargs)
Exemplo n.º 58
0
def ssh():
  configuration.check(['ssh'])
  methods.call('ssh', 'openShell', configuration.current())
Exemplo n.º 59
0
def copyDBFrom(source_config_name):
  configuration.check()
  source_configuration = configuration.get(source_config_name)
  methods.runTask(configuration.current(), 'copyDBFrom', source_config=source_configuration, nextTasks=['reset'])
Exemplo n.º 60
0
def composer(composer_command):
  configuration.check(['composer'])
  methods.call('composer', 'composer', configuration.current(), command=composer_command)