fsfwgen/fsfwgen/utility/file_management.py

42 lines
1.3 KiB
Python

# -*- coding: utf-8 -*-
import shutil
import os
from fsfwgen.core import get_console_logger
LOGGER = get_console_logger()
def copy_file(filename: str, destination: str = "", delete_existing_file: bool = False):
if not os.path.exists(filename):
LOGGER.warning(f"File {filename} does not exist")
return
if not os.path.isdir(destination) and os.path.exists(destination):
if delete_existing_file:
os.remove(destination)
else:
LOGGER.warning(f"Destination file {destination} already exists")
return
try:
shutil.copy2(src=filename, dst=destination)
except FileNotFoundError:
LOGGER.exception("File not found!")
except shutil.SameFileError:
LOGGER.exception("Source and destination are the same!")
def move_file(file_name: str, destination: str = ""):
if not os.path.exists(file_name):
print(f"move_file: File {file_name} does not exist")
return
if not os.path.exists(destination):
print(f"move_file: Destination directory {destination} does not exist")
return
try:
shutil.copy2(file_name, destination)
os.remove(file_name)
return
except FileNotFoundError:
LOGGER.exception("File not found!")
except shutil.SameFileError:
LOGGER.exception("Source and destination are the same!")