Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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
Пример #6
0
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