def media_inlinks(topics_id, media_id): user_mc = user_admin_mediacloud_client() sort = validated_sort(request.args.get('sort')) limit = request.args.get('limit') inlinks = topic_story_list(user_mediacloud_key(), topics_id, link_to_media_id=media_id, sort=sort, limit=limit) return jsonify(inlinks)
def media_stories(topics_id, media_id): sort = validated_sort(request.args.get('sort')) limit = request.args.get('limit') stories = apicache.topic_story_list(user_mediacloud_key(), topics_id, media_id=media_id, sort=sort, limit=limit) return jsonify(stories)
def topic_media_csv(topics_id): sort = validated_sort(request.args.get('sort')) snapshots_id, timespans_id, foci_id, q = filters_from_args(request.args) return _stream_media_list_csv(user_mediacloud_key(), 'media-for-topic-' + topics_id, topics_id, sort=sort, snapshots_id=snapshots_id, timespans_id=timespans_id, foci_id=foci_id, q=q)
def topic_media_list(user_mc_key, topics_id, **kwargs): ''' Return sorted media list based on filters. ''' snapshots_id, timespans_id, foci_id, q = filters_from_args(request.args) merged_args = { 'snapshots_id': snapshots_id, 'timespans_id': timespans_id, 'foci_id': foci_id, 'q': q, 'sort': validated_sort(request.args.get('sort')), 'limit': request.args.get('limit'), 'link_id': request.args.get('linkId'), } merged_args.update(kwargs) # passed in args override anything pulled form the request.args return _cached_topic_media_list_with_metadata(user_mc_key, topics_id, **merged_args)
def topic_story_list(user_mc_key, topics_id, **kwargs): ''' Return sorted story list based on filters. ''' snapshots_id, timespans_id, foci_id, q = filters_from_args(request.args) merged_args = { 'snapshots_id': snapshots_id, 'timespans_id': timespans_id, 'foci_id': foci_id, 'q': q, 'sort': validated_sort(request.args.get('sort')), 'limit': request.args.get('limit'), 'link_id': request.args.get('linkId'), } merged_args.update( kwargs ) # passed in args override anything pulled form the request.args return _cached_topic_story_list(user_mc_key, topics_id, **merged_args)
def all_media_outlinks(topics_id, media_id): all_stories = [] more_stories = True link_id = 0 sort = validated_sort(request.args.get('sort')) while more_stories: page = apicache.topic_story_list(user_mediacloud_key(), topics_id, link_from_media_id=media_id, sort=sort, link_id=link_id, limit=1000) story_list = page['stories'] all_stories = all_stories + story_list if 'next' in page['link_ids']: link_id = page['link_ids']['next'] more_stories = True else: more_stories = False return jsonify({"stories": all_stories})
def topic_story_list(user_mc_key, topics_id, **kwargs): ''' Return sorted story list based on filters. ''' snapshots_id, timespans_id, foci_id, q = filters_from_args(request.args) merged_args = { 'snapshots_id': snapshots_id, 'timespans_id': timespans_id, 'foci_id': foci_id, 'q': q, 'sort': validated_sort(request.args.get('sort')), 'limit': request.args.get('limit'), 'link_id': request.args.get('linkId'), } merged_args.update(kwargs) # passed in args override anything pulled form the request.args results = _cached_topic_story_list(user_mc_key, topics_id, **merged_args) if merged_args['limit']: # TODO: remove this (force limit as workaround to back-end bug) results['stories'] = results['stories'][:int(merged_args['limit'])] return results
def topic_story_list(user_mc_key, topics_id, **kwargs): ''' Return sorted story list based on filters. ''' snapshots_id, timespans_id, foci_id, q = filters_from_args(request.args) merged_args = { 'snapshots_id': snapshots_id, 'timespans_id': timespans_id, 'foci_id': foci_id, 'q': q, 'sort': validated_sort(request.args.get('sort')), 'limit': request.args.get('limit'), 'link_id': request.args.get('linkId'), } merged_args.update( kwargs ) # passed in args override anything pulled form the request.args results = _cached_topic_story_list(user_mc_key, topics_id, **merged_args) if merged_args[ 'limit']: # TODO: remove this (force limit as workaround to back-end bug) results['stories'] = results['stories'][:int(merged_args['limit'])] return results
def media_inlinks(topics_id, media_id): sort = validated_sort(request.args.get('sort')) limit = request.args.get('limit') inlinks = apicache.topic_story_list(user_mediacloud_key(), topics_id, link_to_media_id=media_id, sort=sort, limit=limit) return jsonify(inlinks)