def start(): global user user = User.query.filter_by(uuid=request.args.get('user')).first() if user is None: user = User(uuid=request.args.get('user')) db.session.add(user) user.app_version = request.args.get('version') user.language = request.args.get('language') user.is_metric = request.args.get('metric') if request.headers.getlist("X-Forwarded-For"): user.ip_address = request.headers.getlist("X-Forwarded-For")[0] else: user.ip_address = request.remote_addr db.session.commit() task_name = request.args.get('task') # temporary fix to 1.0 app version n = task_name.split("_") if n[0] == "area": task_name = "area" task = Task.query.filter_by(identifier=task_name).first() if task is None: abort(404) taskrun = generate_game(task, user) schema = taskrun_schema.dump(taskrun) return jsonify(schema.data)