Example #1
0
def list_method():
	qs = get_json(request)
	if qs.get('forum'):
		key = "forum"
	elif qs.get('user'):
		key = "user"
	else:
		return json.dumps({"code": 2, "response": "No 'forum' key"}, indent=4)
	keyValue = qs.get(key)

	since = qs.get('since', '')
	order = qs.get('order', '')
	limit = qs.get('limit', -1)

	if key == "forum":
		threadList = get_thread_list(forum=keyValue, since=since, order=order, limit=limit)
	else:
		threadList = get_thread_list(user=keyValue, since=since, order=order, limit=limit)

	return json.dumps({"code": 0, "response": threadList}, indent=4)
Example #2
0
def listThreads():
    qs = get_json(request)

    forum = qs.get('forum')

    if not forum:
        return json.dumps({"code": 2, "response": "No 'forum' key"}, indent=4)

    since = qs.get('since', '')
    order = qs.get('order', '')
    limit = qs.get('limit', -1)
    threadList = get_thread_list(forum=forum,
                                 since=since,
                                 order=order,
                                 limit=limit)

    # Related part
    relatedValues = list()
    qsRelated = qs.get('related')
    if type(qsRelated) is list:
        relatedValues.extend(qsRelated)
    elif type(qsRelated) is str:
        relatedValues.append(qsRelated)

    forumRelated = False
    userRelated = False
    for relatedValue in relatedValues:
        if relatedValue == 'forum':
            forumRelated = True
        elif relatedValue == 'user':
            userRelated = True
        else:
            return json.dumps({
                "code": 3,
                "response": "Wrong related value"
            },
                              indent=4)

    for thread in threadList:
        if userRelated:
            thread['user'] = get_user_dict(thread['user'])
            thread['user']['subscriptions'] = get_subscribed_threads_list(
                thread['user']['email'])

        if forumRelated:
            thread['forum'] = get_forum_dict(short_name=thread['forum'])

    return json.dumps({"code": 0, "response": threadList}, indent=4)
Example #3
0
def listThreads():
	qs = get_json(request)

	forum = qs.get('forum')

	if not forum:
		return json.dumps({"code": 2, "response": "No 'forum' key"}, indent=4)

	since = qs.get('since', '')
	order = qs.get('order', '')
	limit = qs.get('limit', -1)
	threadList = get_thread_list(forum=forum, since=since, order=order, limit=limit)

	# Related part
	relatedValues = list()
	qsRelated = qs.get('related')
	if type(qsRelated) is list:
		relatedValues.extend(qsRelated)
	elif type(qsRelated) is str:
		relatedValues.append(qsRelated)

	forumRelated = False
	userRelated = False
	for relatedValue in relatedValues:
		if relatedValue == 'forum':
			forumRelated = True
		elif relatedValue == 'user':
			userRelated = True
		else:
			return json.dumps({"code": 3, "response": "Wrong related value"}, indent=4)

	for thread in threadList:
		if userRelated:
			thread['user'] = get_user_dict(thread['user'])
			thread['user']['subscriptions'] = get_subscribed_threads_list(thread['user']['email'])

		if forumRelated:
			thread['forum'] = get_forum_dict(short_name=thread['forum'])

	return json.dumps({"code": 0, "response": threadList}, indent=4)
Example #4
0
	if requestBody.get('isDeleted', False):
		isDeleted = 1
	else:
		isDeleted = 0

	sql = """INSERT INTO Thread (forum, title, isClosed, user, date, message, slug, isDeleted) \
		VALUES (%(forum)s, %(title)s, %(isClosed)s, %(user)s, %(date)s, %(message)s, %(slug)s, %(isDeleted)s);"""
	args = {'forum': forum, 'title': title, 'isClosed': is_closed, 'user': user, 'date': date, 'message': message,
			'slug': slug, 'isDeleted': isDeleted}

	try:
		db.execute(sql, args, True)
	except MySQLdb.IntegrityError, message:
		print message[0]
	finally:
		threadList = get_thread_list(title=title)
		if threadList == list():
			return json.dumps({"code": 1, "response": "Empty set"}, indent=4)

		return json.dumps({"code": 0, "response": threadList[0]}, indent=4)


@module.route("/details/", methods=["GET"])
def details():
	qs = get_json(request)

	threadID = qs.get('thread')
	if not threadID:
		return json.dumps({"code": 2, "response": "No 'thread' key"}, indent=4)

	thread = get_thread_by_id(threadID)