From 90b03632840ac7dc28d91e4930d5fade533b96e3 Mon Sep 17 00:00:00 2001 From: clerie Date: Fri, 26 Feb 2021 15:42:26 +0100 Subject: [PATCH] Init repo --- wa-syn-map.py | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 wa-syn-map.py diff --git a/wa-syn-map.py b/wa-syn-map.py new file mode 100644 index 0000000..fdeb15a --- /dev/null +++ b/wa-syn-map.py @@ -0,0 +1,41 @@ +from flask import Flask, jsonify, abort +from pathlib import Path +import json + +app = Flask(__name__) + +base_dir = Path('../Prediger-workadventure').resolve() +print(base_dir) + +@app.route('/dyn//') +def dyn_map(code, map): + + p = (base_dir / map).resolve() + + print(p) + + if not base_dir < p: + abort(404) + + if p.is_file() and p.suffix == ".json": + with p.open() as f: + map = json.load(f) + + if "layers" in map: + for i in range(len(map["layers"])): + if "properties" in map["layers"][i]: + for j in range(len(map["layers"][i]["properties"])): + if "name" in map["layers"][i]["properties"][j] and map["layers"][i]["properties"][j]["name"] == "jitsiRoom" and "value" in map["layers"][i]["properties"][j]: + map["layers"][i]["properties"][j]["value"] = map["layers"][i]["properties"][j]["value"] + "_" + code + + if "tilesets" in map: + for i in range(len(map["tilesets"])): + if "image" in map["tilesets"][i]: + map["tilesets"][i]["image"] = "../../map/" + map["tilesets"][i]["image"] + + + return jsonify(map) + abort(404) + +if __name__ == "__main__": + app.run()