Esempio n. 1
0
def build_pagination_links(request, paged_list):
    """
    This takes the data sent in the 'links' part of an api response
    and generates a dictionary of navigation links based on that.
    """

    if not hasattr(paged_list, 'page'):
        return {}

    page_nav = {
    'page': int(paged_list.page),
    'total_pages': int(paged_list.total_pages),
    'limit': int(paged_list.limit),
    'offset': int(paged_list.offset)
    }

    for item in request:
        url = str.replace(str(item['href']), '/search', '/today/')
        url = str.replace(url, '?since=-1&type=conversation&type=event&type=profile&type=huddle', '')
        url = str.replace(url, '&since=-1&type=conversation&type=event&type=profile&type=huddle', '')
        url = str.replace(url, '/&offset=', '/?offset=')
        item['href'] = api_url_to_gui_url(url)
        page_nav[item['rel']] = item

    return page_nav
Esempio n. 2
0
def build_pagination_links(request, paged_list):
    """
    This takes the data sent in the 'links' part of an api response
    and generates a dictionary of navigation links based on that.
    """

    if not hasattr(paged_list, 'page'):
        return {}

    page_nav = {
        'page': int(paged_list.page),
        'total_pages': int(paged_list.total_pages),
        'limit': int(paged_list.limit),
        'offset': int(paged_list.offset)
    }

    for item in request:
        url = str.replace(str(item['href']), '/search', '/today/')
        url = str.replace(
            url,
            '?since=-1&type=conversation&type=event&type=profile&type=huddle',
            '')
        url = str.replace(
            url,
            '&since=-1&type=conversation&type=event&type=profile&type=huddle',
            '')
        url = str.replace(url, '/&offset=', '/?offset=')
        item['href'] = api_url_to_gui_url(url)
        page_nav[item['rel']] = item

    return page_nav
Esempio n. 3
0
def build_newest_comment_link(response):

    response = response['comments']['links']
    for link in response:
        if link['rel'] == 'self':
            response = link['href']
    response = api_url_to_gui_url(response)
    pr = urlparse(response)
    queries = parse_qs(pr[4])
    frag = ""
    if queries.get('comment_id'):
        frag = 'comment' + queries['comment_id'][0]
        del queries['comment_id']
        # queries is a dictionary of 1-item lists (as we don't re-use keys in our query string)
    # urlencode will encode the lists into the url (offset=[25]) etc.  So get the values straight.
    for (key, value) in queries.items():
        queries[key] = value[0]
    queries = urlencode(queries)
    response = urlunparse((pr[0], pr[1], pr[2], pr[3], queries, frag))
    return response
Esempio n. 4
0
def build_pagination_links(request, paged_list):
    """
    This takes the data sent in the 'links' part of an api response
    and generates a dictionary of navigation links based on that.
    """

    if not hasattr(paged_list, 'page'):
        return {}

    page_nav = {
        'page': int(paged_list.page),
        'total_pages': int(paged_list.total_pages),
        'limit': int(paged_list.limit),
        'offset': int(paged_list.offset)
    }

    for item in request:
        item['href'] = api_url_to_gui_url(item['href'])
        page_nav[item['rel']] = item

    return page_nav
Esempio n. 5
0
def build_pagination_links(request, paged_list):
    """
    This takes the data sent in the 'links' part of an api response
    and generates a dictionary of navigation links based on that.
    """

    if not hasattr(paged_list, 'page'):
        return {}

    page_nav = {
    'page': int(paged_list.page),
    'total_pages': int(paged_list.total_pages),
    'limit': int(paged_list.limit),
    'offset': int(paged_list.offset)
    }

    for item in request:
        item['href'] = api_url_to_gui_url(item['href'])
        page_nav[item['rel']] = item

    return page_nav
Esempio n. 6
0
def build_newest_comment_link(response, request=None):

    source = ''
    medium = ''
    campaign = ''

    if request is not None:
        source = request.GET.get('utm_source', '')
        medium = request.GET.get('utm_medium', '')
        campaign = request.GET.get('utm_campaign', '')

    response = response['comments']['links']
    for link in response:
        if link['rel'] == 'self':
            response = link['href']
    response = api_url_to_gui_url(response)
    pr = urlparse(response)
    queries = parse_qs(pr[4])
    frag = ""

    if queries.get('comment_id'):
        frag = 'comment' + queries['comment_id'][0]
        del queries['comment_id']

    # queries is a dictionary of 1-item lists (as we don't re-use keys in our query string)
    # urlencode will encode the lists into the url (offset=[25]) etc.  So get the values straight.
    for (key, value) in queries.items():
        queries[key] = value[0]

    # preserve utm tracking from original request
    if source and medium and campaign:
        queries['utm_source'] = source
        queries['utm_medium'] = medium
        queries['utm_campaign'] = campaign

    queries = urlencode(queries)
    response = urlunparse((pr[0], pr[1], pr[2], pr[3], queries, frag))
    return response
Esempio n. 7
0
def build_newest_comment_link(response, request=None):

    source = ''
    medium = ''
    campaign = ''

    if request is not None:
        source = request.GET.get('utm_source', '') 
        medium = request.GET.get('utm_medium', '')
        campaign = request.GET.get('utm_campaign', '')

    response = response['comments']['links']
    for link in response:
        if link['rel'] == 'self':
            response = link['href']
    response = api_url_to_gui_url(response)
    pr = urlparse(response)
    queries = parse_qs(pr[4])
    frag = ""

    if queries.get('comment_id'):
        frag = 'comment' + queries['comment_id'][0]
        del queries['comment_id']
    
    # queries is a dictionary of 1-item lists (as we don't re-use keys in our query string)
    # urlencode will encode the lists into the url (offset=[25]) etc.  So get the values straight.
    for (key, value) in queries.items():
        queries[key] = value[0]

    # preserve utm tracking from original request
    if source and medium and campaign:
        queries['utm_source'] = source
        queries['utm_medium'] = medium
        queries['utm_campaign'] = campaign

    queries = urlencode(queries)
    response = urlunparse((pr[0], pr[1], pr[2], pr[3], queries, frag))
    return response