appGenericName, appComment and appExec to the fuzzysearch function
This commit is contained in:
parent
2e0f503d08
commit
a31731f127
@ -763,20 +763,37 @@ class pluginclass(object):
|
|||||||
return value
|
return value
|
||||||
|
|
||||||
def fuzzy_application_search(self, search_text):
|
def fuzzy_application_search(self, search_text):
|
||||||
labels = [app["button"].appName for app in self.applicationList]
|
shownList = []
|
||||||
results = process.extract(search_text, labels, limit=len(labels))
|
keywords = self.strip_case_and_accents(search_text).split()
|
||||||
|
labels = [app["button"].appName for app in self.applicationList]
|
||||||
|
results = process.extract(search_text, labels, limit=len(labels))
|
||||||
|
|
||||||
first_button = True
|
first_button = True
|
||||||
|
|
||||||
|
for match in results:
|
||||||
|
if match[1] > 60: # Adjust the threshold as needed
|
||||||
|
for app in self.applicationList:
|
||||||
|
if app["button"].appName == match[0]:
|
||||||
|
self.applicationsBox.pack_start(app["button"], False, False, 0)
|
||||||
|
if first_button is True:
|
||||||
|
app["button"].grab_focus()
|
||||||
|
first_button = False
|
||||||
|
shownList.append(app["button"])
|
||||||
|
|
||||||
|
# Non-fuzzy results for appGenericName, appComment and appExec
|
||||||
|
# Again I should really make it a function or something
|
||||||
|
for app in self.applicationList:
|
||||||
|
for item in shownList:
|
||||||
|
if app["button"].desktopFile == item.desktopFile:
|
||||||
|
continue
|
||||||
|
for keyword in keywords:
|
||||||
|
if keyword != "" and (self.strip_case_and_accents(app["button"].appGenericName).find(keyword) != -1 or self.strip_case_and_accents(app["button"].appComment).find(keyword) != -1 or self.strip_case_and_accents(app["button"].appExec).find(keyword) != -1):
|
||||||
|
self.applicationsBox.pack_start(app["button"], False, False, 0)
|
||||||
|
if first_button is True:
|
||||||
|
app["button"].grab_focus()
|
||||||
|
first_button = False
|
||||||
|
shownList.append(app["button"])
|
||||||
|
|
||||||
for match in results:
|
|
||||||
if match[1] > 60: # Adjust the threshold as needed
|
|
||||||
for app in self.applicationList:
|
|
||||||
if app["button"].appName == match[0]:
|
|
||||||
self.applicationsBox.pack_start(app["button"], False, False, 0)
|
|
||||||
if first_button is True:
|
|
||||||
app["button"].grab_focus()
|
|
||||||
first_button = False
|
|
||||||
# TODO: Add appGenericName, appComment and appExec
|
|
||||||
|
|
||||||
def exact_application_search(self, search_text):
|
def exact_application_search(self, search_text):
|
||||||
shownList = []
|
shownList = []
|
||||||
@ -795,6 +812,7 @@ class pluginclass(object):
|
|||||||
app["button"].grab_focus()
|
app["button"].grab_focus()
|
||||||
first_button = False
|
first_button = False
|
||||||
shownList.append(app["button"])
|
shownList.append(app["button"])
|
||||||
|
|
||||||
# Add applications that match appGenericName, appComment or appExec
|
# Add applications that match appGenericName, appComment or appExec
|
||||||
for app in self.applicationList:
|
for app in self.applicationList:
|
||||||
for item in shownList:
|
for item in shownList:
|
||||||
|
Loading…
Reference in New Issue
Block a user