예제 #1
0
def update_folder_stats(request):
    logging.info(request.POST)
    folder_key = request.POST['folder_key']
    season_key = request.POST['season_key']
   
    course_list=Course.list_filter(season_key,folder_key)

    tc_em = 0
    tc_ef = 0
    tc_e = 0
    tc_pm = 0
    tc_pf = 0
    tc_p = 0

    tc_ppm = 0
    tc_ppf = 0
    tc_pp = 0

    tc_npm = 0
    tc_npf = 0
    tc_np = 0

    tc_sum = 0
    if course_list is not None:
        for c in course_list:
            tc_em+=c.stat_e_m
            tc_ef+=c.stat_e_f
            tc_e+=c.usage
            tc_pm+=c.stat_fp_m
            tc_pf+=c.stat_fp_f
            tc_p+=c.stat_fp_m+c.stat_fp_f
            tc_ppm+=c.stat_pp_m
            tc_ppf+=c.stat_pp_f
            tc_pp+=c.stat_pp_m+c.stat_pp_f
            tc_npm+=c.stat_np_m
            tc_npf+=c.stat_np_f
            tc_np+=c.stat_np_m+c.stat_np_f
            tc_sum+=c.stat_paid

    logging.info('stat done')

    fs = FolderStats.get_or_create(season_key,folder_key)

    logging.info('old folder stats %s' % (fs))


    fs.stat_em = tc_em
    fs.stat_ef = tc_ef
    fs.stat_e = tc_e

    fs.stat_pm = tc_pm
    fs.stat_pf = tc_pf
    fs.stat_p = tc_p

    fs.stat_ppm = tc_ppm
    fs.stat_ppf = tc_ppf
    fs.stat_pp = tc_pp

    fs.stat_npm = tc_npm
    fs.stat_npf = tc_npf
    fs.stat_np = tc_np
 
    fs.stat_sum = tc_sum

    fs.mark_update()
    fs.save()

    logging.info('folder stats %s' % (fs))

    return HttpResponse('ok')
예제 #2
0
파일: views.py 프로젝트: prcek/TSReg
def index(request):


    season = None
    if request.method == 'POST':
        form = SeasonFilterForm(request.POST)
        if form.is_valid():
            season = Season.get(str(form.cleaned_data['season_key']))
            if not season is None:
                request.session['course_season_key']=str(season.key())
    else:
        cskey = request.session.get('course_season_key',None)
        if not cskey is None:
            season =  Season.get(str(cskey))

        if (season is None):
            form = SeasonFilterForm()
        else:
            form = SeasonFilterForm({'season_key':str(season.key())})


    logging.info(season)
    prev_season = None
    if not season is None:
        prev_season = season.get_prev()
    
    logging.info(prev_season)

    prev_prev_season = None
    if not prev_season is None:
        prev_prev_season = prev_season.get_prev()

    logging.info(prev_prev_season)



    folder_stats = []
    if not season is None:
    	folder_stats = list(FolderStats.list_by_season(str(season.key())))

    if not prev_season is None:
        prev_folder_stats = FolderStats.list_by_season(str(prev_season.key()))
        for fs,ps in izip(folder_stats,prev_folder_stats):
            fs.prev_season_sum_1 = ps.stat_sum


    if not prev_prev_season is None:
        prev_prev_folder_stats = FolderStats.list_by_season(str(prev_prev_season.key()))
        for fs,ps in izip(folder_stats,prev_prev_folder_stats):
            fs.prev_season_sum_2 = ps.stat_sum


    ts_em = 0
    ts_ef = 0
    ts_e = 0

    ts_pm = 0
    ts_pf = 0
    ts_p = 0

    ts_ppm = 0 
    ts_ppf = 0
    ts_pp = 0

    ts_npm = 0
    ts_npf = 0
    ts_np = 0

    ts_sum = 0

    ts_prev_s1 = 0
    ts_prev_s2 = 0

    for fs in folder_stats:
        ts_em = ts_em + fs.stat_em
        ts_ef = ts_ef + fs.stat_ef
        ts_e = ts_e + fs.stat_e

        ts_pm = ts_pm + fs.stat_pm
        ts_pf = ts_pf + fs.stat_pf
        ts_p = ts_p + fs.stat_p

        ts_ppm = ts_ppm + fs.stat_ppm
        ts_ppf = ts_ppf + fs.stat_ppf
        ts_pp = ts_pp + fs.stat_pp
 
        ts_npm = ts_npm + fs.stat_npm
        ts_npf = ts_npf + fs.stat_npf
        ts_np = ts_np + fs.stat_np

        ts_sum = ts_sum + fs.stat_sum

        ts_prev_s1 = ts_prev_s1 + fs.prev_season_sum_1
        ts_prev_s2 = ts_prev_s2 + fs.prev_season_sum_2

    return render_to_response('admin/index.html', RequestContext(request, {
    	'form': form, 'folder_stats':folder_stats, 
        'ts_em': ts_em, 'ts_ef': ts_ef, 'ts_e': ts_e,
        'ts_pm': ts_pm, 'ts_pf': ts_pf, 'ts_p': ts_p,
        'ts_ppm': ts_ppm, 'ts_ppf': ts_ppf, 'ts_pp': ts_pp,
        'ts_npm': ts_npm, 'ts_npf': ts_npf, 'ts_np': ts_np,
        'ts_sum':ts_sum, 'ts_prev_s1': ts_prev_s1, 'ts_prev_s2': ts_prev_s2,
        's': season, 'prev_s1': prev_season, 'prev_s2': prev_prev_season
    	}))