summaryrefslogtreecommitdiff
path: root/main.py
diff options
context:
space:
mode:
authorjvoisin2018-11-11 23:25:40 +0100
committerjvoisin2018-11-11 23:25:40 +0100
commit60aa7f879e16e4ae329c099eecffd97547b39a07 (patch)
tree52a75b31e5b00f0f52a7cd9fe3fea15caab9d0bd /main.py
First commit
Diffstat (limited to 'main.py')
-rw-r--r--main.py54
1 files changed, 54 insertions, 0 deletions
diff --git a/main.py b/main.py
new file mode 100644
index 0000000..b2f7776
--- /dev/null
+++ b/main.py
@@ -0,0 +1,54 @@
1import os
2
3import libmat2
4from libmat2 import parser_factory
5
6from flask import Flask, flash, request, redirect, url_for, render_template
7from flask import send_from_directory, after_this_request
8
9from werkzeug.utils import secure_filename
10
11UPLOAD_FOLDER = './'
12ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'])
13
14app = Flask(__name__)
15app.config['SECRET_KEY'] = '1337'
16app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER
17app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 16MB
18
19
20@app.route('/', methods=['GET', 'POST'])
21def upload_file():
22 if request.method == 'POST':
23 if 'file' not in request.files: # check if the post request has the file part
24 flash('No file part')
25 return redirect(request.url)
26 uploaded_file = request.files['file']
27 if uploaded_file.filename == '':
28 flash('No selected file')
29 return redirect(request.url)
30 filename = secure_filename(uploaded_file.filename)
31 filepath = os.path.join(app.config['UPLOAD_FOLDER'], filename)
32 uploaded_file.save(os.path.join(filepath))
33
34 parser, mime = parser_factory.get_parser(filepath)
35 if parser is None:
36 flash('The type %s is not supported' % mime)
37 return redirect(url_for('upload_file'))
38 elif parser.remove_all() is not True:
39 flash('Unable to clean ' % mime)
40 return redirect(url_for('upload_file'))
41 os.remove(filename)
42
43 @after_this_request
44 def remove_file(response):
45 os.remove(parser.output_filename)
46 return response
47
48 return send_from_directory(app.config['UPLOAD_FOLDER'], parser.output_filename)
49
50 mimetypes = 'image/jpeg, image/png'
51 return render_template('index.html', mimetypes=mimetypes)
52
53
54app.run()