about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMuriithi Frederick Muriuki2018-02-05 20:01:45 +0300
committerPjotr Prins2018-03-26 09:29:29 +0000
commita494260a8f9cf0e3ecf0c428bb70d4066623f1dd (patch)
tree2b389bf76e80832df93a8b00c4cd6604afa73556
parentdfc415edf77279078503f7b09ac8c14a442d5db3 (diff)
downloadgenenetwork2-a494260a8f9cf0e3ecf0c428bb70d4066623f1dd.tar.gz
Refactor common items to more generic methods.
* Refactor code that can be used in more than one place to a more
  generic method/function that's called by other methods
-rw-r--r--wqflask/utility/elasticsearch_tools.py24
1 files changed, 13 insertions, 11 deletions
diff --git a/wqflask/utility/elasticsearch_tools.py b/wqflask/utility/elasticsearch_tools.py
index 8b8ad9cc..ea636b2e 100644
--- a/wqflask/utility/elasticsearch_tools.py
+++ b/wqflask/utility/elasticsearch_tools.py
@@ -11,25 +11,27 @@ except:
     es = None
 
 def get_user_by_unique_column(column_name, column_value):
-    user_details = None
+    return get_item_by_unique_column(column_name, column_value, index="users", doc_type="local")
+
+def save_user(user, user_id):
+    es_save_data("users", "local", user, user_id)
+
+def get_item_by_unique_column(column_name, column_value, index, doc_type):
+    item_details = None
     try:
         response = es.search(
-            index = "users"
-            , doc_type = "local"
+            index = index
+            , doc_type = doc_type
             , body = { 
                 "query": { "match": { column_name: column_value } } 
             })
         if len(response["hits"]["hits"]) > 0:
-            user_details = response["hits"]["hits"][0]["_source"]
+            item_details = response["hits"]["hits"][0]["_source"]
     except TransportError as te: 
         pass
-    return user_details
+    return item_details
 
-def save_user(user, user_id, index="users", doc_type="local"):
+def es_save_data(index, doc_type, data_item, data_id,):
     from time import sleep
-    es = Elasticsearch([{
-        "host": ELASTICSEARCH_HOST
-        , "port": ELASTICSEARCH_PORT
-    }])
-    es.create(index, doc_type, body=user, id=user_id)
+    es.create(index, doc_type, body=data_item, id=data_id)
     sleep(1) # Delay 1 second to allow indexing