diff --git a/.gitignore b/.gitignore index 1e265ed..d5066e8 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ photos/ images_to_process/ new_img_dir/ static/* +reference_images/* diff --git a/refimg.py b/refimg.py index ff5e7d6..f9bb3ba 100644 --- a/refimg.py +++ b/refimg.py @@ -5,6 +5,7 @@ from main import db, app, ma from sqlalchemy import Sequence from sqlalchemy.exc import SQLAlchemyError from status import st, Status +import os ################################################################################ # Class describing Refimg in the database, and via sqlalchemy, connected to the DB as well @@ -29,8 +30,8 @@ class RefimgSchema(ma.SQLAlchemyAutoSchema): ################################################################################ class RefimgForm(FlaskForm): id = HiddenField() -# fname = StringField('File name:', [validators.DataRequired()]) - fname = FileField('File name:') + fname = StringField('File name:', [validators.DataRequired()]) + refimg_file = FileField('File name:') submit = SubmitField('Save' ) delete = SubmitField('Delete' ) @@ -44,7 +45,6 @@ def refimgs(): refimgs = Refimg.query.all() return render_template("refimgs.html", refimgs=refimgs, alert=st.GetAlert(), message=st.GetMessage() ) - ################################################################################ # /refimg -> GET/POST -> creates a new refimg type and when created, takes you back to /refimgs ################################################################################ @@ -52,14 +52,18 @@ def refimgs(): def new_refimg(): form = RefimgForm(request.form) page_title='Create new Reference Image' - if 'fname' not in request.form: + if request.method == 'GET': return render_template("refimg.html", form=form, page_title=page_title ) else: + # save the actual uploaded image to reference_images/ + f=request.files['refimg_file'] + f.save(os.path.join("reference_images/", request.form["fname"])) + + # now save into the DB refimg = Refimg( fname=request.form["fname"] ) try: db.session.add(refimg) db.session.commit() - print(refimg) st.SetMessage( "Created new Refimg ({})".format(refimg.fname) ) return redirect( '/refimgs' ) except SQLAlchemyError as e: @@ -78,6 +82,7 @@ def refimg(id): if request.method == 'POST': try: refimg = Refimg.query.get(id) + os.remove("reference_images/{}".format(refimg.fname) ) if 'delete' in request.form: st.SetMessage("Successfully deleted Refimg: ({})".format( refimg.fname ) ) refimg = Refimg.query.filter(Refimg.id==id).delete() @@ -85,6 +90,9 @@ def refimg(id): st.SetMessage("Successfully Updated Refimg: (From: {})".format(refimg.fname)) refimg.fname = request.form['fname'] st.AppendMessage(" To: ({})".format(refimg.fname) ) + # save the actual uploaded image to reference_images/ + f=request.files['refimg_file'] + f.save(os.path.join("reference_images/", request.form["fname"])) db.session.commit() return redirect( '/refimgs' ) except SQLAlchemyError as e: diff --git a/templates/refimg.html b/templates/refimg.html index d33bd5e..162a47a 100644 --- a/templates/refimg.html +++ b/templates/refimg.html @@ -3,43 +3,18 @@