good night...
This commit is contained in:
@@ -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
1
src/.version.yml
Normal file
@@ -0,0 +1 @@
|
|||||||
|
version: 3.0.0
|
||||||
@@ -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
|
|
||||||
|
|||||||
21
src/main.py
21
src/main.py
@@ -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")
|
||||||
|
|||||||
Reference in New Issue
Block a user