def get_query_list_threads(data, has_forum): query = Query() columns = "t.*" if has_forum: columns += ", f.id, f.name, f.short_name, f.user" query.add_select("thread as t", columns) if has_forum: query.add_left_join("forum as f", "t.forum = f.short_name") if data.get("forum"): query.add_where_condition("t.forum = \"{}\"".format(data["forum"])) else: query.add_where_condition("t.user = \"{}\"".format(data["user"])) if "since" in data: query.add_more_where_condition("t.date > \"{}\"".format(data["since"])) query.add_order_by("t.date", data["order"]) if "limit" in data: query.add_limit(data["limit"]) return query
def get_query_list_posts_by_forum(data, has_forum, has_thread): query = Query() columns = "p.id, p.message, p.date, p.isApproved, p.isHighlighted, p.isEdited, p.isSpam, " \ "p.isDeleted, p.forum, p.thread, p.user, p.dislikes, p.likes, p.points, p.parent" if has_forum: columns += ", f.id, f.name, f.short_name, f.user" if has_thread: columns += ", t.id, t.title, t.slug, t.message, t.date, " \ "t.posts, t.likes, t.dislikes, t.points, " \ "t.isClosed, t.isDeleted, t.forum, t.user" query.add_select("post as p", columns) if has_forum: query.add_left_join("forum as f", "p.forum = f.short_name") if has_thread: query.add_left_join("thread as t", "p.thread = t.id") if data.get("forum"): query.add_where_condition("p.forum = \"{}\"".format(data["forum"])) else: query.add_where_condition("p.thread = \"{}\"".format(data["thread"])) if "since" in data: query.add_more_where_condition("p.date > \"{}\"".format(data["since"])) query.add_order_by("p.date", data["order"]) if "limit" in data: query.add_limit(data["limit"]) return query
def get_query_users_by_followers(data, follower=None): query = Query() columns = 'u.*, group_concat(distinct f.following),' \ 'group_concat(distinct f1.follower),' \ 'group_concat(distinct s.thread)' query.add_select("user as u", columns) query.add_left_join("follow as f", "u.email = f.follower") query.add_left_join("follow as f1", "u.email = f1.following") query.add_left_join("subscribe as s", "u.email= s.user") query.add_left_join("post as p", "p.user = u.email") if follower: query.add_where_condition("f.following = \"{}\"".format(data["user"])) else: query.add_where_condition("f.follower = \"{}\"".format(data["user"])) if "since_id" in data: query.add_more_where_condition(" u.id >= {}".format(data["since_id"])) if follower: query.add_group_by("f.follower") else: query.add_group_by("f.following") query.add_order_by("u.name", data["order"]) if "limit" in data: query.add_limit(data["limit"]) return query
def status(request): cursor = connection.cursor() query = Query() response = {} for table in ['post', 'thread', 'forum', 'user']: query.clear() query.add_select(table, "count(*)") cursor.execute(query.get()) response[table] = cursor.fetchone()[0] cursor.close() return HttpResponse(dumps({'code': Code.OK, "response": response}))
def get_query_detail_user_by_email(email): query = Query() columns = 'u.*, group_concat(distinct f.following),' \ 'group_concat(distinct f1.follower),' \ 'group_concat(distinct s.thread)' query.add_select("user as u", columns) query.add_left_join("follow as f", "u.email = f.follower") query.add_left_join("follow as f1", "u.email = f1.following") query.add_left_join("subscribe as s", "u.email= s.user") query.add_where_condition("u.email = \"{}\"".format(email)) return query
def get_query_detail_thread_by_id(id_thread, has_forum): query = Query() columns = "t.*" if has_forum: columns += ", f.name f_name, f.short_name f_short_name, f.user f_user, f.id f_id" query.add_select("thread as t", columns) if has_forum: query.add_left_join("forum as f", "t.forum = f.short_name") query.add_where_condition("t.id = \"{}\"".format(id_thread)) return query
def get_query_list_child_posts(data, id_parent, do_limit=None): query = Query() columns = "id, message, date, isApproved, isHighlighted, isEdited, isSpam, " \ "isDeleted, forum, thread, user, dislikes, likes, points, parent" query.add_select("post", columns) query.add_where_condition("parent = {}".format(id_parent)) if "since" in data: query.add_more_where_condition("date > \"{}\"".format(data["since"])) if do_limit: query.add_limit(data["limit"]) query.add_order_by("date", "asc") return query
def get_query_list_root_posts(data): query = Query() columns = "id, message, date, isApproved, isHighlighted, isEdited, isSpam, " \ "isDeleted, forum, thread, user, dislikes, likes, points, parent" query.add_select("post", columns) query.add_where_condition("parent is NULL ") query.add_more_where_condition(" thread = {}".format(data["thread"])) if "since" in data: query.add_more_where_condition("date > \"{}\"".format(data["since"])) query.add_order_by("date", data["order"]) if "limit" in data: query.add_limit(data["limit"]) return query
def get_query_list_posts_by_thread(data): query = Query() columns = "p.id, p.message, p.date, p.isApproved, p.isHighlighted, p.isEdited, p.isSpam," \ "p.isDeleted, p.forum, p.thread, p.user, p.dislikes, p.likes, p.points, p.parent" query.add_select("post as p", columns) query.add_where_condition("p.thread = \"{}\"".format(data["thread"])) if "since" in data: query.add_more_where_condition("p.date > \"{}\"".format(data["since"])) query.add_order_by("p.date", data["order"]) if "limit" in data: query.add_limit(data["limit"]) return query
def get_query_detail_post_by_id(id_post, has_forum, has_thread): query = Query() columns = 'p.id, p.message, p.date, p.isApproved, p.isHighlighted, p.isEdited, p.isSpam, ' \ 'p.isDeleted, p.forum, p.thread, p.user, p.dislikes, p.likes, p.points, p.parent' if has_forum: columns += ", f.name f_name, f.short_name f_short_name, f.user f_user, f.id f_id" if has_thread: columns += ', t.id, t.forum, t.title, t.isClosed, ' \ 't.user, t.date, t.message, t.slug, t.isDeleted, ' \ 't.posts, t.likes , t.dislikes , t.points ' query.add_select("post as p", columns) if has_forum: query.add_left_join("forum as f", "p.forum = f.short_name") if has_thread: query.add_left_join("thread as t", "p.thread = t.id") query.add_where_condition("p.id = \"{}\"".format(id_post)) return query
def get_query_id_thread_by_id(thread_id): query = Query() query.add_select("thread", ["id"]) query.add_where_condition("id = \"{}\"".format(thread_id)) return query
def get_query_id_forum_by_short_name(short_name): query = Query() query.add_select("forum", ["id"]) query.add_where_condition("short_name = \"{}\"".format(short_name)) return query
def get_query_id_post_by_id(post_id): query = Query() query.add_select("post", ["id"]) query.add_where_condition("id = \"{}\"".format(post_id)) return query
def get_query_parent_thread_and_forum(post): query = Query() query.add_select("post", "forum, thread ") query.add_where_condition("id = \"{}\"".format(post)) return query
def get_query_id_user_by_email(email): query = Query() query.add_select("user", ["id"]) query.add_where_condition("email = \"{}\"".format(email)) return query
def get_query_user_by_id(user_id): query = Query() query.add_select("user", ["*"]) query.add_where_condition("id = \"{}\"".format(user_id)) return query