[bitbake-devel] [PATCH 11/18] toaster: Remove compatible_layerversions() method
brian avery
avery.brian at gmail.com
Thu Dec 10 03:56:36 UTC 2015
From: Elliot Smith <elliot.smith at intel.com>
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]
Signed-off-by: Elliot Smith <elliot.smith at intel.com>
Signed-off-by: Ed Bartosh <ed.bartosh at linux.intel.com>
Signed-off-by: brian avery <avery.brian at gmail.com>
---
lib/toaster/orm/models.py | 21 +++------------------
lib/toaster/toastergui/views.py | 22 ++++++++++++++--------
2 files changed, 17 insertions(+), 26 deletions(-)
diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py
index b25910a..f07feda 100644
--- a/lib/toaster/orm/models.py
+++ b/lib/toaster/orm/models.py
@@ -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:
diff --git a/lib/toaster/toastergui/views.py b/lib/toaster/toastergui/views.py
index 16f27b8..bd334b9 100755
--- a/lib/toaster/toastergui/views.py
+++ b/lib/toaster/toastergui/views.py
@@ -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),
--
1.9.1
More information about the bitbake-devel
mailing list