[bitbake-devel] [PATCH 36/94] bitbake: webhob: add simple pages for Recipes
Alex DAMIAN
alexandru.damian at intel.com
Tue Sep 24 16:52:05 UTC 2013
From: Alexandru DAMIAN <alexandru.damian at intel.com>
We add simple pages to display database information
about Layer versions and Recipes.
Signed-off-by: Alexandru DAMIAN <alexandru.damian at intel.com>
---
bitbake/lib/webhob/bldviewer/templates/layer.html | 8 ++++
bitbake/lib/webhob/bldviewer/templates/recipe.html | 48 ++++++++++++++++++++++
bitbake/lib/webhob/bldviewer/urls.py | 4 +-
bitbake/lib/webhob/bldviewer/views.py | 15 ++++++-
4 files changed, 72 insertions(+), 3 deletions(-)
create mode 100644 bitbake/lib/webhob/bldviewer/templates/recipe.html
diff --git a/bitbake/lib/webhob/bldviewer/templates/layer.html b/bitbake/lib/webhob/bldviewer/templates/layer.html
index 905a781..24bd86b 100644
--- a/bitbake/lib/webhob/bldviewer/templates/layer.html
+++ b/bitbake/lib/webhob/bldviewer/templates/layer.html
@@ -15,6 +15,7 @@
<th>Name</th>
<th>Local Path</th>
<th>Layer Index URL</th>
+ <th>Known Versions</th>
</tr>
{% for layer in layers %}
@@ -23,6 +24,13 @@
<td>{{layer.name}}</td>
<td>{{layer.local_path}}</td>
<td><a href='{{layer.layer_index_url}}'>{{layer.layer_index_url}}</a></td>
+ <td><table>
+ {% for lv in layer.versions %}
+ <tr><td>
+ <a href="/simple/layerversions/{{lv.id}}/recipes">{{lv.branch}}:{{lv.commit}} ({{lv.count}} recipes)</a>
+ </td></tr>
+ {% endfor %}
+ </table></td>
</tr>
{% endfor %}
diff --git a/bitbake/lib/webhob/bldviewer/templates/recipe.html b/bitbake/lib/webhob/bldviewer/templates/recipe.html
new file mode 100644
index 0000000..8f5dcb3
--- /dev/null
+++ b/bitbake/lib/webhob/bldviewer/templates/recipe.html
@@ -0,0 +1,48 @@
+<html>
+
+ <head>
+ <title>WebHob Recipe page</title>
+ </head>
+
+<body>
+ <h1>WebHob Recipes for a Layer</h1>
+
+ <table border="1">
+
+ {% load projecttags %}
+
+ <tr>
+ </tr>
+ <th>Name</th>
+ <th>Version</th>
+ <th>Summary</th>
+ <th>Description</th>
+ <th>Section</th>
+ <th>License</th>
+ <th>Homepage</th>
+ <th>Bugtracker</th>
+ <th>Author</th>
+ <th>File_path</th>
+
+ {% for recipe in recipes %}
+
+ <tr>
+ <td>{{recipe.name}}</td>
+ <td>{{recipe.version}}</td>
+ <td>{{recipe.summary}}</td>
+ <td>{{recipe.description}}</td>
+ <td>{{recipe.section}}</td>
+ <td>{{recipe.license}}</td>
+ <td>{{recipe.homepage}}</td>
+ <td>{{recipe.bugtracker}}</td>
+ <td>{{recipe.author}}</td>
+ <td>{{recipe.file_path}}</td>
+ </tr>
+
+ {% endfor %}
+
+ </table>
+
+</body>
+
+</html>
diff --git a/bitbake/lib/webhob/bldviewer/urls.py b/bitbake/lib/webhob/bldviewer/urls.py
index 756b3fa..b6c6796 100644
--- a/bitbake/lib/webhob/bldviewer/urls.py
+++ b/bitbake/lib/webhob/bldviewer/urls.py
@@ -1,10 +1,10 @@
from django.conf.urls import patterns, include, url
from django.views.generic.simple import redirect_to
-
urlpatterns = patterns('bldviewer.views',
url(r'^build/$', 'build', name='build'),
- url(r'^layers/$', 'layer', name='layer'),
url(r'^build/(?P<build_id>\d+)/task/$', 'task', name='task'),
+ url(r'^layer/$', 'layer', name='layer'),
+ url(r'^layerversions/(?P<layerversion_id>\d+)/recipes$', 'layer_versions_recipes', name='layer_versions_recipes'),
url(r'^$', redirect_to, {'url': 'build/'}),
)
diff --git a/bitbake/lib/webhob/bldviewer/views.py b/bitbake/lib/webhob/bldviewer/views.py
index 58d9444..de89b84 100644
--- a/bitbake/lib/webhob/bldviewer/views.py
+++ b/bitbake/lib/webhob/bldviewer/views.py
@@ -1,5 +1,5 @@
from django.shortcuts import render
-from orm.models import Build, Task, Layer, Task_Dependency
+from orm.models import Build, Task, Layer, Layer_Version, Task_Dependency, Recipe
def build(request):
@@ -30,11 +30,24 @@ def layer(request):
template = 'layer.html'
layer_info = Layer.objects.all()
+ for li in layer_info:
+ li.versions = Layer_Version.objects.filter(layer = li)
+ for liv in li.versions:
+ liv.count = Recipe.objects.filter(layer_version__id = liv.id).count()
+
context = {'layers': layer_info}
return render(request, template, context)
+def layer_versions_recipes(request, layerversion_id):
+ template = 'recipe.html'
+ recipes = Recipe.objects.filter(layer_version__id = layerversion_id)
+
+ context = {'recipes': recipes}
+
+ return render(request, template, context)
+
#### API
import json
--
1.8.1.2
More information about the bitbake-devel
mailing list