2021-06-08 12:37:10 +02:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import shutil
|
|
|
|
import os
|
2021-07-31 20:49:38 +02:00
|
|
|
from fsfwgen.core import get_console_logger
|
2022-02-26 13:16:09 +01:00
|
|
|
|
2021-07-31 20:49:38 +02:00
|
|
|
LOGGER = get_console_logger()
|
2021-06-08 12:37:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
def copy_file(filename: str, destination: str = "", delete_existing_file: bool = False):
|
2021-07-31 20:49:38 +02:00
|
|
|
if not os.path.exists(filename):
|
2022-02-26 13:16:09 +01:00
|
|
|
LOGGER.warning(f"File {filename} does not exist")
|
2021-07-31 20:49:38 +02:00
|
|
|
return
|
2022-03-04 10:24:08 +01:00
|
|
|
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
|
2021-07-31 20:49:38 +02:00
|
|
|
try:
|
2022-03-04 10:24:08 +01:00
|
|
|
shutil.copy2(src=filename, dst=destination)
|
2021-07-31 20:49:38 +02:00
|
|
|
except FileNotFoundError:
|
2022-02-26 13:16:09 +01:00
|
|
|
LOGGER.exception("File not found!")
|
2021-07-31 20:49:38 +02:00
|
|
|
except shutil.SameFileError:
|
2022-02-26 13:16:09 +01:00
|
|
|
LOGGER.exception("Source and destination are the same!")
|
2021-06-08 12:37:10 +02:00
|
|
|
|
|
|
|
|
|
|
|
def move_file(file_name: str, destination: str = ""):
|
2021-07-31 20:07:41 +02:00
|
|
|
if not os.path.exists(file_name):
|
2022-02-26 13:16:09 +01:00
|
|
|
print(f"move_file: File {file_name} does not exist")
|
2021-07-31 20:07:41 +02:00
|
|
|
return
|
|
|
|
if not os.path.exists(destination):
|
2022-02-26 13:16:09 +01:00
|
|
|
print(f"move_file: Destination directory {destination} does not exist")
|
2021-07-31 20:07:41 +02:00
|
|
|
return
|
|
|
|
try:
|
|
|
|
shutil.copy2(file_name, destination)
|
|
|
|
os.remove(file_name)
|
|
|
|
return
|
2021-07-31 20:49:38 +02:00
|
|
|
except FileNotFoundError:
|
2022-02-26 13:16:09 +01:00
|
|
|
LOGGER.exception("File not found!")
|
2021-07-31 20:49:38 +02:00
|
|
|
except shutil.SameFileError:
|
2022-02-26 13:16:09 +01:00
|
|
|
LOGGER.exception("Source and destination are the same!")
|