From f93a79346909e853a4b9f4c7626df1df9f3df79f Mon Sep 17 00:00:00 2001 From: Jan Friedli Date: Sun, 13 Sep 2020 16:56:02 +0200 Subject: handle not supported files in zips --- matweb/frontend.py | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'matweb/frontend.py') diff --git a/matweb/frontend.py b/matweb/frontend.py index 48e4c19..7a3037d 100644 --- a/matweb/frontend.py +++ b/matweb/frontend.py @@ -71,22 +71,23 @@ def upload_file(): current_app.logger.error('Unsupported type %s', mime) return redirect(url_for('routes.upload_file')) - meta = parser.get_meta() - - if parser.remove_all() is not True: - flash('Unable to clean %s' % mime) - current_app.logger.error('Unable to clean %s', mime) - return redirect(url_for('routes.upload_file')) - - key, secret, meta_after, output_filename = utils.cleanup(parser, filepath, current_app.config['UPLOAD_FOLDER']) - - return render_template( - 'download.html', - mimetypes=mime_types, - meta=meta, - download_uri=url_for('routes.download_file', key=key, secret=secret, filename=output_filename), - meta_after=meta_after, - ) + try: + if parser.remove_all() is not True: + flash('Unable to clean %s' % mime) + current_app.logger.error('Unable to clean %s', mime) + return redirect(url_for('routes.upload_file')) + meta = parser.get_meta() + key, secret, meta_after, output_filename = utils.cleanup(parser, filepath, current_app.config['UPLOAD_FOLDER']) + + return render_template( + 'download.html', + mimetypes=mime_types, + meta=meta, + download_uri=url_for('routes.download_file', key=key, secret=secret, filename=output_filename), + meta_after=meta_after, + ) + except (RuntimeError, ValueError): + flash('The type %s could no be cleaned' % mime) max_file_size = int(current_app.config['MAX_CONTENT_LENGTH'] / 1024 / 1024) return render_template('index.html', max_file_size=max_file_size, mimetypes=mime_types) \ No newline at end of file -- cgit v1.3