101 lines
2.3 KiB
Python
101 lines
2.3 KiB
Python
#!/usr/bin/python
|
|
import os
|
|
import shutil
|
|
import errno
|
|
import lutinDebug as debug
|
|
import fnmatch
|
|
|
|
|
|
"""
|
|
|
|
"""
|
|
def GetRunFolder():
|
|
return os.getcwd()
|
|
|
|
"""
|
|
|
|
"""
|
|
def GetCurrentPath(file):
|
|
return os.path.dirname(os.path.realpath(file))
|
|
|
|
def CreateDirectoryOfFile(file):
|
|
folder = os.path.dirname(file)
|
|
try:
|
|
os.stat(folder)
|
|
except:
|
|
os.makedirs(folder)
|
|
|
|
|
|
def RemoveFolderAndSubFolder(path):
|
|
if os.path.isdir(path):
|
|
debug.verbose("remove folder : '" + path + "'")
|
|
shutil.rmtree(path)
|
|
|
|
def RemoveFile(path):
|
|
if os.path.isfile(path):
|
|
os.remove(path)
|
|
|
|
|
|
def ListToStr(list):
|
|
if type(list) == type(str()):
|
|
return list + " "
|
|
else:
|
|
result = ""
|
|
# mulyiple imput in the list ...
|
|
for elem in list:
|
|
result += ListToStr(elem)
|
|
return result
|
|
|
|
def AddPrefix(prefix,list):
|
|
if type(list) == type(None):
|
|
return ""
|
|
if type(list) == type(str()):
|
|
return prefix+list
|
|
else:
|
|
if len(list)==0:
|
|
return ''
|
|
else:
|
|
result=[]
|
|
for elem in list:
|
|
result.append(prefix+elem)
|
|
return result
|
|
|
|
def CopyFile(src, dst, force=False):
|
|
if os.path.exists(src)==False:
|
|
debug.error("Request a copy a file that does not existed : '" + src + "'")
|
|
if os.path.exists(dst):
|
|
if force==False \
|
|
and os.path.getmtime(dst) > os.path.getmtime(src):
|
|
return
|
|
debug.printElement("copy file", src, "==>", dst)
|
|
CreateDirectoryOfFile(dst)
|
|
shutil.copyfile(src, dst)
|
|
|
|
|
|
def CopyAnything(src, dst):
|
|
tmpPath = os.path.dirname(os.path.realpath(src))
|
|
tmpRule = os.path.basename(src)
|
|
for root, dirnames, filenames in os.walk(tmpPath):
|
|
tmpList = filenames
|
|
if len(tmpRule)>0:
|
|
tmpList = fnmatch.filter(filenames, tmpRule)
|
|
# Import the module :
|
|
for cycleFile in tmpList:
|
|
#for cycleFile in filenames:
|
|
#debug.info("Might copy : '" + tmpPath+cycleFile + "' ==> '" + dst + "'")
|
|
CopyFile(tmpPath+"/"+cycleFile,dst+"/"+cycleFile)
|
|
|
|
|
|
def CopyAnythingTarget(target, src, dst):
|
|
tmpPath = os.path.dirname(os.path.realpath(src))
|
|
tmpRule = os.path.basename(src)
|
|
for root, dirnames, filenames in os.walk(tmpPath):
|
|
tmpList = filenames
|
|
if len(tmpRule)>0:
|
|
tmpList = fnmatch.filter(filenames, tmpRule)
|
|
# Import the module :
|
|
for cycleFile in tmpList:
|
|
#for cycleFile in filenames:
|
|
#debug.info("Might copy : '" + tmpPath+cycleFile + "' ==> '" + dst + "'")
|
|
target.AddFileStaging(tmpPath+"/"+cycleFile,dst+"/"+cycleFile)
|