Exemplo n.º 1
0
def opinion_ratio():
    """饼图数据
    """
    topic_name = request.args.get('query', default_topic_name) # 话题名
    topk = request.args.get('topk', 10)
    end_ts = request.args.get('ts', None)
    during = request.args.get('during', None)
    subevent_status = request.args.get('subevent', 'global')

    if end_ts:
        end_ts = int(end_ts)

    if during:
        during = int(during)
        start_ts = end_ts - during

    topicid = em.getEventIDByName(topic_name)
    event = Event(topicid)

    if subevent_status != 'global':
        subeventid = subevent_status
        results = event.getMediaCount(start_ts, end_ts, subevent=subeventid)
    else:
        results = event.getMediaCount(start_ts, end_ts)

    from collections import Counter
    results = Counter(results)
    results = dict(results.most_common(topk))

    total_weight = sum(results.values())
    results = {k: float(v) / float(total_weight) for k, v in results.iteritems()}

    return json.dumps(results)
Exemplo n.º 2
0
def opinion_ratio():
    """饼图数据
    """
    topic_name = request.args.get('query', default_topic_name)  # 话题名
    topk = request.args.get('topk', 10)
    end_ts = request.args.get('ts', None)
    during = request.args.get('during', None)
    subevent_status = request.args.get('subevent', 'global')

    if end_ts:
        end_ts = int(end_ts)

    if during:
        during = int(during)
        start_ts = end_ts - during

    topicid = em.getEventIDByName(topic_name)
    event = Event(topicid)

    if subevent_status != 'global':
        subeventid = subevent_status
        results = event.getMediaCount(start_ts, end_ts, subevent=subeventid)
    else:
        results = event.getMediaCount(start_ts, end_ts)

    from collections import Counter
    results = Counter(results)
    results = dict(results.most_common(topk))

    total_weight = sum(results.values())
    results = {
        k: float(v) / float(total_weight)
        for k, v in results.iteritems()
    }

    return json.dumps(results)