From 4a53aa5759da755bc68ea251e0e82f618c07f965 Mon Sep 17 00:00:00 2001 From: Clemens Klug Date: Mon, 6 Aug 2018 09:40:36 +0200 Subject: [PATCH] fix selector for multi-game configurations --- analysis/log_analyzer.py | 2 +- docker-compose.yml | 2 +- selector/config.py | 44 +++++++++++++++++++++++++++++++++++++--- selector/webserver.py | 6 +++--- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/analysis/log_analyzer.py b/analysis/log_analyzer.py index 265ffb7..29cb9c6 100644 --- a/analysis/log_analyzer.py +++ b/analysis/log_analyzer.py @@ -213,7 +213,7 @@ if __name__ == '__main__': summary(stats, stats_filtered, "raw") print("\nsimplified\n") summary(stats_simple, stats_filtered_simple, "simplified") - + #################### #for cat in store.get_categories(): # render(analyzers.ActivityMapper, store.get_category(cat), name=cat) diff --git a/docker-compose.yml b/docker-compose.yml index f99edba..51661bd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: - "traefik.url.frontend.rule=Host:select.ma.potato.kinf.wiai.uni-bamberg.de" celery: - image: docker.clkl.de/ma/celery:0.4.1 + image: docker.clkl.de/ma/celery:0.4.2 environment: - PYTHONPATH=/app - PYTHONUNBUFFERED=1 diff --git a/selector/config.py b/selector/config.py index 46de267..45820c2 100644 --- a/selector/config.py +++ b/selector/config.py @@ -122,9 +122,47 @@ ACTIVITY = """{ ] }""" -CONFIGS = { # TODO: more - "KML": KML, - "ActivityMapper": ACTIVITY, +KML_geo = """{ + "logFormat": "neocartographer", + "entryType": "type", + "spatials": [ + "location" + ], + "actions": [], + "boards": [], + "analyzers": { + "analysis.analyzers": [ + "SimpleCategorizer", + "LocationAnalyzer" + ] + }, + "sequences": {}, + "custom": { + "coordinates": "location.coordinates", + "metadata": { + "timestamp": "timestamp", + "gamefield": "instance_id", + "user": "player_group_name" + } + }, + "source": { + "type": "Geogames", + "host": "http://log_data/", + "path": "neocartographer" + }, + "render": [ + "KMLRender" + ] +}""" + +CONFIGS = { + "Biogames": { + "KML": KML, + "ActivityMapper": ACTIVITY + }, + "Geogames": { + "KML": KML_geo, + }, } URLS = { diff --git a/selector/webserver.py b/selector/webserver.py index 30e3abe..581b07e 100644 --- a/selector/webserver.py +++ b/selector/webserver.py @@ -34,7 +34,7 @@ def login(): session['username'] = request.form['username'] session['cookies'] = client.cookies session['game'] = game - session['host'] = BIOGAMES_HOST + session['host'] = HOSTS[game] clients[session['uid']] = client return redirect("/results") return redirect("/?fail") @@ -65,7 +65,7 @@ def games(): return redirect("/") if session['logged_in'] and not session['uid'] in clients: clients[session['uid']] = CLIENTS[session['game']](host=session['host'], **session['cookies']) - return render_template("games.html", logs=clients[session['uid']].list(), configs=CONFIGS) + return render_template("games.html", logs=clients[session['uid']].list(), configs=CONFIGS[session['game']]) @app.route("/start", methods=['POST']) @@ -79,7 +79,7 @@ def start(): } params = { "log_ids": request.form.getlist('logs'), - "config": CONFIGS[request.form['config']], + "config": CONFIGS[session['game']][request.form['config']], "username": session['username'], "cookies": session['cookies'], "host": session['host'],