Exemple #1
0
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 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
Exemple #10
0
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)
Exemple #11
0
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)