good night...

This commit is contained in:
2023-11-30 04:33:28 +01:00
parent 7cb9ce0aa8
commit cb782b8b91
4 changed files with 22 additions and 11 deletions

View File

@@ -1,7 +1,6 @@
# AutoPicture V3 # AutoPicture V3
Dies ist die dritte Version von AutoPicture. Diese Version läuft wie AutoPicture V2 mit Python3 aber dieses mal in einem Dockercontainer. Damit vereinfacht sich die Nutzung auf den verschiedenen Betriebssystemen Dies ist die dritte Version von AutoPicture.
# Erste Schritte # Erste Schritte
Um AutoPicture V3 nutzen zu können muss als erstes das Script `buildForLinux.sh` oder auf Windows `buildForWindows.bat` ausgeführt werden.

1
src/.version.yml Normal file
View File

@@ -0,0 +1 @@
version: 3.0.0

View File

@@ -18,7 +18,7 @@ def sort_pictures(images:list, dst:str, logger:logging.Logger):
print(f"Start sorting {image_total} images\n") print(f"Start sorting {image_total} images\n")
progress_bar.start() progress_bar.start()
start_timer = time.process_time() start_timer = time.time()
for image in images: for image in images:
image:ExifData image:ExifData
path = os.path.join(dst, str(image.make), str(image.year), str(image.month), str(image.day)) path = os.path.join(dst, str(image.make), str(image.year), str(image.month), str(image.day))
@@ -27,13 +27,11 @@ def sort_pictures(images:list, dst:str, logger:logging.Logger):
stat_info = os.stat(image.path) stat_info = os.stat(image.path)
shutil.move(src=image.path, dst=f"{path}/{image.name}") shutil.move(src=image.path, dst=f"{path}/{image.name}")
# os.chmod(path=f"{path}/{image.name}", mode=stat_info.st_mode) # os.chmod(path=f"{path}/{image.name}", mode=stat_info.st_mode)
# logging_infos.append(f"Moved {image.path} -> {path}/{image.name}")
logger.info(f"Moved {image.path} -> {path}/{image.name}") logger.info(f"Moved {image.path} -> {path}/{image.name}")
progress_bar.update(image_counter) progress_bar.update(image_counter)
image_counter += 1 image_counter += 1
end_timer = time.time()
progress_bar.finish() progress_bar.finish()
print(f"\nDone\nSorted {image_total} images in {round(start_timer, 2)} seconds") print(f"\nDone\nSorted {image_total} images in {round(end_timer - start_timer, 2)} seconds")
return logging_infos

View File

@@ -13,11 +13,24 @@ dst = "../app/Bilder"
logger = logging.getLogger('AutoPicture') logger = logging.getLogger('AutoPicture')
logger.setLevel(logging.DEBUG) logger.setLevel(logging.DEBUG)
handler = logging.FileHandler(filename=f'{log_folder}/AutoPicture.log', encoding='utf-8', mode='a') handler = logging.FileHandler(filename=f'{log_folder}/AutoPicture.log', encoding='utf-8', mode='a')
handler.setFormatter(logging.Formatter('%(asctime)s|%(levelname)s|%(name)s|:%(message)s')) handler.setFormatter(logging.Formatter('%(asctime)s|:%(message)s'))
logger.addHandler(handler) logger.addHandler(handler)
metadata_handler = MetadataHandler() metadata_handler = MetadataHandler()
files = recursive_scan_dir("../app")
exif_data = metadata_handler.get_meta_data(images=files) def start_process():
sort_pictures(images=exif_data, dst=dst, logger=logger) try:
exif_data = metadata_handler.get_meta_data(images=files)
sort_pictures(images=exif_data, dst=dst, logger=logger)
except Exception as err:
print(err)
logger.error(err)
raise err
files = recursive_scan_dir(src)
if len(files) > 0:
start_process()
else:
print("No images found")