Avoid clobbering existing files
This commit is contained in:
parent
23eda17bd3
commit
ca67ed392f
1 changed files with 6 additions and 10 deletions
|
|
@ -11,10 +11,6 @@ import time
|
||||||
from . import cfg
|
from . import cfg
|
||||||
|
|
||||||
|
|
||||||
# STATIC VARIABLES
|
|
||||||
LOG = logging.getLogger(__name__)
|
|
||||||
|
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
def enable_debug_mode():
|
def enable_debug_mode():
|
||||||
"""Configures logging for better debugging."""
|
"""Configures logging for better debugging."""
|
||||||
|
|
@ -30,10 +26,12 @@ def enable_debug_mode():
|
||||||
|
|
||||||
def update_log_path(dest_dir, dest_filename=''):
|
def update_log_path(dest_dir, dest_filename=''):
|
||||||
"""Copies current log file to new dir and updates the root logger."""
|
"""Copies current log file to new dir and updates the root logger."""
|
||||||
dest = pathlib.Path(dest_dir)
|
|
||||||
dest = dest.expanduser()
|
|
||||||
root_logger = logging.getLogger()
|
root_logger = logging.getLogger()
|
||||||
cur_handler = root_logger.handlers[0]
|
cur_handler = root_logger.handlers[0]
|
||||||
|
dest = pathlib.Path(dest_dir)
|
||||||
|
dest = dest.expanduser()
|
||||||
|
source = pathlib.Path(cur_handler.baseFilename)
|
||||||
|
source = source.resolve()
|
||||||
|
|
||||||
# Safety checks
|
# Safety checks
|
||||||
if len(root_logger.handlers) > 1:
|
if len(root_logger.handlers) > 1:
|
||||||
|
|
@ -41,16 +39,14 @@ def update_log_path(dest_dir, dest_filename=''):
|
||||||
if not isinstance(cur_handler, logging.FileHandler):
|
if not isinstance(cur_handler, logging.FileHandler):
|
||||||
raise NotImplementedError('update_log_path() only supports FileHandlers.')
|
raise NotImplementedError('update_log_path() only supports FileHandlers.')
|
||||||
|
|
||||||
# Set source
|
|
||||||
source = pathlib.Path(cur_handler.baseFilename)
|
|
||||||
source = source.resolve()
|
|
||||||
|
|
||||||
# Copy original log to new location
|
# Copy original log to new location
|
||||||
if dest_filename:
|
if dest_filename:
|
||||||
dest = dest.joinpath(dest_filename)
|
dest = dest.joinpath(dest_filename)
|
||||||
else:
|
else:
|
||||||
dest = dest.joinpath(source.name)
|
dest = dest.joinpath(source.name)
|
||||||
dest = dest.resolve()
|
dest = dest.resolve()
|
||||||
|
if dest.exists():
|
||||||
|
raise FileExistsError('Refusing to clobber: {}'.format(dest))
|
||||||
os.makedirs(dest.parent, exist_ok=True)
|
os.makedirs(dest.parent, exist_ok=True)
|
||||||
shutil.copy(source, dest)
|
shutil.copy(source, dest)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue