示例#1
0
    if kwargs.get('start_date') is not None:
        base_url += '&startDate=%s' % kwargs['start_date']

    if kwargs.get('end_date') is not None:
        base_url += '&endDate=%s' % kwargs['end_date']

    if kwargs.get('platforms') is not None:
        base_url += '&platforms=%s' % ','.join(kwargs['platforms'])

    if kwargs.get('types') is not None:
        base_url += '&types=%s' % ','.join(kwargs['types'])

    if kwargs.get('offset') is not None:
        base_url += '&offset=%s' % kwargs['offset']

    if kwargs.get('not_in_title') is not None:
        base_url += '&notInTitle'

    if kwargs.get('and') is not None:
        base_url += '&and=%s' % quote(kwargs['and'])

    if kwargs.get('language') is not None:
        base_url += '&language=%s' % kwargs['language']

    return base_url


crowdtangle_search = make_paginated_iterator(url_forge,
                                             item_key='posts',
                                             formatter=format_post)
示例#2
0
# =============================================================================
# Minet CrowdTangle Leaderboard
# =============================================================================
#
# Function related to leaderboards
#
from minet.crowdtangle.utils import make_paginated_iterator
from minet.crowdtangle.formatters import format_leaderboard

URL_TEMPLATE = 'https://api.crowdtangle.com/leaderboard?count=100&token=%s'


def url_forge(token=None, list_id=None, **kwargs):
    base_url = URL_TEMPLATE % token

    if list_id:
        base_url += '&listId=%s' % list_id

    return base_url


crowdtangle_leaderboard = make_paginated_iterator(
    url_forge,
    item_key='accountStatistics',
    item_id_getter=lambda x: x['account']['id'],
    formatter=format_leaderboard)
示例#3
0
from minet.crowdtangle.formatters import format_post

URL_TEMPLATE = "https://api.crowdtangle.com/links?count=100&sortBy=%(sort_by)s&token=%(token)s&link=%(link)s"


def url_forge(**kwargs):
    base_url = URL_TEMPLATE % {
        "sort_by": kwargs["sort_by"],
        "token": kwargs["token"],
        "link": quote(kwargs["link"]),
    }

    if kwargs.get("start_date") is not None:
        base_url += "&startDate=%s" % kwargs["start_date"]

    if kwargs.get("end_date") is not None:
        base_url += "&endDate=%s" % kwargs["end_date"]

    if kwargs.get("platforms") is not None:
        base_url += "&platforms=%s" % ",".join(kwargs["platforms"])

    if kwargs.get("include_summary") is not None:
        base_url += "&includeSummary=%s" % kwargs["include_summary"]

    return base_url


crowdtangle_links = make_paginated_iterator(url_forge,
                                            item_key="posts",
                                            formatter=format_post)