Skip to content

Instantly share code, notes, and snippets.

@pjflanagan
Created August 2, 2017 22:57
Show Gist options
  • Save pjflanagan/343c01ff5b7e79bc99d7a209ec3ba2df to your computer and use it in GitHub Desktop.
Save pjflanagan/343c01ff5b7e79bc99d7a209ec3ba2df to your computer and use it in GitHub Desktop.
import os, time
from stat import *
from PIL import Image
img_ext = ["jpg","jpeg","png"]
vid_ext = ["mov","m4a","mp4","3gp"]
#IMG_19960811_0001.jpg
#VID_19960811_0001.m4a
orig = "Unclean/"
dest = "Photos/"
global year
year = "2015/"
files = os.listdir(orig)
dates = []
print("Files Found: " + str(len(files)))
def makeNum(i):
return str(100000+i)[-4:]
def getMetaDate(file):
stat = os.stat(file)
return time.asctime(time.localtime(stat[ST_MTIME]))
def setFolder(folder):
global year
if not os.path.exists(dest+folder):
os.makedirs(dest+folder)
year = folder+"/"
return
def getDate(file):
metaDate = time.strptime(getMetaDate(file),"%a %b %d %H:%M:%S %Y") #get date from meta data
date = time.strftime("%Y%m%d",metaDate) #arange it into YYYYMMDD format
setFolder(time.strftime("%Y",metaDate))
dates.append(date) #add date to array
i = dates.count(date) #count how many times it occurs in array
return date+"_"+makeNum(i)
def getExt(file):
try: return str.lower(file[file.rfind(".")+1:])
except: return "ERROR"
e = 1;
print(Image.open(orig+files[0])._getexif()[36867]);
"""
for file in files:
file = orig + file
ext = getExt(file)
if ext in img_ext:
name = "IMG_" + getDate(file) + "." + ext
try:
os.rename(file,dest+year+name)
print(name)
except:
os.rename(file, dest + "CDUP(" + str(e) + ")" + getDate(file) + "." + ext )
e+=1
print(name)
elif ext in vid_ext:
name = "VID_" + getDate(file) + "." + ext
try:
os.rename(file,dest+year+name)
print(name)
except:
os.rename(file, dest + "CDUP(" + str(e) + ")" + getDate(file) + "." + ext )
e+=1
print(name)
else:
pass
"""
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment