def details(con, details_id, related): post = post_query(con, details_id) if post is None: raise Exception("no post with id = " + details_id) if "user" in related: post["user"] = user.details(con, post["user"]) if "forum" in related: post["forum"] = forum.details(con, post["forum"], []) if "thread" in related: post["thread"] = thread.details(con, post["thread"], []) return post
def posts_list(con, entity, params, identifier, related=[]): query = "SELECT date, dislikes, forum, id, isApproved, isDeleted, isEdited, isHighlighted, isSpam, likes, message, " \ "parent, points, thread, user FROM post WHERE " + entity + " = " + '\'' + str(''.join(identifier)) + '\'' parameters = tuple() if "since" in params: query += " AND date >= %s" parameters += tuple(params["since"]) query += " ORDER BY date " + ''.join(params["order"]) if "limit" in params: query += " LIMIT " + ''.join(params["limit"]) parameters += tuple('') post_ids = dbConnector.select_query(con, query, parameters) post_list = [] for post in post_ids: pf = { 'date': str(post[0]), 'dislikes': post[1], 'forum': post[2], 'id': post[3], 'isApproved': bool(post[4]), 'isDeleted': bool(post[5]), 'isEdited': bool(post[6]), 'isHighlighted': bool(post[7]), 'isSpam': bool(post[8]), 'likes': post[9], 'message': post[10], 'parent': post[11], 'points': post[12], 'thread': post[13], 'user': post[14], } if "user" in related: pf["user"] = user.details(con, pf["user"]) if "forum" in related: pf["forum"] = forum.details(con, short_name=pf["forum"], related=[]) if "thread" in related: pf["thread"] = thread.details(con, id=pf["thread"], related=[]) post_list.append(pf) return post_list
def details_thread(): con = dbConnector.connect() params = helpers.json_from_get(request) required_data = ["thread"] related = helpers.related_exists(params) if 'thread' in related: con.close() return json.dumps({ "code": 3, "response": "error"}) try: helpers.check_params(params, required_data) response = thread.details(con, params["thread"], related) except Exception as e: con.close() return json.dumps({ "code": 1, "response": (e.message)}) con.close() return json.dumps({ "code": 0, "response": response})