Find filters in search query
This commit is contained in:
parent
ff7ac90785
commit
7f3cf9583c
1 changed files with 14 additions and 0 deletions
|
@ -77,6 +77,17 @@ class UiWebsocketPlugin(object):
|
||||||
time.sleep(0.0001)
|
time.sleep(0.0001)
|
||||||
return self.response(to, rows)
|
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):
|
def actionFeedSearch(self, to, search):
|
||||||
if "ADMIN" not in self.site.settings["permissions"]:
|
if "ADMIN" not in self.site.settings["permissions"]:
|
||||||
return self.response(to, "FeedSearch not allowed")
|
return self.response(to, "FeedSearch not allowed")
|
||||||
|
@ -85,6 +96,9 @@ class UiWebsocketPlugin(object):
|
||||||
rows = []
|
rows = []
|
||||||
num_sites = 0
|
num_sites = 0
|
||||||
s = time.time()
|
s = time.time()
|
||||||
|
|
||||||
|
search_text, filters = self.parseSearch(search)
|
||||||
|
|
||||||
for address, site in SiteManager.site_manager.list().iteritems():
|
for address, site in SiteManager.site_manager.list().iteritems():
|
||||||
if not site.storage.has_db:
|
if not site.storage.has_db:
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in a new issue