~allanlesage/qa-coverage-dashboard/simplify-extractor

« back to all changes in this revision

Viewing changes to gaps/views.py

  • Committer: chris.gagnon
  • Date: 2014-02-25 15:36:32 UTC
  • mfrom: (741.1.9 deployment)
  • Revision ID: chris.gagnon@canonical.com-20140225153632-kj9gddp684q9xhis
merge with trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
80
80
    return HttpResponse(t.render(c))
81
81
 
82
82
def stack_list(request):
83
 
    stack_list = Cu2dStack.objects.all()
 
83
    stack_list = CoverageStack.objects.all()
84
84
    t = loader.get_template('stack_list.html')
85
85
    c = Context({'stack_list': stack_list})
86
86
    return HttpResponse(t.render(c))
87
87
 
88
 
 
89
88
def stack(request, stack_name):
90
 
    stack = Cu2dStack.objects.get(name=stack_name)
91
 
    stack_list = Cu2dStack.objects.all()
92
 
    project_list = CoverageProject.objects.filter(stack=stack)
93
 
 
94
 
    coverage_jobs = [project.autolanding_primary_job for project in project_list]
 
89
    stack = CoverageStack.objects.get(name=stack_name)
 
90
    stack_list = CoverageStack.objects.all()
 
91
    project_list = CoverageProject.objects.filter(
 
92
        stack__name=stack_name)
95
93
    coverage_builds = CoverageBuild.objects.filter(
96
 
        jenkins_job__in=coverage_jobs,
97
 
        coverage_report__isnull=False).order_by('timestamp')
 
94
        project__in=project_list)
 
95
    print coverage_builds
98
96
    data = []
99
97
    for build in coverage_builds:
100
98
        # for every time point, compute stack coverage percentages
101
99
        hit_sum = line_sum = taken_sum = total_sum = 0
102
100
        for project in project_list:
103
 
            coverage_build = project.last_coverage_build(build.timestamp)
104
 
            if coverage_build:
105
 
                line_sum += coverage_build.line_count
106
 
                hit_sum += coverage_build.hit_count
107
 
                total_sum += coverage_build.total_count
108
 
                taken_sum += coverage_build.taken_count
 
101
            coverage_data = CoverageData.objects.get(
 
102
                coverage_build=build)
 
103
            if coverage_data:
 
104
                line_sum += coverage_data.line_count
 
105
                hit_sum += coverage_data.hit_count
 
106
                total_sum += coverage_data.total_count
 
107
                taken_sum += coverage_data.taken_count
109
108
        try:
110
109
            line_coverage = float(hit_sum) / float(line_sum)
111
110
        except ZeroDivisionError:
114
113
            branch_coverage = float(taken_sum) / float(total_sum)
115
114
        except ZeroDivisionError:
116
115
            branch_coverage = 0
117
 
        data.append({'timestamp': build.timestamp,
 
116
        data.append({'timestamp': build.ran_at,
118
117
                     'line coverage': line_coverage,
119
118
                     'branch coverage': branch_coverage})
120
119
    columns_order = ['timestamp',