diff -r 02e7e1d73ebb -r 75f44d3063da webfront.py
--- a/webfront.py Wed Jan 24 23:14:01 2018 +0200
+++ b/webfront.py Wed Jan 31 14:34:23 2018 +0200
@@ -1,7 +1,8 @@
+#!/usr/bin/env python3
from flask import Flask, render_template, redirect, request
from ldcheck import load_config, load_colours, find_ldconfig_ldr_paths
from ldcheck import read_ldraw
-from testsuite import load_tests, check_model, format_report_html
+from testsuite import load_tests, check_model, problem_text
app = Flask('LDCheck')
@@ -12,7 +13,6 @@
if 'file' not in request.files or not request.files['file'].filename:
return redirect(request.url)
file = request.files['file']
- print(type(file))
config = load_config('ldcheck.cfg')
for ldconfig_ldr_path in find_ldconfig_ldr_paths(config):
with ldconfig_ldr_path.open() as ldconfig_ldr:
@@ -24,18 +24,28 @@
)
test_suite = load_tests()
report = check_model(model, test_suite)
- return str.format(
- '
',
- report = format_report_html(report, model, test_suite)
- )
- return '''
-
- Upload new File
- Upload new File
-
- '''
+
+ # Amend human-readable messages into the report
+ for problem in report['problems']:
+ object = model.body[problem['body-index']]
+ problem['message'] = problem_text(problem, test_suite)
+ problem['ldraw-code'] = object.textual_representation()
+ else:
+ report = None
+ return render_template('webfront.html',
+ report = report,
+ )
-app.run()
+@app.route('/static/')
+def static_file(path):
+ from flask import send_from_directory
+ from os import path
+ return send_from_directory(path.join('static', path))
+
+if __name__ == '__main__':
+ from argparse import ArgumentParser
+ parser = ArgumentParser()
+ parser.add_argument('-p', '--port', type = int, default = 5000)
+ parser.add_argument('-d', '--debug', action = 'store_true')
+ args = parser.parse_args()
+ app.run(port = args.port, debug = args.debug)