reorganize

This commit is contained in:
Nicolas Duhamel 2019-03-25 16:04:03 +01:00
parent fb590d8d76
commit a0d23d7e03
3 changed files with 45 additions and 0 deletions

10
src/crop.py Normal file
View File

@ -0,0 +1,10 @@
from PIL import Image
def crop(image_path, coords):
""" coordinates as tuple (x1, y1, x2, y2,),
get it from gimp selection tool
crop image, in place
"""
image_obj = Image.open(image_path)
cropped_image = image_obj.crop(coords)
cropped_image.save(image_path)

20
src/files.py Normal file
View File

@ -0,0 +1,20 @@
import os
def is_picture(entry):
"""Return True if DirEntry is a picture"""
extension = ("jpg","png")
for ext in extension:
if entry.name.endswith('.'+ext):
return True
return False
def get_pictures(path):
"""Scan directory for pictures return DirEntry list of files"""
pictures = []
with os.scandir(path) as it:
for entry in it:
if not entry.name.startswith('.') \
and entry.is_file(follow_symlinks=False) \
and is_picture(entry):
pictures.append(entry)
return pictures

15
src/rename.py Normal file
View File

@ -0,0 +1,15 @@
import os
import math
from pathlib import Path
from files import get_pictures
def rename_num(entries, reverse=False):
"""Rename file, on the fly"""
entries = sorted(entries, key=lambda entry: entry.name, reverse=reverse)
digit_length = int(math.log10(len(entries)) + 1)
renamed = {}
for i, entry in enumerate(entries):
renamed[entry] = '{number:0{width}d}{ext}'.format(number=i,width=digit_length,ext=Path(entry.path).suffix)
for src, dst in renamed.items():
os.rename(src, dst)