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
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)
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