synology-pictures/ha.py

47 lines
1.5 KiB
Python
Executable file

#!/usr/bin/env python3
import synology
import os
import shutil
import edit
def prepare_photo(i, path):
# sudo apt-get install ufraw-batch
# convert 13895032967_642e23af42_o.jpg -adaptive-resize 1920x1080\> -size 1920x1080 xc:black +swap -gravity center -composite 01.jpg
# filename, file_extension = os.path.splitext(path)
n_path = new_path(i, path)
cmd = 'convert "' + path + '" -adaptive-resize 1920x1080\> -size 1920x1080 xc:black +swap -gravity center -composite ' + n_path
print(cmd)
os.system(cmd)
# os.rename(path, new_path)
return n_path
def new_path(i, path):
return os.path.join(os.path.dirname(path), str(i) + '.jpg')
def resize_and_crop(i, path):
n_path = new_path(i, path)
img = edit.Image(path)
img.crop()
img.safe(n_path)
return n_path
def upload_photo(remotepath, path):
cmd = 'scp ' + path + ' ' + remotepath
os.system(cmd)
if __name__ == "__main__":
ha_path = os.getenv('HA_PATH')
ha_path = "root@bundang.swierczyniec.info:/media/Synology"
host_ip = os.getenv('DB_HOST')
conn = synology.connect_db(host_ip, os.getenv('DB_USER'), os.getenv('DB_PASSWD'))
names = "richard|yingfen"
pictures = synology.fetch_paths_for_names(conn, names, 20)
synology.close_db(conn)
dirpath = synology.fetch_files("jeena@" + host_ip, "/var/services/homes/jeena/Photos", pictures)
with os.scandir(dirpath) as dirs:
for i, entry in enumerate(dirs):
upload_photo(ha_path, resize_and_crop(i, os.path.join(dirpath, entry.name)))
shutil.rmtree(dirpath)