Source code for capiq_excel.fileops
import os
import shutil
import time
[docs]def get_path_of_failed_folder_add_if_necessary(orig_folder):
return _join_path_and_create_if_necessary(orig_folder, r'..\failed')
[docs]def get_path_of_additional_failed_folder_add_if_necessary(orig_folder):
return _join_path_and_create_if_necessary(orig_folder, r'failed')
def _join_path_and_create_if_necessary(orig_folder, new_relative_path):
out_path = os.path.join(orig_folder, new_relative_path)
if not os.path.exists(out_path):
os.makedirs(out_path)
return out_path
[docs]def move_file_to_failed_folder(file, failed_folder, retries_remaining=100):
if retries_remaining <= 0:
print(f'ERROR SKIPPING {file}! Could not move to {failed_folder}')
return
try:
shutil.copy(file, failed_folder)
except (PermissionError, OSError):
time.sleep(.1)
move_file_to_failed_folder(file, failed_folder, retries_remaining=retries_remaining - 1)