summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/toaster/bldviewer/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/toaster/bldviewer/views.py')
-rw-r--r--bitbake/lib/toaster/bldviewer/views.py47
1 files changed, 35 insertions, 12 deletions
diff --git a/bitbake/lib/toaster/bldviewer/views.py b/bitbake/lib/toaster/bldviewer/views.py
index 3eb785b6c6..7cb9b42379 100644
--- a/bitbake/lib/toaster/bldviewer/views.py
+++ b/bitbake/lib/toaster/bldviewer/views.py
@@ -24,15 +24,38 @@ from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMes
24from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency 24from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency
25from orm.models import Target_Installed_Package 25from orm.models import Target_Installed_Package
26from django.views.decorators.cache import cache_control 26from django.views.decorators.cache import cache_control
27from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
28
29
30def _build_page_range(paginator, index = 1):
31 try:
32 page = paginator.page(index)
33 except PageNotAnInteger:
34 page = paginator.page(1)
35 except EmptyPage:
36 page = paginator.page(paginator.num_pages)
37
38 page.page_range = [page.number]
39 crt_range = 0
40 for i in range(1,5):
41 if (page.number + i) <= paginator.num_pages:
42 page.page_range = page.page_range + [ page.number + i]
43 crt_range +=1
44 if (page.number - i) > 0:
45 page.page_range = [page.number -i] + page.page_range
46 crt_range +=1
47 if crt_range == 4:
48 break
49 return page
27 50
28@cache_control(no_store=True) 51@cache_control(no_store=True)
29def build(request): 52def build(request):
30 template = 'build.html' 53 template = 'build.html'
31 build_info = Build.objects.all()
32
33 logs = LogMessage.objects.all() 54 logs = LogMessage.objects.all()
34 55
35 context = {'builds': build_info, 'logs': logs , 56 build_info = _build_page_range(Paginator(Build.objects.order_by("-id"), 10),request.GET.get('page', 1))
57
58 context = {'objects': build_info, 'logs': logs ,
36 'hideshowcols' : [ 59 'hideshowcols' : [
37 {'name': 'Output', 'order':10}, 60 {'name': 'Output', 'order':10},
38 {'name': 'Log', 'order':11}, 61 {'name': 'Log', 'order':11},
@@ -61,38 +84,38 @@ def _find_task_provider(task):
61def task(request, build_id): 84def task(request, build_id):
62 template = 'task.html' 85 template = 'task.html'
63 86
64 tasks = Task.objects.filter(build=build_id) 87 tasks = _build_page_range(Paginator(Task.objects.filter(build=build_id), 100),request.GET.get('page', 1))
65 88
66 for t in tasks: 89 for t in tasks:
67 if t.outcome == Task.OUTCOME_COVERED: 90 if t.outcome == Task.OUTCOME_COVERED:
68 t.provider = _find_task_provider(t) 91 t.provider = _find_task_provider(t)
69 92
70 context = {'build': Build.objects.filter(pk=build_id)[0], 'tasks': tasks} 93 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects': tasks}
71 94
72 return render(request, template, context) 95 return render(request, template, context)
73 96
74def configuration(request, build_id): 97def configuration(request, build_id):
75 template = 'configuration.html' 98 template = 'configuration.html'
76 variables = Variable.objects.filter(build=build_id) 99 variables = _build_page_range(Paginator(Variable.objects.filter(build=build_id), 50), request.GET.get('page', 1))
77 context = {'build': Build.objects.filter(pk=build_id)[0], 'configuration' : variables} 100 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : variables}
78 return render(request, template, context) 101 return render(request, template, context)
79 102
80def bpackage(request, build_id): 103def bpackage(request, build_id):
81 template = 'bpackage.html' 104 template = 'bpackage.html'
82 packages = Package.objects.filter(build = build_id) 105 packages = Package.objects.filter(build = build_id)
83 context = {'build': Build.objects.filter(pk=build_id)[0], 'packages' : packages} 106 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : packages}
84 return render(request, template, context) 107 return render(request, template, context)
85 108
86def bfile(request, build_id, package_id): 109def bfile(request, build_id, package_id):
87 template = 'bfile.html' 110 template = 'bfile.html'
88 files = Package_File.objects.filter(package = package_id) 111 files = Package_File.objects.filter(package = package_id)
89 context = {'build': Build.objects.filter(pk=build_id)[0], 'files' : files} 112 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : files}
90 return render(request, template, context) 113 return render(request, template, context)
91 114
92def tpackage(request, build_id, target_id): 115def tpackage(request, build_id, target_id):
93 template = 'package.html' 116 template = 'package.html'
94 packages = map(lambda x: x.package, list(Target_Installed_Package.objects.filter(target=target_id))) 117 packages = map(lambda x: x.package, list(Target_Installed_Package.objects.filter(target=target_id)))
95 context = {'build': Build.objects.filter(pk=build_id)[0], 'packages' : packages} 118 context = {'build': Build.objects.filter(pk=build_id)[0], 'objects' : packages}
96 return render(request, template, context) 119 return render(request, template, context)
97 120
98def layer(request): 121def layer(request):
@@ -104,7 +127,7 @@ def layer(request):
104 for liv in li.versions: 127 for liv in li.versions:
105 liv.count = Recipe.objects.filter(layer_version__id = liv.id).count() 128 liv.count = Recipe.objects.filter(layer_version__id = liv.id).count()
106 129
107 context = {'layers': layer_info} 130 context = {'objects': layer_info}
108 131
109 return render(request, template, context) 132 return render(request, template, context)
110 133
@@ -113,7 +136,7 @@ def layer_versions_recipes(request, layerversion_id):
113 template = 'recipe.html' 136 template = 'recipe.html'
114 recipes = Recipe.objects.filter(layer_version__id = layerversion_id) 137 recipes = Recipe.objects.filter(layer_version__id = layerversion_id)
115 138
116 context = {'recipes': recipes, 139 context = {'objects': recipes,
117 'layer_version' : Layer_Version.objects.filter( id = layerversion_id )[0] 140 'layer_version' : Layer_Version.objects.filter( id = layerversion_id )[0]
118 } 141 }
119 142