Source code for refyre.utils.clone
from refyre.utils import optional_dependencies
from refyre.cluster import FileCluster #Time to use the power of our variables :)
from pathlib import Path
from refyre.config import logger
import random
import shutil
[docs]
def clone_node(url, fp):
import git
logger.debug(f"GEET {git}")
#Ensure no file conflicts
rand_num = ''.join(["{}".format(random.randint(0, 9)) for num in range(0, 20)])
tmp_empty = fp / f'tmp{rand_num}'
logger.debug(f'Cloning to {tmp_empty}')
git.Repo.clone_from(url, tmp_empty)
mv_var = FileCluster(input_paths = [tmp_empty], input_patterns = ['g*'])
mv_var.move(tmp_empty.parent)
tmp_empty.rmdir()