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 += '¬InTitle' 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)
# ============================================================================= # 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)
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)