def add_game_relations(id): if id == request.form['g_id']: return jsonify({"error":"Can not relate to self"}) g1id = id if id < int(request.form['g_id']) else request.form['g_id'] print "low id: ", g1id g2id = request.form['g_id'] if id < int(request.form['g_id']) else id print "high id: ", g2id g1 = db_session.query(Game).get(g1id) g2 = db_session.query(Game).get(g2id) if g1 == None: if g1id == id: return backend.get_error_response( message="Source id doesn't exist", status_code=404) else: return backend.get_error_response( message="Target id doesn't exist", status_code=404) if g2 == None: if g2id == id: return backend.get_error_response( message="Source id doesn't exist", status_code=404) else: return backend.get_error_response( message="Target id doesn't exist", status_code=404) uniqueRelation = db_session.query(UniqueRelation).get((g.backend_user.openid, g1.g_id, g2.g_id)) print "unik relation", uniqueRelation if uniqueRelation != None: print "Not unique relation" return backend.get_error_response(message="You have already done this relation earlier", status_code=404) else: #Target-game from users point of view game = db_session.query(Game).get(request.form['g_id']) #Always least id first relation = db_session.query(Relation).get((g1.g_id,g2.g_id)) if relation == None: print "Relation was None" relation = Relation(g1,g2) db_session.add(relation) uniqueRelation = UniqueRelation(g.backend_user.openid, g1.g_id, g2.g_id) db_session.add(uniqueRelation) else: print "Relation already existed" relation.count = relation.count + 1 uniqueRelation =UniqueRelation(g.backend_user.openid, relation.game1_id, relation.game2_id) db_session.add(uniqueRelation) print "relation: ", relation print "relations: ", relation.count g1.relations = g1.relations + 1 g2.relations = g2.relations + 1 try: db_session.commit() except Exception, e: return backend.get_error_response( message="Commit has failed.", status_code=404)
def add_relation(): in1 = request.form['g1_id'] in2 = request.form['g2_id'] if in1 == in2: return jsonify({"error":"Can not relate to self"}) g1id = in1 if in1 < in2 else in2 g2id = in2 if in1 < in2 else in1 g1 = db_session.query(Game).get(g1id) g2 = db_session.query(Game).get(g2id) if g1 == None: return jsonify({"error":"Source id doesn't exist"}) if g2 == None: return jsonify({"error":"Target id doesn't exist"}) #Always least id first relation = db_session.query(Relation).get((g1.g_id,g2.g_id)) if relation == None: print "Relation was None" relation = Relation(g1,g2) db_session.add(relation) else: relation.count = relation.count + 1 try: db_session.commit() except Exception, e: return "Failed"
def add_game_relations(id): if id == request.form['g_id']: return jsonify({"error": "Can not relate to self"}) g1id = id if id < int(request.form['g_id']) else request.form['g_id'] print "low id: ", g1id g2id = request.form['g_id'] if id < int(request.form['g_id']) else id print "high id: ", g2id g1 = db_session.query(Game).get(g1id) g2 = db_session.query(Game).get(g2id) if g1 == None: if g1id == id: return backend.get_error_response( message="Source id doesn't exist", status_code=404) else: return backend.get_error_response( message="Target id doesn't exist", status_code=404) if g2 == None: if g2id == id: return backend.get_error_response( message="Source id doesn't exist", status_code=404) else: return backend.get_error_response( message="Target id doesn't exist", status_code=404) uniqueRelation = db_session.query(UniqueRelation).get( (g.backend_user.openid, g1.g_id, g2.g_id)) print "unik relation", uniqueRelation if uniqueRelation != None: print "Not unique relation" return backend.get_error_response( message="You have already done this relation earlier", status_code=404) else: #Target-game from users point of view game = db_session.query(Game).get(request.form['g_id']) #Always least id first relation = db_session.query(Relation).get((g1.g_id, g2.g_id)) if relation == None: print "Relation was None" relation = Relation(g1, g2) db_session.add(relation) uniqueRelation = UniqueRelation(g.backend_user.openid, g1.g_id, g2.g_id) db_session.add(uniqueRelation) else: print "Relation already existed" relation.count = relation.count + 1 uniqueRelation = UniqueRelation(g.backend_user.openid, relation.game1_id, relation.game2_id) db_session.add(uniqueRelation) print "relation: ", relation print "relations: ", relation.count g1.relations = g1.relations + 1 g2.relations = g2.relations + 1 try: db_session.commit() except Exception, e: return backend.get_error_response(message="Commit has failed.", status_code=404)