Source code for shopyoapi.file
import os
import shutil
import uuid
# from werkzeug.utils import secure_filename
[docs]def trycopytree(source, dest, verbose=False):
"""
Recursive copy of folder
Parameters
----------
source: str
source folder path
dest: str
destination folder path
Returns
-------
None
"""
try:
shutil.copytree(source, dest)
if verbose:
print("done copying {} to {}".format(source, dest))
except Exception as e:
print(e)
[docs]def trycopy(source, dest, verbose=False):
"""
Non-ecursive copy of folder
Parameters
----------
source: str
source folder path
dest: str
destination folder path
Returns
-------
None
"""
try:
shutil.copy(source, dest)
if verbose:
print("done copying {} to {}".format(source, dest))
except Exception as e:
print(e)
[docs]def trymkdir(path, verbose=False):
"""
Creates dir at destination
Parameters
----------
path: str
path with folder already in
Returns
-------
None
"""
try:
os.mkdir(path)
if verbose:
print("created dir at", path)
except Exception as e:
print(e)
[docs]def trymkfile(path, content, verbose=False):
"""
Creates file
Parameters
----------
path: str
path to create file with filename included
content: str
file content
Returns
-------
None
"""
try:
with open(path, "w+") as f:
f.write(content)
if verbose:
print("file created at {}".format(path))
print("with content:")
print(content)
except Exception as e:
print(e)
[docs]def absdiroffile(filepath):
"""
Gives absolute directory of file, normally expects __file__ as
param
Parameters
----------
filepath: str
path of file
Returns
-------
str
Absolute dir path of file
"""
return os.path.dirname(os.path.abspath(filepath))
[docs]def get_folders(path):
dirs = [d for d in os.listdir(path) if os.path.isdir(os.path.join(path, d))]
return dirs
[docs]def unique_filename(fname):
prepended = str(uuid.uuid4()).replace("-", "_")[:10]
return "{}_{}".format(prepended, fname)
[docs]def delete_file(path):
os.remove(path)
# def unique_sec_filename(filename):
# return unique_filename(secure_filename(filename))