diff --git a/.gitignore b/.gitignore index f68ec39..a32ebae 100755 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ -/_build/ +# Elsa output +_build ### OSX *.DS_Store diff --git a/pyvecorg/__init__.py b/pyvecorg/__init__.py index 17bd296..924b0b0 100644 --- a/pyvecorg/__init__.py +++ b/pyvecorg/__init__.py @@ -21,8 +21,11 @@ def run(self, *args, **kwargs): app = Flask('pyvecorg') +app.config['JSON_AS_ASCII'] = False + from pyvecorg import views from pyvecorg import templating + __all__ = ['app', 'views', 'templating'] diff --git a/pyvecorg/data/meta.yml b/pyvecorg/data/meta.yml index 98e343b..c7755e0 100644 --- a/pyvecorg/data/meta.yml +++ b/pyvecorg/data/meta.yml @@ -68,3 +68,6 @@ downloads: resources: cs: grafika en: resources + json_data: + cs: tato stránka jako JSON + en: this page as JSON diff --git a/pyvecorg/data/meta_schema.json b/pyvecorg/data/meta_schema.json index a2abc1b..048efbd 100644 --- a/pyvecorg/data/meta_schema.json +++ b/pyvecorg/data/meta_schema.json @@ -60,6 +60,9 @@ }, "resources": { "$ref": "definitions/translated_text_schema.json#" + }, + "json_data": { + "$ref": "definitions/translated_text_schema.json#" } }, "additionalProperties": false diff --git a/pyvecorg/templates/index.html b/pyvecorg/templates/index.html index f39fb5a..8f9f87f 100644 --- a/pyvecorg/templates/index.html +++ b/pyvecorg/templates/index.html @@ -3,7 +3,9 @@ - + + + @@ -240,8 +242,13 @@

{{ meta.downloads.heading }}

{{ meta.downloads.charter }}.rtf +
+ {{ meta.downloads.resources }} + + + {{ meta.downloads.json_data }}

diff --git a/pyvecorg/views.py b/pyvecorg/views.py index 1da39ed..9218222 100755 --- a/pyvecorg/views.py +++ b/pyvecorg/views.py @@ -2,7 +2,7 @@ from datetime import datetime from flask import (request, render_template, redirect, url_for, - send_from_directory) + send_from_directory, jsonify) from pyvecorg import app from pyvecorg.data import load_data, select_language @@ -11,13 +11,6 @@ data = load_data() -@app.route('/') -def index_redirect(): - if request.accept_languages.best_match(['en', 'cs', 'sk']) == 'en': - return redirect(url_for('index', lang='en')) - return redirect(url_for('index', lang='cs')) - - @app.route('/favicon.ico') def favicon(): static = os.path.join(app.root_path, 'static') @@ -25,9 +18,19 @@ def favicon(): mimetype='image/vnd.microsoft.icon') +@app.route('/') +def index_redirect(): + return redirect(url_for('index', lang='cs')) + + @app.route('//') def index(lang): context = select_language(data, lang) context['lang'] = lang context['now'] = datetime.now() return render_template('index.html', **context) + + +@app.route('//api.json') +def api(lang): + return jsonify(select_language(data, lang))