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

74 lines
2.4 KiB

"""EasyEngine file utils core classes."""
import shutil
import os
import sys
import glob
import shutil
import fileinput
class EEFileUtils():
"""Method to operate on files"""
def __init__():
pass
10 years ago
def remove(self, filelist):
for file in filelist:
if os.path.isfile(file):
10 years ago
self.app.log.debug('Removing file')
self.app.log.info("Removing "+os.path.basename(file)+" ...")
os.remove(file)
10 years ago
self.app.log.debug('file Removed')
self.app.log.info("Done")
if os.path.isdir(file):
try:
10 years ago
self.app.log.debug('Removing file')
print("Removing "+os.path.basename(file)+" ...")
shutil.rmtree(file)
10 years ago
self.app.log.info("Done")
except shutil.Error as e:
self.app.log.error('Unable to Remove file {err}'
.format(err=str(e.reason)))
sys.exit(1)
def create_symlink(self, paths):
src = paths[0]
dst = paths[1]
try:
os.symlink(src, dst)
except Exception as e:
self.app.log.error("Unable to create symbolic link ...\n {0} {1}"
.format(e.errno, e.strerror))
sys.exit(1)
def remove_symlink(self, filepath):
try:
os.unlink(filepath)
except Exception as e:
self.app.log.error("Unable to reomove symbolic link ...\n {0} {1}"
.format(e.errno, e.strerror))
sys.exit(1)
def copyfile(self, src, dst):
try:
shutil.copy2(src, dest)
except shutil.Error as e:
print('Error: {0}'.format(e))
except IOError as e:
print('Error: {e}'.format(e.strerror))
def searchreplace(self, fnm, sstr, rstr):
try:
for line in fileinput.input(fnm, inplace=True):
print(line.replace(textToSearch, textToReplace), end='')
except Exception as e:
print('Error : {0}'.format(e))
def mvfile(self, src, dst):
try:
shutil.move(src, dst)
except shutil.Error as e:
self.app.log.error('Unable to move file {err}'
.format(err=str(e.reason)))
sys.exit(1)