summaryrefslogtreecommitdiffstats
path: root/dashboard/dashboard/common
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-09-27 10:37:14 +0800
committerJose Lausuch <jose.lausuch@ericsson.com>2016-09-27 09:51:18 +0000
commitfdd68181912a81249f33903e1e1e8cb765685dbb (patch)
treeb488c5cae97e57f2bbc9825edd34be40c5d16aef /dashboard/dashboard/common
parent44f2ed62045e9b3399587ed0dd3c516914379ab5 (diff)
refactor elastic_access.py
JIRA: FUNCTEST-495 Change-Id: I639c9b4838ba026cf48c01081810f663467163a8 Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'dashboard/dashboard/common')
-rw-r--r--dashboard/dashboard/common/elastic_access.py54
1 files changed, 31 insertions, 23 deletions
diff --git a/dashboard/dashboard/common/elastic_access.py b/dashboard/dashboard/common/elastic_access.py
index e90a17f..b454e9a 100644
--- a/dashboard/dashboard/common/elastic_access.py
+++ b/dashboard/dashboard/common/elastic_access.py
@@ -5,41 +5,49 @@ import urllib3
http = urllib3.PoolManager()
-def delete_request(url, creds, body=None):
+def _request(method, url, creds=None, body=None):
headers = urllib3.make_headers(basic_auth=creds)
- http.request('DELETE', url, headers=headers, body=body)
+ return http.request(method, url, headers=headers, body=body)
-def publish_json(json_ojb, creds, to):
- json_dump = json.dumps(json_ojb)
+def _post(url, creds=None, body=None):
+ return _request('POST', url, creds=creds, body=body)
+
+
+def _get(url, creds=None, body=None):
+ return json.loads(_request('GET', url, creds=creds, body=body).data)
+
+
+def delete_docs(url, creds=None, body=None):
+ return _request('DELETE', url, creds=creds, body=body)
+
+
+def publish_docs(docs, creds, to):
+ json_docs = json.dumps(docs)
if to == 'stdout':
- print json_dump
+ print json_docs
return 200, None
else:
- headers = urllib3.make_headers(basic_auth=creds)
- result = http.request('POST', to, headers=headers, body=json_dump)
+ result = _post(to, creds=creds, body=json_docs)
return result.status, result.data
-def _get_nr_of_hits(elastic_json):
- return elastic_json['hits']['total']
+def _get_docs_nr(url, creds=None, body=None):
+ res_data = _get('{}/_search?size=0'.format(url), creds=creds, body=body)
+ print type(res_data), res_data
+ return res_data['hits']['total']
-def get_elastic_docs(elastic_url, creds, body=None, field = '_source'):
-
- # 1. get the number of results
- headers = urllib3.make_headers(basic_auth=creds)
- elastic_json = json.loads(http.request('GET', elastic_url + '/_search?size=0', headers=headers, body=body).data)
- print elastic_json
- nr_of_hits = _get_nr_of_hits(elastic_json)
+def get_docs(url, creds=None, body=None, field='_source'):
- # 2. get all results
- elastic_json = json.loads(http.request('GET', elastic_url + '/_search?size={}'.format(nr_of_hits), headers=headers, body=body).data)
+ docs_nr = _get_docs_nr(url, creds=creds, body=body)
+ res_data = _get('{}/_search?size={}'.format(url, docs_nr),
+ creds=creds, body=body)
- elastic_docs = []
- for hit in elastic_json['hits']['hits']:
- elastic_docs.append(hit[field])
- return elastic_docs
+ docs = []
+ for hit in res_data['hits']['hits']:
+ docs.append(hit[field])
+ return docs
def get_elastic_docs_by_days(elastic_url, creds, days):
@@ -61,4 +69,4 @@ def get_elastic_docs_by_days(elastic_url, creds, days):
}}'''.format(days)
else:
raise Exception('Update days must be non-negative')
- return get_elastic_docs(elastic_url, creds, body)
+ return get_docs(elastic_url, creds, body)