comment_client.py 1.8 KB
Newer Older
1 2
# Import other classes here so they can be imported from here.
# pylint: disable=W0611
3 4 5 6
from .comment import Comment
from .thread import Thread
from .user import User
from .commentable import Commentable
7

8
from .utils import *
9

Rocky Duan committed
10
import settings
11

Calen Pennington committed
12

13 14 15 16 17
def search_similar_threads(course_id, recursive=False, query_params={}, *args, **kwargs):
    default_params = {'course_id': course_id, 'recursive': recursive}
    attributes = dict(default_params.items() + query_params.items())
    return perform_request('get', _url_for_search_similar_threads(), attributes, *args, **kwargs)

Calen Pennington committed
18

19 20 21 22 23
def search_recent_active_threads(course_id, recursive=False, query_params={}, *args, **kwargs):
    default_params = {'course_id': course_id, 'recursive': recursive}
    attributes = dict(default_params.items() + query_params.items())
    return perform_request('get', _url_for_search_recent_active_threads(), attributes, *args, **kwargs)

Calen Pennington committed
24

25 26 27 28 29
def search_trending_tags(course_id, query_params={}, *args, **kwargs):
    default_params = {'course_id': course_id}
    attributes = dict(default_params.items() + query_params.items())
    return perform_request('get', _url_for_search_trending_tags(), attributes, *args, **kwargs)

Calen Pennington committed
30

Rocky Duan committed
31 32 33
def tags_autocomplete(value, *args, **kwargs):
    return perform_request('get', _url_for_threads_tags_autocomplete(), {'value': value}, *args, **kwargs)

34
def _url_for_search_similar_threads():
Rocky Duan committed
35
    return "{prefix}/search/threads/more_like_this".format(prefix=settings.PREFIX)
36

Calen Pennington committed
37

38
def _url_for_search_recent_active_threads():
Rocky Duan committed
39
    return "{prefix}/search/threads/recent_active".format(prefix=settings.PREFIX)
40

Calen Pennington committed
41

42
def _url_for_search_trending_tags():
Rocky Duan committed
43
    return "{prefix}/search/tags/trending".format(prefix=settings.PREFIX)
Rocky Duan committed
44

Calen Pennington committed
45

Rocky Duan committed
46 47
def _url_for_threads_tags_autocomplete():
    return "{prefix}/threads/tags/autocomplete".format(prefix=settings.PREFIX)