bitbake: toaster: typeaheads widgets Fix flake8 issues and remove redundant code

Fix flake8 issues and remove redundant __init__ function definitions
from typeaheads (likely a copy and paste error).

(Bitbake rev: be1f9f48da480d813e3364815cb3e002ba70dd22)

Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Michael Wood 2016-12-09 16:52:48 +00:00 committed by Richard Purdie
parent 8eed264163
commit 4ecd040f3b
2 changed files with 45 additions and 43 deletions

View File

@ -23,8 +23,6 @@ from django.core.urlresolvers import reverse
class LayersTypeAhead(ToasterTypeAhead):
""" Typeahead for layers available and not added in the current project's
configuration """
def __init__(self):
super(LayersTypeAhead, self).__init__()
def apply_search(self, search_term, prj, request):
layers = prj.get_all_compatible_layer_versions()
@ -33,13 +31,15 @@ class LayersTypeAhead(ToasterTypeAhead):
# Unlike the other typeaheads we also don't want to show suggestions
# for layers already in the project unless required such as when adding
# layerdeps to a new layer.
if ("include_added" in request.GET and
request.GET['include_added'] != "true"):
if "include_added" in request.GET and \
request.GET['include_added'] != "true":
layers = layers.exclude(
pk__in=prj.get_project_layer_versions(pk=True))
primary_results = layers.filter(layer__name__istartswith=search_term)
secondary_results = layers.filter(layer__name__icontains=search_term).exclude(pk__in=primary_results)
secondary_results = layers.filter(
layer__name__icontains=search_term).exclude(
pk__in=primary_results)
results = []
@ -49,97 +49,99 @@ class LayersTypeAhead(ToasterTypeAhead):
detail = "[ %s | %s ]" % (layer_version.layer.vcs_url,
vcs_reference)
needed_fields = {
'id' : layer_version.pk,
'name' : layer_version.layer.name,
'layerdetailurl' : layer_version.get_detailspage_url(prj.pk),
'vcs_url' : layer_version.layer.vcs_url,
'vcs_reference' : vcs_reference,
'detail' : detail,
'local_source_dir' : layer_version.layer.local_source_dir,
'id': layer_version.pk,
'name': layer_version.layer.name,
'layerdetailurl': layer_version.get_detailspage_url(prj.pk),
'vcs_url': layer_version.layer.vcs_url,
'vcs_reference': vcs_reference,
'detail': detail,
'local_source_dir': layer_version.layer.local_source_dir,
}
results.append(needed_fields)
return results
class MachinesTypeAhead(ToasterTypeAhead):
""" Typeahead for all the machines available in the current project's
configuration """
def __init__(self):
super(MachinesTypeAhead, self).__init__()
def apply_search(self, search_term, prj, request):
machines = prj.get_available_machines()
machines = machines.order_by("name")
primary_results = machines.filter(name__istartswith=search_term)
secondary_results = machines.filter(name__icontains=search_term).exclude(pk__in=primary_results)
tertiary_results = machines.filter(layer_version__layer__name__icontains=search_term).exclude(pk__in=primary_results).exclude(pk__in=secondary_results)
secondary_results = machines.filter(
name__icontains=search_term).exclude(pk__in=primary_results)
tertiary_results = machines.filter(
layer_version__layer__name__icontains=search_term).exclude(
pk__in=primary_results).exclude(pk__in=secondary_results)
results = []
for machine in list(primary_results) + list(secondary_results) + list(tertiary_results):
for machine in list(primary_results) + list(secondary_results) + \
list(tertiary_results):
detail = "[ %s ]" % (machine.layer_version.layer.name)
needed_fields = {
'id' : machine.pk,
'name' : machine.name,
'detail' : detail,
'id': machine.pk,
'name': machine.name,
'detail': detail,
}
results.append(needed_fields)
return results
class RecipesTypeAhead(ToasterTypeAhead):
""" Typeahead for all the recipes available in the current project's
configuration """
def __init__(self):
super(RecipesTypeAhead, self).__init__()
def apply_search(self, search_term, prj, request):
recipes = prj.get_available_recipes()
recipes = recipes.order_by("name")
primary_results = recipes.filter(name__istartswith=search_term)
secondary_results = recipes.filter(name__icontains=search_term).exclude(pk__in=primary_results)
tertiary_results = recipes.filter(layer_version__layer__name__icontains=search_term).exclude(pk__in=primary_results).exclude(pk__in=secondary_results)
secondary_results = recipes.filter(
name__icontains=search_term).exclude(pk__in=primary_results)
tertiary_results = recipes.filter(
layer_version__layer__name__icontains=search_term).exclude(
pk__in=primary_results).exclude(pk__in=secondary_results)
results = []
for recipe in list(primary_results) + list(secondary_results) + list(tertiary_results):
for recipe in list(primary_results) + list(secondary_results) + \
list(tertiary_results):
detail = "[ %s ]" % (recipe.layer_version.layer.name)
needed_fields = {
'id' : recipe.pk,
'name' : recipe.name,
'detail' : detail,
'id': recipe.pk,
'name': recipe.name,
'detail': detail,
}
results.append(needed_fields)
return results
class ProjectsTypeAhead(ToasterTypeAhead):
""" Typeahead for all the projects, except for command line builds """
def __init__(self):
super(ProjectsTypeAhead, self).__init__()
def apply_search(self, search_term, prj, request):
projects = Project.objects.exclude(is_default=True).order_by("name")
primary_results = projects.filter(name__istartswith=search_term)
secondary_results = projects.filter(name__icontains=search_term).exclude(pk__in=primary_results)
secondary_results = projects.filter(
name__icontains=search_term).exclude(pk__in=primary_results)
results = []
for project in list(primary_results) + list(secondary_results):
needed_fields = {
'id' : project.pk,
'name' : project.name,
'detail' : "",
'projectPageUrl' : reverse('project', args=(project.pk,))
'id': project.pk,
'name': project.name,
'detail': "",
'projectPageUrl': reverse('project', args=(project.pk,))
}
results.append(needed_fields)

View File

@ -42,6 +42,8 @@ import json
import collections
import re
from toastergui.tablefilter import TableFilterMap
try:
from urllib import unquote_plus
except ImportError:
@ -50,8 +52,6 @@ except ImportError:
import logging
logger = logging.getLogger("toaster")
from toastergui.tablefilter import TableFilterMap
class NoFieldOrDataName(Exception):
pass
@ -259,9 +259,9 @@ class ToasterTable(TemplateView):
queries = query
if search_queries:
search_queries &= queries
search_queries &= queries
else:
search_queries = queries
search_queries = queries
self.queryset = self.queryset.filter(search_queries)