Correct Folder creation and update Media directory

This commit is contained in:
Alexander Hosking 2023-01-07 20:19:57 -05:00
parent 80fd76c485
commit c5ab01ef4d
2 changed files with 25 additions and 20 deletions

View File

@ -1,11 +1,13 @@
import os, time, sys
import os
import time
import sys
from shutil import copy2
import filecmp
import pathlib
from PIL import Image, ExifTags
import pendulum
INGEST_DIR = pathlib.PureWindowsPath(r'\\192.168.1.4\photos\z_temp\external_backup\olympus\DCIM\100OLYMP')
INGEST_DIR = pathlib.PureWindowsPath(r'E:\DCIM\103ND810')
PHOTO_LIBRARY = '//192.168.1.4/photos/photo_library/'
file_list = os.listdir(INGEST_DIR)
# print(file_list)
@ -16,9 +18,9 @@ for item in file_list:
# print(cur_file)
# print("last modified: %s" % time.ctime(os.path.getmtime(cur_file)))
# created_date = cur_file.stat().st_ctime
##Check for Exif Data
## if no exif data revert to file created time
# Check for Exif Data
# if no exif data revert to file created time
try:
created_date = Image.open(cur_file)._getexif()[36867]
parsed_date = pendulum.parse(created_date)
@ -27,41 +29,44 @@ for item in file_list:
parsed_date = pendulum.parse(created_date, strict=False)
filename, file_extension = os.path.splitext(item)
filename = item ## Critical to the process
filename = item # Critical to the process
if not file_extension.lower() == ".nef" and not file_extension.lower() == ".jpg":
continue
# print(filename, file_extension)
# print(created_date)
# print()
# print(parsed_date)
year = parsed_date.year
year = str(parsed_date.year)
month = str(parsed_date.month).zfill(2)
day = str(parsed_date.day).zfill(2)
destination = "%s%s/%s/%s/%s" % (PHOTO_LIBRARY, year, month, day, filename)
# print(destination)
print("We want to move %s to %s%s/%s/%s." % (filename, PHOTO_LIBRARY, year, month, day))
print("We want to move %s to %s%s/%s/%s." %
(filename, PHOTO_LIBRARY, year, month, day))
## check if the directory exists
# check if the directory exists
if not os.path.isdir(os.path.join(PHOTO_LIBRARY, str(year))):
print("We couldn't find your directory")
os.makedirs(os.path.join(PHOTO_LIBRARY, year))
print("We couldn't find your directory.")
os.makedirs(os.path.join(PHOTO_LIBRARY, str(year)))
if not os.path.isdir(os.path.join(PHOTO_LIBRARY, str(year), str(month))):
print("We couldn't find your directory")
print("We couldn't find your directory, making year and month")
os.makedirs(os.path.join(PHOTO_LIBRARY, str(year), str(month)))
if not os.path.isdir(os.path.join(PHOTO_LIBRARY, str(year), str(month), str(day))):
print("We couldn't find your directory")
os.makedirs(os.path.join(PHOTO_LIBRARY, str(year), str(month), str(day)))
print("We couldn't find your directory, making year month and day")
os.makedirs(os.path.join(PHOTO_LIBRARY,
str(year), str(month), str(day)))
## We should be copying, creating a source and destination hash
## comparing the files and then deleting the source
# We should be copying, creating a source and destination hash
# comparing the files and then deleting the source
print()
print("Copying %s to %s" % (cur_file, destination))
copy2(cur_file, destination)
if filecmp.cmp(cur_file, destination) == True:
print("%s and %s are a match. Time to delete %s" % (cur_file, destination, cur_file))
print("%s and %s are a match. Time to delete %s" %
(cur_file, destination, cur_file))
os.remove(cur_file)
### TODO:
### Find files with no extension and save them + directory to a file
# TODO:
# Find files with no extension and save them + directory to a file

Binary file not shown.