You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

37 lines
962 B
Python

import os
def CallFuncInDir(Directory, Function, *args, **kwArgs):
CurrentDir = os.getcwd()
os.chdir(Directory)
Function(*args, **kwArgs)
os.chdir(CurrentDir)
def CreateDir(Directory):
""" return True if operation succesful and False if failed """
if not os.path.isfile(Directory):
if not os.path.isdir(Directory):
os.mkdir(Directory)
return True
else:
return False
def CopyFile(Source, Destination):
""" raises exception if fails.
Implement exception handling else program will abort.
"""
try:
# hard link if on same partition
os.link(Source, Destination)
except FileExistsError:
# FIXME: create a function to compare if two files
# are same and use it here
pass
except OSError:
# copy if on different partition
shutil.copy2(Source, Destination)
except Exception as unknownError:
raise unknownError