Initial
This commit is contained in:
commit
fb590d8d76
3
README.md
Normal file
3
README.md
Normal file
@ -0,0 +1,3 @@
|
||||
Crappy code, for rapid scripting, modify it on the fly for your purpose
|
||||
|
||||
Keep it simple and stupid
|
35
crop.py
Normal file
35
crop.py
Normal file
@ -0,0 +1,35 @@
|
||||
import os
|
||||
from PIL import Image
|
||||
|
||||
""" Images cropping, in place"""
|
||||
|
||||
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
|
||||
|
||||
def crop(image_path, coords):
|
||||
image_obj = Image.open(image_path)
|
||||
cropped_image = image_obj.crop(coords)
|
||||
cropped_image.save(image_path)
|
||||
|
||||
if __name__ == "__main__":
|
||||
""" coordinates x1 y1 x2 y2,
|
||||
get it from gimp selection tool"""
|
||||
pics = get_pictures('/home/nicolas/tmp')
|
||||
for p in pics:
|
||||
crop(p.path, (19,122,499,460))
|
39
rename.py
Normal file
39
rename.py
Normal file
@ -0,0 +1,39 @@
|
||||
##########
|
||||
# Rename fonctions for scripting on the fly
|
||||
#
|
||||
import os
|
||||
import math
|
||||
from pathlib import Path
|
||||
|
||||
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
|
||||
|
||||
def rename(entries, reverse=False):
|
||||
"""Rename file"""
|
||||
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)
|
||||
|
||||
if __name__ == '__main__':
|
||||
entries = get_pictures('/home/nicolas/tmp')
|
||||
rename(entries, reverse=True)
|
Loading…
x
Reference in New Issue
Block a user