Add image metadata detection
This commit is contained in:
parent
0bd6dd232e
commit
b9972136bf
@ -4,9 +4,22 @@
|
|||||||
# Libraries
|
# Libraries
|
||||||
import os
|
import os
|
||||||
import click
|
import click
|
||||||
|
import datetime
|
||||||
import time
|
import time
|
||||||
import calendar
|
import calendar
|
||||||
import shutil
|
import shutil
|
||||||
|
from PIL import Image
|
||||||
|
|
||||||
|
def get_date_created(filename):
|
||||||
|
image = Image.open(filename)
|
||||||
|
image.verify()
|
||||||
|
# Format date d/m/Y
|
||||||
|
if image._getexif()[36867]:
|
||||||
|
# Metadata
|
||||||
|
return time.strftime('%d/%m/%Y', datetime.datetime.strptime(image._getexif()[36867], "%Y:%m:%d %H:%M:%S").timetuple())
|
||||||
|
else:
|
||||||
|
# Create data file
|
||||||
|
return time.strftime('%d/%m/%Y', time.gmtime(os.path.getctime(filename)))
|
||||||
|
|
||||||
EXTENSIONS = ('jpg', 'jpeg', 'gif')
|
EXTENSIONS = ('jpg', 'jpeg', 'gif')
|
||||||
|
|
||||||
@ -30,14 +43,14 @@ def organize_my_photos(path, locale, extension):
|
|||||||
# Get path file
|
# Get path file
|
||||||
origin = os.path.join(root, file)
|
origin = os.path.join(root, file)
|
||||||
# Get date
|
# Get date
|
||||||
date_mod = time.strftime('%d/%m/%Y', time.gmtime(os.path.getmtime(os.path.join(root, file))))
|
date_created = get_date_created(os.path.join(root, file))
|
||||||
date_list = date_mod.split('/')
|
date_list = date_created.split('/')
|
||||||
date_mod_day = date_list[0]
|
date_created_day = date_list[0]
|
||||||
date_mod_month = date_list[1]
|
date_created_month = date_list[1]
|
||||||
date_mod_year = date_list[2]
|
date_created_year = date_list[2]
|
||||||
# Make folder: format year/month day -> 2018/abr 23/photo.jpg
|
# Make folder: format year/month day -> 2018/abr 23/photo.jpg
|
||||||
dest_folder = os.path.join(date_mod_year, f'{calendar.month_name[int(date_mod_month)]} {date_mod_day}')
|
dest_folder = os.path.join(date_created_year, f'{calendar.month_name[int(date_created_month)]} {date_created_day}')
|
||||||
dest = os.path.join(date_mod_year, f'{calendar.month_name[int(date_mod_month)]} {date_mod_day}', file)
|
dest = os.path.join(date_created_year, f'{calendar.month_name[int(date_created_month)]} {date_created_day}', file)
|
||||||
if not os.path.exists(dest_folder):
|
if not os.path.exists(dest_folder):
|
||||||
os.makedirs(dest_folder)
|
os.makedirs(dest_folder)
|
||||||
# Move photo
|
# Move photo
|
||||||
|
2
setup.py
2
setup.py
@ -2,7 +2,7 @@ from setuptools import setup
|
|||||||
setup(
|
setup(
|
||||||
name = 'Organize-my-photos',
|
name = 'Organize-my-photos',
|
||||||
py_modules=['organize_my_photos'],
|
py_modules=['organize_my_photos'],
|
||||||
version = '1.0.1',
|
version = '1.0.3',
|
||||||
python_requires='>3.6',
|
python_requires='>3.6',
|
||||||
description = 'Terminal program that organizes and organizes the photographs in folders by year, month and day.',
|
description = 'Terminal program that organizes and organizes the photographs in folders by year, month and day.',
|
||||||
author = 'Andros Fenollosa',
|
author = 'Andros Fenollosa',
|
||||||
|
Loading…
Reference in New Issue
Block a user