Find filters in search query

This commit is contained in:
shortcutme 2017-11-10 11:15:01 +01:00
parent ff7ac90785
commit 7f3cf9583c
No known key found for this signature in database
GPG Key ID: 5B63BAE6CB9613AE
1 changed files with 14 additions and 0 deletions

View File

@ -77,6 +77,17 @@ class UiWebsocketPlugin(object):
time.sleep(0.0001)
return self.response(to, rows)
def parseSearch(self, search):
parts = re.split("(site|type):", search)
if len(parts) > 1: # Found filter
search_text = parts[0]
parts = [part.strip() for part in parts]
filters = dict(zip(parts[1::2], parts[2::2]))
else:
search_text = search
filters = {}
return [search_text, filters]
def actionFeedSearch(self, to, search):
if "ADMIN" not in self.site.settings["permissions"]:
return self.response(to, "FeedSearch not allowed")
@ -85,6 +96,9 @@ class UiWebsocketPlugin(object):
rows = []
num_sites = 0
s = time.time()
search_text, filters = self.parseSearch(search)
for address, site in SiteManager.site_manager.list().iteritems():
if not site.storage.has_db:
continue