resize images upon upload using pillow

This commit is contained in:
crunk 2021-04-18 11:00:11 +02:00
parent 6e0cf41c1a
commit f288d22994
4 changed files with 13 additions and 3 deletions

View File

@ -53,4 +53,4 @@ Id,Publication,Author,Year,Custodian,Fields,Type,Publishers,License,LicenseShort
61,Mots de la cage aux ours - woorden uit de berenkuil,Constant,2012,Varia,"words, language, Bruxelles",Softcover,Constant,Copyleft,Copyleft,,, 61,Mots de la cage aux ours - woorden uit de berenkuil,Constant,2012,Varia,"words, language, Bruxelles",Softcover,Constant,Copyleft,Copyleft,,,
62,Snake rituals and switching circuits,Florian Cramer,2009,Danny,"mass communication, personal communication, new media",paperback,Piet Zwart Institute,Creative Commons Attribution-Share Alike 3.0,Creative Commons,The function of a medium is ultimately decided by its users and not by its creators,, 62,Snake rituals and switching circuits,Florian Cramer,2009,Danny,"mass communication, personal communication, new media",paperback,Piet Zwart Institute,Creative Commons Attribution-Share Alike 3.0,Creative Commons,The function of a medium is ultimately decided by its users and not by its creators,,
63,Magium issue 1: On Eating in isolation,Alice Strete,2020,Varia,"food, sharing, personal stories, consumption",zine,Self Published,Free Art License,Free Art License,,,No one 63,Magium issue 1: On Eating in isolation,Alice Strete,2020,Varia,"food, sharing, personal stories, consumption",zine,Self Published,Free Art License,Free Art License,,,No one
64,Networks of One's Own: three takes on taking care,"Varia, Constant and Colm ONeill",2019,Varia,"Software, internet, taking care, homebrew",paperback,Varia,Copyleft,Copyleft,,Networks Of Ones Own is a periodic para-nodal1 publication that is itself collectively within a network2., 64,Networks of One's Own 2: three takes on taking care,"Varia, Constant and Colm ONeill",2019,Danny,"Software, internet, taking care, homebrew",paperback,Varia,Copyleft,Copyleft,Networks Of Ones Own is a periodic para-nodal publication that is itself collectively within a network.,,Danny

1 Id Publication Author Year Custodian Fields Type Publishers License LicenseShort Highlights Comments Currently borrowed by
53 61 Mots de la cage aux ours - woorden uit de berenkuil Constant 2012 Varia words, language, Bruxelles Softcover Constant Copyleft Copyleft
54 62 Snake rituals and switching circuits Florian Cramer 2009 Danny mass communication, personal communication, new media paperback Piet Zwart Institute Creative Commons Attribution-Share Alike 3.0 Creative Commons The function of a medium is ultimately decided by its users and not by its creators
55 63 Magium issue 1: On Eating in isolation Alice Strete 2020 Varia food, sharing, personal stories, consumption zine Self Published Free Art License Free Art License No one
56 64 Networks of One's Own: three takes on taking care Networks of One's Own 2: three takes on taking care Varia, Constant and Colm O’Neill 2019 Varia Danny Software, internet, taking care, homebrew paperback Varia Copyleft Copyleft Networks Of One’s Own is a periodic para-nodal publication that is itself collectively within a network. Networks Of One’s Own is a periodic para-nodal1 publication that is itself collectively within a network2. Danny

View File

@ -14,6 +14,7 @@ from flask import (
) )
from flask_wtf.csrf import CSRFProtect from flask_wtf.csrf import CSRFProtect
from werkzeug.utils import secure_filename from werkzeug.utils import secure_filename
from PIL import Image
from rnrfeed.rnrfeeder import getevents, getlatestevent from rnrfeed.rnrfeeder import getevents, getlatestevent
from uploadform import PublicationForm from uploadform import PublicationForm
from borrowform import BorrowForm from borrowform import BorrowForm
@ -31,6 +32,7 @@ from csvparser.csvparser import (
csrf = CSRFProtect() csrf = CSRFProtect()
APP = flask.Flask(__name__, static_folder="static") APP = flask.Flask(__name__, static_folder="static")
APP.config['SECRET_KEY'] = 'ty4425hk54a21eee5719b9s9df7sdfklx' APP.config['SECRET_KEY'] = 'ty4425hk54a21eee5719b9s9df7sdfklx'
APP.config['UPLOAD_FOLDER'] = 'tmpupload'
csrf.init_app(APP) csrf.init_app(APP)
@ -128,9 +130,16 @@ def upcoming_or_latest():
def saveimage(image, id): def saveimage(image, id):
"""helper function that can save images""" """helper function that can save images"""
print(image.filename) image.save(os.path.join(APP.config['UPLOAD_FOLDER'], image.filename))
orig_image = Image.open(
os.path.join(APP.config['UPLOAD_FOLDER'] ,image.filename)
)
new_width = 640
new_height = int(new_width * orig_image.height / orig_image.width)
resized_image = orig_image.resize((new_width, new_height), Image.ANTIALIAS)
filename = secure_filename("image-{0}.jpg".format(id)) filename = secure_filename("image-{0}.jpg".format(id))
image.save(os.path.join("static/images/", filename)) resized_image.save(os.path.join("static/images/", filename))
os.remove(os.path.join(APP.config['UPLOAD_FOLDER'], image.filename))
def checksecret(secret): def checksecret(secret):

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 31 KiB

View File

@ -3,4 +3,5 @@ feedparser
flask flask
flask_wtf flask_wtf
requests requests
Pillow
bcrypt bcrypt