예제 #1
0
def restore(config, srcdir):
    if 'dest' in config:
        dest = config['dest']
    else:
        dest = config['dir']

    srcdir = os.path.join(srcdir, config['project'])
    if os.path.exists(srcdir):
        run_hook('pre-restore-code', [config['project'], dest], logger=logger)

        logger.info("deleting '%(dest)s'" % {'dest': dest})
        rmtree_silent(dest)
        os.makedirs(dest)

        logger.info("copying '%(src)s' to '%(dest)s'" % {
            'src': srcdir,
            'dest': dest
        })
        copytree(srcdir, dest, symlinks=True, keepdst=True)

        run_hook('post-restore-code', [config['project'], dest], logger=logger)

        return dest
    else:
        logger.debug("'%(srcdir)s' don't exists, no code to restore" %
                     {'srcdir': srcdir})
        return None
예제 #2
0
def restore(config, srcdir):
    if not os.path.exists(srcdir):
        logger.debug("'%(srcdir)s' don't exists, no files to restore" % {'srcdir': srcdir})
        return

    run_hook('pre-restore-files', logger=logger)

    for dest in get_dirs(config['dirs']):
        logger.info("deleting '%(dest)s'" % {'dest': dest})
        rmtree_silent(dest)

        # first '/' removed in second arg
        src = os.path.join(srcdir, dest[1:])

        logger.info("copying '%(src)s' to '%(dest)s'" % {'src': src, 'dest': dest})
        copytree(src, dest, symlinks=True)

    run_hook('post-restore-files', logger=logger)
예제 #3
0
파일: code.py 프로젝트: camptocamp/deploy
def restore(config, srcdir):
    if 'dest' in config:
        dest = config['dest']
    else:
        dest = config['dir']

    srcdir = os.path.join(srcdir, config['project'])
    if os.path.exists(srcdir):
        run_hook('pre-restore-code', [config['project'], dest], logger=logger)

        logger.info("deleting '%(dest)s'" % {'dest': dest})
        rmtree_silent(dest)
        os.makedirs(dest)

        logger.info("copying '%(src)s' to '%(dest)s'" % {'src': srcdir, 'dest': dest})
        copytree(srcdir, dest, symlinks=True, keepdst=True)

        run_hook('post-restore-code', [config['project'], dest], logger=logger)

        return dest
    else:
        logger.debug("'%(srcdir)s' don't exists, no code to restore" % {'srcdir': srcdir})
        return None