bitbake: toaster: views Add view to download custom recipe

View to provide the custom recipe download feature. The recipe is
generated on-demand to make sure that it is the most current version of
the Custom recipe.

(Bitbake rev: 2101c854bb2d7ff1e3a4f00ad4d33d77859439ed)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: brian avery <avery.brian@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michael Wood 2015-11-04 15:14:06 +00:00 committed by Richard Purdie
parent 2cf55afb97
commit 43f0a05fa4
2 changed files with 17 additions and 1 deletions

View File

@ -140,6 +140,9 @@ urlpatterns = patterns('toastergui.views',
'customrecipe', 'customrecipe',
name="customrecipe"), name="customrecipe"),
url(r'^project/(?P<pid>\d+)/customrecipe/(?P<recipe_id>\d+)/download$',
'customrecipe_download',
name="customrecipedownload"),
# typeahead api end points # typeahead api end points

View File

@ -27,7 +27,7 @@ import operator,re
from django.db.models import F, Q, Sum, Count, Max from django.db.models import F, Q, Sum, Count, Max
from django.db import IntegrityError, Error from django.db import IntegrityError, Error
from django.shortcuts import render, redirect from django.shortcuts import render, redirect, get_object_or_404
from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable from orm.models import Build, Target, Task, Layer, Layer_Version, Recipe, LogMessage, Variable
from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency from orm.models import Task_Dependency, Recipe_Dependency, Package, Package_File, Package_Dependency
from orm.models import Target_Installed_Package, Target_File, Target_Image_File, BuildArtifact from orm.models import Target_Installed_Package, Target_File, Target_Image_File, BuildArtifact
@ -2462,6 +2462,19 @@ if True:
else: else:
return {"error": "Method %s is not supported" % request.method} return {"error": "Method %s is not supported" % request.method}
def customrecipe_download(request, pid, recipe_id):
recipe = get_object_or_404(CustomImageRecipe, pk=recipe_id)
file_data = recipe.generate_recipe_file_contents()
response = HttpResponse(file_data, content_type='text/plain')
response['Content-Disposition'] = \
'attachment; filename="%s_%s.bb"' % (recipe.name,
recipe.version)
return response
@xhr_response @xhr_response
def xhr_customrecipe_packages(request, recipe_id, package_id): def xhr_customrecipe_packages(request, recipe_id, package_id):
""" """