bitbake: toaster: API CustomImageRecipe check the recipe name supplied is valid
Check that the name for a new CustomImageRecipe doesn't already exist in the project or in the database of existing recipes (e.g. from the layer index). Also restrict the characters entered for the recipe naming convention. (Bitbake rev: f290d428460a07e73050ff613bc222cc8c04f5ec) 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:
parent
5634a251ce
commit
cb6d290d0b
|
@ -2362,6 +2362,27 @@ if True:
|
|||
|
||||
# create custom recipe
|
||||
try:
|
||||
|
||||
# Only allowed chars in name are a-z, 0-9 and -
|
||||
if re.search(r'[^a-z|0-9|-]', request.POST["name"]):
|
||||
return {"error": "invalid-name"}
|
||||
|
||||
# Are there any recipes with the name already?
|
||||
for existing_recipe in Recipe.objects.filter(
|
||||
name=request.POST["name"]):
|
||||
try:
|
||||
ci = CustomImageRecipe.objects.get(pk=existing_recipe.pk)
|
||||
if ci.project == params["project"]:
|
||||
return {"error": "already-exists" }
|
||||
else:
|
||||
# It is a CustomImageRecipe but not in our project
|
||||
# this is fine so
|
||||
continue
|
||||
except:
|
||||
# It isn't a CustomImageRecipe so is a recipe from
|
||||
# another source.
|
||||
return {"error": "already-exists" }
|
||||
|
||||
# create layer 'Custom layer' and verion if needed
|
||||
layer = Layer.objects.get_or_create(
|
||||
name="toaster-custom-images",
|
||||
|
|
Loading…
Reference in New Issue