Files
autopicture-v3/src/file_handler.py
2023-12-21 11:27:29 +01:00

39 lines
1.1 KiB
Python

import os
import sys
sys.path.append("../")
import time
import shutil
import logging
from progressbar.progressbar import ProgressBar
from src.exif_data import ExifData
def sort_pictures(images:list, dst:str, logger:logging.Logger):
image_total = len(images)
image_counter = 0
progress_bar = ProgressBar(
maxval=image_total,
term_width=70
)
print(f"Start sorting {image_total} images\n")
progress_bar.start()
start_timer = time.time()
for image in images:
image:ExifData
path = os.path.join(dst, str(image.make), str(image.year), str(image.month), str(image.day))
if not os.path.exists(path): os.makedirs(path)
stat_info = os.stat(image.path)
shutil.move(src=image.path, dst=f"{path}/{image.name}")
# os.chmod(path=f"{path}/{image.name}", mode=stat_info.st_mode)
logger.info(f"Moved {image.path} -> {path}/{image.name}")
progress_bar.update(image_counter)
image_counter += 1
end_timer = time.time()
progress_bar.finish()
print(f"\nDone\nSorted {image_total} images in {round(end_timer - start_timer, 2)} seconds")