Ejemplo n.º 1
0
 def post(self, command):
     request.get_json(force=True)
     if command == "getTree":
         type = request.json['type']
         if type == "Mob" or type == "Character" or type == "Map":
             tmp = []
             rows = dao.select(
                 "SELECT * from Folder where type=? and parent IS NULL", (type,))
             for row in rows:
                 tmp.append(Folder(
                     row[0],
                     row[1],
                     opened=True
                 ))
             tmp = Arbo(tmp, type)
             ret = []
             for elem in tmp:
                 ret.append(elem.getJSON())
             path = './file/tree/' + type + '.json'
             file = open('../Client/' + path[2:], 'w+')
             file.write(json.dumps(ret))
             file.close()
             return {"code": 200, "data": ret}
         else:
             return {"code": 400, "message": "Bad Request: This type doesn't exist"}
     elif command == "getFolderById":
         rows = dao.select("SELECT * FROM Folder WHERE id=?",
                           (request.json['id'],))
         folder = []
         type = ""
         for row in rows:
             folder.append(Folder(row[0], row[1]))
             type = row[2]
         folder = Arbo(folder, type)
         return Response(response=json.dumps(folder[0].getJSON()), status=200, mimetype="application/json")
Ejemplo n.º 2
0
 def post(self, command):
     if command == "create":
         request.get_json(force=True)
         dao.__init__(request.json['profil'])
         return {"code": 200}
     elif command == "changeDB":
         request.get_json(force=True)
         dao.changeDB(request.json['profil'])
         return {"code": 200}
     elif command == "getAllData":
         result = {}
         tables = ["Folder", "Character", "Map", "Mob", "Ambiance"]
         for t in tables:
             result[t] = dao.select("SELECT * FROM " + t)
         return {"code": 200, "data": result}
     elif command == "getAllProfil":
         profileStr = subprocess.check_output("ls ./db", shell=True)
         profileStr = profileStr.decode("utf-8")
         profileStr = profileStr.replace("initDB.db\n", "")
         result = profileStr.replace(".db", "").split('\n')
         result.pop()
         return {"code": 200, "data": result}
     elif command == "getCurrentProfil":
         ret = dao.select("PRAGMA database_list")
         return {"data": ret}
     return {"code": "404"}
Ejemplo n.º 3
0
 def post(self, command):
     if command == "setbyid":
         att = []
         values = []
         data = request.json['data']
         id = data["id"]
         if id == -1:
             data.pop("id")
             for i in data.keys():
                 att.append(i)
                 values.append(data[i])
             if not ("parent" in data.keys()):
                 att.append("parent")
                 values.append(1)
             str_att = ""
             str_values = ""
             for i in range(len(att)):
                 str_att = str_att + str(att[i]) + ","
                 str_values = str_values + "?,"
             str_att = str_att[:-1]
             str_values = str_values[:-1]
             req = "INSERT INTO Ambiance (" + str_att + \
                 ") VALUES(" + str_values + ");"
             dao.execute(req, values)
         else:
             for i in data.keys():
                 att.append(i)
                 values.append(data[i])
             if not ("parent" in data.keys()):
                 att.append("parent")
                 values.append(1)
             str_att = ""
             for i in range(len(att)):
                 str_att = str_att + str(att[i]) + "=?,"
             str_att = str_att[:-1]
             req = "UPDATE Ambiance SET " + \
                 str_att + " WHERE id="+str(id)+";"
             dao.execute(req, values)
         return {"code": 200}
     elif command == "getonebyid":
         result = dao.select("SELECT * FROM Ambiance WHERE id=(?);",
                             [request.json["id"]])
         return {"code": 200, "data": result}
     elif command == "getall":
         result = dao.select("SELECT * FROM Ambiance")
         return {"code": 200, "data": result}
     elif command == "delete":
         dao.execute("DELETE FROM Ambiance WHERE id=(?);",
                     [request.json["id"]])
         return {"code": 200}
     return {"code": "404"}
Ejemplo n.º 4
0
def Arbo(folders, type=None):
    for folder in folders:
        folds = []
        rows = dao.select("SELECT * FROM Folder WHERE parent=?", (folder.id,))
        for row in rows:
            folds.append(Folder(
                row[0],
                row[1],
            ))
        folder.items = Arbo(folds, type)
        rows = dao.select("SELECT * FROM " + type +
                          " WHERE parent=?", (folder.id,))
        for row in rows:
            folder.items.append(Item(
                row[0],
                row[1],
            ))
    print(affArbo(folders))
    return folders
Ejemplo n.º 5
0
 def post(self, command):
     if command == "setbyid":
         att = []
         values = []
         data = request.json['data']
         id = data["id"]
         if id == -1:
             data.pop("id")
             for i in data.keys():
                 att.append(i)
                 values.append(data[i])
             if not ("parent" in data.keys()):
                 att.append("parent")
                 values.append(1)
             str_att = ""
             str_values = ""
             for i in range(len(att)):
                 str_att = str_att + str(att[i]) + ","
                 str_values = str_values + "?,"
             str_att = str_att[:-1]
             str_values = str_values[:-1]
             req = "INSERT INTO Mob (" + str_att + \
                 ") VALUES(" + str_values + ");"
             dao.execute(req, values)
         else:
             for i in data.keys():
                 att.append(i)
                 values.append(data[i])
             if not ("parent" in data.keys()):
                 att.append("parent")
                 values.append(1)
             str_att = ""
             for i in range(len(att)):
                 str_att = str_att + str(att[i]) + "=?,"
             str_att = str_att[:-1]
             req = "UPDATE Mob SET " + str_att + " WHERE id=" + str(
                 id) + ";"
             dao.execute(req, values)
         return {"code": 200}
     elif command == "getonebyid":
         rows = dao.select("SELECT * FROM Mob WHERE id=(?);",
                           [request.json["id"]])
         if rows:
             mobs = []
             for row in rows:
                 mobs.append(
                     MobData(row[0], row[1], row[2], row[3], row[4], row[5],
                             row[6], row[7], row[8], row[9], row[10],
                             row[11], row[12], row[13], row[14], row[15],
                             row[16], row[17], row[18], row[19]).getJSON())
             # return {"code": 200, "data": mobs[0]}
             return Response(response=json.dumps(mobs[0]),
                             status=200,
                             mimetype="application/json")
         else:
             # return {"code": 404, "message": "The mob with id '" + str(request.json["id"]) + "' doesn't exist."}
             return Response(response="The mob with id '" +
                             str(request.json["id"]) + "' doesn't exist.",
                             status=404)
     elif command == "getall":
         rows = dao.select("SELECT * FROM Mob")
         ret = []
         for row in rows:
             ret.append(
                 MobData(row[0], row[1], row[2], row[3], row[4], row[5],
                         row[6], row[7], row[8], row[9], row[10], row[11],
                         row[12], row[13], row[14], row[15], row[16],
                         row[17], row[18], row[19]).getJSON())
         return {"code": 200, "data": ret}
     elif command == "delete":
         dao.execute("DELETE FROM Mob WHERE id=(?);", [request.json["id"]])
         return {"code": 200}
     return {"code": "404"}