Beispiel #1
0
def get_data(reportname, store, params, handler_args):
    handlers = get_conf("handlers")

    datas = store.__getattribute__(handlers[reportname]["db_handler"])(
        reportname, params, versions=params['versions'], appkeylist=None)
    return globals().get(handlers[reportname]["result_handler"])(datas,
                                                                 handler_args)
Beispiel #2
0
def reporting_chart_page(request, name):
    chart_mapping = get_conf("chart_mapping")
    if name in chart_mapping:
        chart_mapping[name]['chart'] = name
        return render_to_response('reporting.html',
                                  chart_mapping[name],
                                  context_instance=RequestContext(request))
Beispiel #3
0
def reporting_data(request):
    chart_view = get_conf("chart_view")
    params = get_request_params(request)
    if not params['report_name'] or not params['chart_name'] or \
        params['chart_name'] not in chart_view.keys():
        return []
    return write_result(chart_view[params['chart_name']], params, callback=(translate, ))
Beispiel #4
0
def reporting_data(request):
    chart_view = get_conf("chart_view")
    params = get_request_params(request)
    if not params['report_name'] or not params['chart_name'] or \
        params['chart_name'] not in chart_view.keys():
        return []
    return write_result(chart_view[params['chart_name']],
                        params,
                        callback=(translate, ))
Beispiel #5
0
def translate(report_name, datas, *args, **kwargs):
    translate_mapping = get_conf("translate_mapping")
    if report_name not in (u"访问来源分布", u"下载来源", u"来源分布"):
        return datas
    results = []
    for data in datas:
        if set(data.keys()) & set(translate_mapping.keys()):
            for key in data.keys():
                if key in translate_mapping.keys():
                    data[key] = translate_mapping[key].get(data[key], data[key])
        results.append(data)
    return results
Beispiel #6
0
def translate(report_name, datas, *args, **kwargs):
    translate_mapping = get_conf("translate_mapping")
    if report_name not in (u"访问来源分布", u"下载来源", u"来源分布"):
        return datas
    results = []
    for data in datas:
        if set(data.keys()) & set(translate_mapping.keys()):
            for key in data.keys():
                if key in translate_mapping.keys():
                    data[key] = translate_mapping[key].get(
                        data[key], data[key])
        results.append(data)
    return results
Beispiel #7
0
def get_sources(reportname):
    global featured_download_sources, rank_download_sources, times
    times += 1
    translate_mapping = get_conf("translate_mapping")
    reportname_mappings = {
            u"首页图表": (featured_download_sources, 'featured_'),
            u"排行图表": (rank_download_sources, 'rank_'),
        }
    sources = reportname_mappings[reportname][0]

    if not sources or times % 1000 == 0:
        sources = store.get_ranking_sources(reportname_mappings[reportname][1])
        final_sources = [[s, translate_mapping['source'][s]] for s in sources if translate_mapping['source'].get(s,None)]
        sources = final_sources

    return sources
Beispiel #8
0
def get_sources(reportname):
    global featured_download_sources, rank_download_sources, times
    times += 1
    translate_mapping = get_conf("translate_mapping")
    reportname_mappings = {
        u"首页图表": (featured_download_sources, 'featured_'),
        u"排行图表": (rank_download_sources, 'rank_'),
    }
    sources = reportname_mappings[reportname][0]

    if not sources or times % 1000 == 0:
        sources = store.get_ranking_sources(reportname_mappings[reportname][1])
        final_sources = [[s, translate_mapping['source'][s]] for s in sources
                         if translate_mapping['source'].get(s, None)]
        sources = final_sources

    return sources
Beispiel #9
0
def convert_trend_data(results):
    dates = sorted(list(set([r['date'] for r in results])))
    sources = list(set([r['source'] for r in results]))
    final_results = [{'name': u'日期', 'data': dates}]
    values = {}
    source_mapping = get_conf("translate_mapping")['source']

    for r in results:
        key = r['date'] + '_' + r['source']
        if key in values.keys():
            values[key] += int(r['times'])
        else:
            values[key] = int(r['times'])
    for source in sources:
        value_list = []
        for d in dates:
            value_list.append(values.get(d + '_' + source, 0))
        final_results.append({'name': source_mapping.get(source, source), 'data': value_list})

    return final_results
Beispiel #10
0
def convert_trend_data(results):
    dates = sorted(list(set([r['date'] for r in results])))
    sources = list(set([r['source'] for r in results]))
    final_results = [{'name': u'日期', 'data': dates}]
    values = {}
    source_mapping = get_conf("translate_mapping")['source']

    for r in results:
        key = r['date'] + '_' + r['source']
        if key in values.keys():
            values[key] += int(r['times'])
        else:
            values[key] = int(r['times'])
    for source in sources:
        value_list = []
        for d in dates:
            value_list.append(values.get(d + '_' + source, 0))
        final_results.append({
            'name': source_mapping.get(source, source),
            'data': value_list
        })

    return final_results
Beispiel #11
0
def reporting_chart_page(request, name):
    chart_mapping = get_conf("chart_mapping")
    if name in chart_mapping:
        chart_mapping[name]['chart'] = name
        return render_to_response('reporting.html', chart_mapping[name], context_instance=RequestContext(request))
Beispiel #12
0
def get_data(reportname, store, params, handler_args):
    handlers = get_conf("handlers")

    datas = store.__getattribute__(handlers[reportname]["db_handler"])(reportname, params,
                            versions=params['versions'], appkeylist=None)
    return globals().get(handlers[reportname]["result_handler"])(datas, handler_args)