def details(id, related): thread = DBconnect.select_query( 'select date, forum, id, isClosed, isDeleted, message, slug, title, user, dislikes, likes, points, posts ' 'FROM Threads WHERE id = %s', (id, ) ) if len(thread) == 0: raise Exception('No thread exists with id=' + str(id)) thread = thread[0] thread = { 'date': str(thread[0]), 'forum': thread[1], 'id': thread[2], 'isClosed': bool(thread[3]), 'isDeleted': bool(thread[4]), 'message': thread[5], 'slug': thread[6], 'title': thread[7], 'user': thread[8], 'dislikes': thread[9], 'likes': thread[10], 'points': thread[11], 'posts': thread[12], } if "user" in related: thread["user"] = users.details(thread["user"]) if "forum" in related: thread["forum"] = forums.details(short_name=thread["forum"], related=[]) return thread
def details(request): if request.method == "GET": get_params = request.GET.dict() required_data = ["forum"] related = related_exists(get_params) try: choose_required(data=get_params, required=required_data) forum = forums.details(short_name=get_params["forum"], related=related) except Exception as e: return HttpResponse(json.dumps({"code": 1, "response": (e.message)}), content_type='application/json') return HttpResponse(json.dumps({"code": 0, "response": forum}), content_type='application/json') else: return HttpResponse(status=405)
def details(details_id, related): post = post_query(details_id) if post is None: raise Exception("no post with id = " + details_id) if "user" in related: post["user"] = users.details(post["user"]) if "forum" in related: post["forum"] = forums.details(short_name=post["forum"], related=[]) if "thread" in related: post["thread"] = threads.details(id=post["thread"], related=[]) return post