Include option to disable search

This commit is contained in:
2022-03-05 21:58:35 +00:00
parent 55c282ee69
commit f8e8597e3a
2 changed files with 15 additions and 6 deletions

View File

@@ -4,12 +4,13 @@ logging.basicConfig(
level=logging.DEBUG)
import requests
import settings
MEILI_URL = 'http://127.0.0.1:7700/'
SEARCH_ENABLED = bool(settings.MEILI_URL)
def meili_api(method, route, json=None, params=None):
try:
r = method(MEILI_URL + route, json=json, params=params, timeout=4)
r = method(settings.MEILI_URL + route, json=json, params=params, timeout=4)
if r.status_code > 299:
raise Exception('Bad response code ' + str(r.status_code))
return r.json()
@@ -35,15 +36,20 @@ def update_attributes():
return r
def init():
if not SEARCH_ENABLED:
logging.info('Search is not enabled, skipping init.')
return
print(create_index())
update_rankings()
update_attributes()
def put_story(story):
if not SEARCH_ENABLED: return
to_add = dict(title=story['title'], id=story['id'], date=story['date'])
return meili_api(requests.post, 'indexes/qotnews/documents', [to_add])
def search(q):
if not SEARCH_ENABLED: return []
params = dict(q=q, limit=250)
r = meili_api(requests.get, 'indexes/qotnews/search', params=params)
return r['hits']