From c6bf0424abffd152c48a82048d3c84443ab585d6 Mon Sep 17 00:00:00 2001 From: Damien De Paoli Date: Wed, 13 Jan 2021 13:54:47 +1100 Subject: [PATCH] better try/except handling for files --- refimg.py | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/refimg.py b/refimg.py index f9bb3ba..da977fa 100644 --- a/refimg.py +++ b/refimg.py @@ -55,13 +55,12 @@ def new_refimg(): 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: + # 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.add(refimg) db.session.commit() st.SetMessage( "Created new Refimg ({})".format(refimg.fname) ) @@ -69,7 +68,10 @@ def new_refimg(): except SQLAlchemyError as e: st.SetAlert( "danger" ) st.SetMessage( "Failed to add Refimg: {}".format(e.orig) ) - return render_template("refimg.html", form=form, page_title=page_title, alert=st.GetAlert(), message=st.GetMessage() ) + except Exception as e: + st.SetAlert( "danger" ) + st.SetMessage( "Failed to modify Refimg: {}".format(e) ) + return render_template("refimg.html", form=form, page_title=page_title, alert=st.GetAlert(), message=st.GetMessage() ) ################################################################################ # /refimg/ -> GET/POST(save or delete) -> shows/edits/delets a single @@ -98,7 +100,10 @@ def refimg(id): except SQLAlchemyError as e: st.SetAlert( "danger" ) st.SetMessage( "Failed to modify Refimg: {}".format(e.orig) ) - return render_template("refimg.html", form=form, page_title=page_title, alert=st.GetAlert(), message=st.GetMessage() ) + except Exception as e: + st.SetAlert( "danger" ) + st.SetMessage( "Failed to modify Refimg: {}".format(e) ) + return render_template("refimg.html", form=form, page_title=page_title, alert=st.GetAlert(), message=st.GetMessage() ) else: refimg = Refimg.query.get(id) form = RefimgForm(request.values, obj=refimg)