bitbake: toaster: Remove compatible_layerversions() method

Remove compatible_layerversions() and replace calls to it with
calls to get_all_compatible_layer_versions().

The sorting done in compatible_layerversions() is not relevant,
and the code can be simplified by using get_all_compatible_layer_versions().

[YOCTO #8364]

(Bitbake rev: 7bca51277314f7c0b6ee0e0d470327dfd60d37fe)

Signed-off-by: Elliot Smith <elliot.smith@intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh@linux.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:
Elliot Smith
2015-12-09 19:56:36 -08:00
committed by Richard Purdie
parent 0adffdf790
commit f001a4ac3c
2 changed files with 17 additions and 26 deletions

View File

@@ -195,23 +195,6 @@ class Project(models.Model):
except (Variable.DoesNotExist,IndexError):
return( "not_found" )
# returns a queryset of compatible layers for a project
def compatible_layerversions(self, release = None, layer_name = None):
logger.warning("This function is deprecated")
if release == None:
release = self.release
# layers on the same branch or layers specifically set for this project
queryset = Layer_Version.objects.filter(((Q(up_branch__name = release.branch_name) & Q(project = None)) | Q(project = self)) & Q(build__isnull=True))
if layer_name is not None:
# we select only a layer name
queryset = queryset.filter(layer__name = layer_name)
# order by layer version priority
queryset = queryset.filter(Q(layer_source=None) | Q(layer_source__releaselayersourcepriority__release = release)).select_related('layer_source', 'layer', 'up_branch', "layer_source__releaselayersourcepriority__priority").order_by("-layer_source__releaselayersourcepriority__priority")
return queryset
def get_all_compatible_layer_versions(self):
""" Returns Queryset of all Layer_Versions which are compatible with
this project"""
@@ -1184,7 +1167,9 @@ class Layer_Version(models.Model):
return self._handle_url_path(self.layer.vcs_web_tree_base_url, '')
def get_equivalents_wpriority(self, project):
return project.compatible_layerversions(layer_name = self.layer.name)
layer_versions = project.get_all_compatible_layer_versions()
filtered = layer_versions.filter(layer__name = self.layer.name)
return filtered.order_by("-layer_source__releaselayersourcepriority__priority")
def get_vcs_reference(self):
if self.branch is not None and len(self.branch) > 0:

View File

@@ -2264,16 +2264,17 @@ if True:
prj.bitbake_version = prj.release.bitbake_version
prj.save()
# we need to change the layers
for i in prj.projectlayer_set.all():
for project in prj.projectlayer_set.all():
# find and add a similarly-named layer on the new branch
try:
lv = prj.compatible_layerversions(layer_name = i.layercommit.layer.name)[0]
ProjectLayer.objects.get_or_create(project = prj, layercommit = lv)
layer_versions = prj.get_all_compatible_layer_versions()
layer_versions = layer_versions.filter(layer__name = project.layercommit.layer.name)
ProjectLayer.objects.get_or_create(project = prj, layercommit = layer_versions.first())
except IndexError:
pass
finally:
# get rid of the old entry
i.delete()
project.delete()
if 'machineName' in request.POST:
machinevar = prj.projectvariable_set.get(name="MACHINE")
@@ -2383,12 +2384,17 @@ if True:
retval = []
for i in prj.projectlayer_set.all():
lv = prj.compatible_layerversions(release = Release.objects.get(pk=new_release_id)).filter(layer__name = i.layercommit.layer.name)
for project in prj.projectlayer_set.all():
release = Release.objects.get(pk = new_release_id)
layer_versions = prj.get_all_compatible_layer_versions()
layer_versions = layer_versions.filter(release = release)
layer_versions = layer_versions.filter(layer__name = project.layercommit.layer.name)
# there is no layer_version with the new release id,
# and the same name
if lv.count() < 1:
retval.append(i)
if layer_versions.count() < 1:
retval.append(project)
return response({"error":"ok",
"rows" : map( _lv_to_dict(prj),