From ea13bdf23aa63ef528c8560b758c4f9383f1d5af Mon Sep 17 00:00:00 2001 From: Andrea Mannocci Date: Mon, 15 Jun 2020 16:13:20 +0200 Subject: [PATCH] exposing ES index as a property --- configuration.properties | 2 ++ es_connector.py | 13 ++++++++++--- main.py | 6 +++--- 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 configuration.properties diff --git a/configuration.properties b/configuration.properties new file mode 100644 index 0000000..870e573 --- /dev/null +++ b/configuration.properties @@ -0,0 +1,2 @@ +ES_INDEX = ip-90-147-167-25.ct1.garrservices.it +# ES_INDEX = 192.168.100.26,192.168.100.21,192.168.100.29,192.168.100.25,192.168.100.70,192.168.100.71,192.168.100.72,192.168.100.73,192.168.100.44 \ No newline at end of file diff --git a/es_connector.py b/es_connector.py index a024073..984a492 100644 --- a/es_connector.py +++ b/es_connector.py @@ -2,10 +2,17 @@ from elasticsearch import Elasticsearch from elasticsearch_dsl import * import logging -log = logging.getLogger("ES connector") +log = logging.getLogger('ES connector') log.setLevel(logging.INFO) -ES_HOST = "ip-90-147-167-25.ct1.garrservices.it" +def load_properties(): + with open('configuration.properties') as f: + p = {} + for line in f: + if not line.startswith("#"): + data = line.strip().split("=") + p[data[0].strip()] = data[1].strip() + return p class ESObject(object): def __init__(self, id, pid, type, title, abstract, propagated_abstract): @@ -25,7 +32,7 @@ class ESResponse(object): class ESConnector(object): def __init__(self): - self.index_host = ES_HOST + self.index_host = [x.strip() for x in load_properties()['ES_INDEX'].split(',')] self.client = Elasticsearch(hosts=self.index_host, timeout=600000) def query_after(self, query_string=None, start=0, i='propagation-after'): diff --git a/main.py b/main.py index 1594238..255557f 100644 --- a/main.py +++ b/main.py @@ -6,10 +6,10 @@ from starlette.responses import FileResponse from fastapi import FastAPI, Form from es_connector import ESConnector -log = logging.getLogger("TPDL2020 webapp") +log = logging.getLogger('TPDL2020 webapp') log.setLevel(logging.INFO) -log.info("TPDL2020 Webapp (re)started") +log.info('TPDL2020 Webapp (re)started') _CURDIR = os.path.dirname(os.path.abspath(__file__)) @@ -32,7 +32,7 @@ def root(): @app.get('/api/query/') def query_get(q='*', s:int=0, i=None): try: - log.info("Executing query={q} start={s}".format(q=q, s=s)) + log.info('Executing query={q} start={s}'.format(q=q, s=s)) result = es_connector.query_after(q, s, i) return result except Exception as e: