def getArrayPostsFormDDictionary(dictionary, related): from Thread import getThreadDetailsByID from User import getUserInfoByEmail from Forum import getForumDetailsByShortName array = [] for item in dictionary: dict = {} dict["id"] = item[0] dict["parent"] = item[1] dict["isApproved"] = item[2] dict["isHighlighted"] = item[3] dict["isEdited"] = item[4] dict["isSpam"] = item[5] dict["isDeleted"] = item[6] dict["likes"] = item[7] dict["dislikes"] = item[8] dict["date"] = str(item[9]) dict["message"] = item[10] dict["forum"] = getForumShortNameById(item[11]) dict["thread"] = item[12] dict["user"] = getUserEmailByID(item[13]) dict["points"] = dict["likes"] - dict["dislikes"] if "thread" in related: dict["thread"] = getThreadDetailsByID(dict["thread"], []) if "user" in related: dict["user"] = getUserInfoByEmail(dict["user"]) if "forum" in related: dict["forum"] = getForumDetailsByShortName(dict["forum"]) # logging.info(" dictionary item, no message : " + str(dict)) array.append(dict) return array
def getArrayPostsFormDDictionary(dictionary, related): from Thread import getThreadDetailsByID from User import getUserInfoByEmail from Forum import getForumDetailsByShortName array = [] for item in dictionary: dict = {} dict["id"] = item[0] dict["parent"] = item[1] dict["isApproved"] = item[2] dict["isHighlighted"] = item[3] dict["isEdited"] = item[4] dict["isSpam"] = item[5] dict["isDeleted"] = item[6] dict["likes"] = item[7] dict["dislikes"] = item[8] dict["date"] = str(item[9]) dict["message"] = item[10] dict["forum"] = getForumShortNameById(item[11]) dict["thread"] = item[12] dict["user"] = getUserEmailByID(item[13]) dict["points"] = dict["likes"] - dict["dislikes"] if "thread" in related: dict["thread"] = getThreadDetailsByID(dict["thread"], []) if "user" in related: dict["user"] = getUserInfoByEmail(dict["user"]) if "forum" in related: dict["forum"] = getForumDetailsByShortName(dict["forum"]) logging.info(" dictionary item, no message : " + str(dict)) array.append(dict) return array
def getPostDetailsByID(postID, related): sql = "SELECT * FROM Post WHERE idPost = %s" cursor.execute(sql, [postID]) data = cursor.fetchone() # logging.info(data) if (not data): #logging.info(" Thread not found") return None answer = {} answer["id"] = data[0] answer["parent"] = data[1] answer["isApproved"] = data[2] answer["isHighlighted"] = data[3] answer["isEdited"] = data[4] answer["isSpam"] = data[5] answer["isDeleted"] = data[6] answer["likes"] = data[7] answer["dislikes"] = data[8] answer["date"] = str(data[9]) answer["message"] = data[10] answer["forum"] = getForumShortNameById(data[11]) answer["thread"] = data[12] answer["user"] = getUserEmailByID(data[13]) answer["points"] = answer["likes"] - answer["dislikes"] if "user" in related: data_user = getUserInfoByEmail(answer["user"]) answer["user"] = data_user if "forum" in related: answer["forum"] = getForumDetailsByShortName(answer["forum"]) if "thread" in related: answer["thread"] = getThreadDetailsByID(answer["thread"], []) # logging.info(" ===========Answer getPostByID() : ") # logging.info(answer) #logging.info(" ===================================") return answer
def getPostDetailsByID(postID, related): sql = "SELECT * FROM Post WHERE idPost = %s" cursor.execute(sql, [postID]) data = cursor.fetchone() logging.info(data) if (not data): logging.info(" Thread not found") return None answer = {} answer["id"] = data[0] answer["parent"] = data[1] answer["isApproved"] = data[2] answer["isHighlighted"] = data[3] answer["isEdited"] = data[4] answer["isSpam"] = data[5] answer["isDeleted"] = data[6] answer["likes"] = data[7] answer["dislikes"] = data[8] answer["date"] = str(data[9]) answer["message"] = data[10] answer["forum"] = getForumShortNameById(data[11]) answer["thread"] = data[12] answer["user"] = getUserEmailByID(data[13]) answer["points"] = answer["likes"] - answer["dislikes"] if "user" in related: data_user = getUserInfoByEmail(answer["user"]) answer["user"] = data_user if "forum" in related: answer["forum"] = getForumDetailsByShortName(answer["forum"]) if "thread" in related: answer["thread"] = getThreadDetailsByID(answer["thread"], []) logging.info(" ===========Answer getPostByID() : ") logging.info(answer) logging.info(" ===================================") return answer
def createPost(): tic = time() # logging.info("================Post CREATION\n") #logging.info("Request : ") #logging.info(request.json) #logging.info(request.json["thread"]) try: thread = request.json["thread"] message = request.json["message"] date = request.json["date"] user = request.json["user"] forum = request.json["forum"] #logging.info("Thread : " + str(thread)) #logging.info("Message : " + message) #logging.info("Date : " + str(date)) # logging.info("User : "******"Forum : " + str(forum)) except: return json.dumps({"code": 2, "response": error_messages[2]}) parent = request.json.get('parent', None) isApproved = request.json.get('isApproved', False) isHighlighted = request.json.get('isHighlighted', False) isEdited = request.json.get('isEdited', False) isSpam = request.json.get('isSpam', False) isDeleted = request.json.get('isDeleted', False) try: id_Forum = getForumDetailsByShortName(forum)["id"] id_User = getUserInfoByEmail(user)["id"] except: return json.dumps({"code": 2, "response": error_messages[2]}) sql = "INSERT INTO Post(parent, isApproved, isHighlighted, isEdited, isSpam, isDeleted, likes, dislikes, date, message, idForum, idThread, idAuthor) " \ "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" cursor.execute(sql, [ parent, isApproved, isHighlighted, isEdited, isSpam, isDeleted, 0, 0, date, message, id_Forum, thread, id_User ]) sql = "SELECT MAX(idPost) FROM Post" cursor.execute(sql) idP = cursor.fetchone()[0] answer = {} answer["id"] = idP answer["parent"] = parent answer["isApproved"] = isApproved answer["isHighlighted"] = isHighlighted answer["isEdited"] = isEdited answer["isSpam"] = isSpam answer["isDeleted"] = isDeleted answer["likes"] = 0 answer["dislikes"] = 0 answer["points"] = answer["likes"] - answer["dislikes"] answer["date"] = date answer["message"] = message answer["forum"] = forum answer["thread"] = thread answer["user"] = user response = json.dumps({"code": 0, "response": answer}) # logging.info(" Response : " + response) #logging.info("================SUCCESSFUL Post CREATION\n") tac = time() MyTime = tac - tic if MyTime > LimitTime: print(MyTime, "/db/api/post/create/ +++POST") return response
def createPost(): logging.info("================Post CREATION\n") logging.info("Request : ") logging.info(request.json) logging.info(request.json["thread"]) try: thread = request.json["thread"] message = request.json["message"] date = request.json["date"] user = request.json["user"] forum = request.json["forum"] logging.info("Thread : " + str(thread)) logging.info("Message : " + message) logging.info("Date : " + str(date)) logging.info("User : "******"Forum : " + str(forum)) except: return json.dumps({"code": 2, "response": error_messages[2]}) parent = getOptionalParameterOrDefault(request.json, "parent", None) isApproved = getOptionalParameterOrDefault(request.json, "isApproved", False) isHighlighted = getOptionalParameterOrDefault(request.json, "isHighlighted", False) isEdited = getOptionalParameterOrDefault(request.json, "isEdited", False) isSpam = getOptionalParameterOrDefault(request.json, "isSpam", False) isDeleted = getOptionalParameterOrDefault(request.json, "isDeleted", False) try: id_Forum = getForumDetailsByShortName(forum)["id"] id_User = getUserInfoByEmail(user)["id"] except: return json.dumps({"code": 2, "response": error_messages[2]}) sql = "INSERT INTO Post(parent, isApproved, isHighlighted, isEdited, isSpam, isDeleted, likes, dislikes, date, message, idForum, idThread, idAuthor) " \ "VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" cursor.execute(sql, [parent, isApproved, isHighlighted, isEdited, isSpam, isDeleted, 0, 0, date, message, id_Forum, thread, id_User]) sql = "SELECT MAX(idPost) FROM Post" cursor.execute(sql) idP = cursor.fetchone()[0] answer = {} answer["id"] = idP answer["parent"] = parent answer["isApproved"] = isApproved answer["isHighlighted"] = isHighlighted answer["isEdited"] = isEdited answer["isSpam"] = isSpam answer["isDeleted"] = isDeleted answer["likes"] = 0 answer["dislikes"] = 0 answer["points"] = answer["likes"] - answer["dislikes"] answer["date"] = date answer["message"] = message answer["forum"] = forum answer["thread"] = thread answer["user"] = user response = json.dumps({"code": 0, "response": answer}) logging.info(" Response : " + response) logging.info("================SUCCESSFUL Post CREATION\n") return response