added cloneMethod

This commit is contained in:
Fierelier 2019-12-15 18:37:12 +01:00
parent 1415075045
commit 11bd371900
1 changed files with 13 additions and 2 deletions

View File

@ -25,6 +25,7 @@ tmpAppPath = False
modPath = False
originalModPath = False
api = True
cloneMethod = "hardlink" # hardlink, copy or reflink
#Modloader
def testAccess(path):
@ -145,6 +146,16 @@ def areModsLoaded():
return False
def clone(src,dst):
if cloneMethod == "hardlink":
os.link(src,dst)
if cloneMethod == "copy":
shutil.copyfile(src,dst)
if cloneMethod == "reflink": # use when using btrfs or similar
subprocess.call(["cp","-n","--reflink=always",src,dst])
def cloneFolder(src,dst,replace = False,ignoreMods = True, isMod = False):
maxCount = 0
count = 0
@ -178,9 +189,9 @@ def cloneFolder(src,dst,replace = False,ignoreMods = True, isMod = False):
if os.path.isfile(newFile):
if replace == True:
os.remove(newFile)
os.link(fullFile,newFile)
clone(fullFile,newFile)
else:
os.link(fullFile,newFile)
clone(fullFile,newFile)
print("")