| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- '''
- @author: olivier.massot, sept 218
- '''
- from tempfile import TemporaryDirectory
- from flask import request
- from flask.app import Flask
- from flask.templating import render_template
- from path import Path
- from werkzeug.utils import secure_filename
- from core.constants import MAIN
- import datachecker
- app = Flask(__name__)
- @app.route('/', methods=['GET'])
- def index():
- return render_template("index.html", validation_error="")
- @app.route('/report', methods=['POST'])
- def report():
- try:
- f = request.files['dossier']
- except KeyError:
- return render_template("index.html", validation_error="Aucun fichier sélectionné")
-
- filename = secure_filename(f.filename)
-
- if Path(filename).ext != ".zip":
- return render_template("index.html", validation_error="Le fichier doit être un fichier .ZIP ({})".format(Path(filename).ext))
-
- try:
- with TemporaryDirectory(dir=MAIN / "upload") as d:
- filename = Path(d) / filename
- f.save(filename)
- report = datachecker.check(filename, MAIN / "checkers" / "netgeo_v2-2_doe.yaml")
- except Exception as e:
- return render_template("index.html", validation_error=str(e))
-
- return render_template("report.html", report=report.to_dict())
|