summaryrefslogtreecommitdiffstats
path: root/dashboard/dashboard
diff options
context:
space:
mode:
authorSerenaFeng <feng.xiaowei@zte.com.cn>2016-09-27 09:51:51 +0800
committerSerenaFeng <feng.xiaowei@zte.com.cn>2016-09-27 18:05:37 +0800
commiteda16085a4a2e65db90d4e01e9925f86a7c479b6 (patch)
tree288810f0adb07870824e72bc0587906f6e7ca22c /dashboard/dashboard
parentfdd68181912a81249f33903e1e1e8cb765685dbb (diff)
only get specific docs when checking the existed ones in elasticsearch
JIRA: FUNCTEST-494 Change-Id: Ife9e37a181f13a49265a225bab72355190663f2a Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
Diffstat (limited to 'dashboard/dashboard')
-rw-r--r--dashboard/dashboard/common/elastic_access.py22
-rw-r--r--dashboard/dashboard/mongo2elastic/main.py31
2 files changed, 30 insertions, 23 deletions
diff --git a/dashboard/dashboard/common/elastic_access.py b/dashboard/dashboard/common/elastic_access.py
index b454e9a..6d82e8e 100644
--- a/dashboard/dashboard/common/elastic_access.py
+++ b/dashboard/dashboard/common/elastic_access.py
@@ -48,25 +48,3 @@ def get_docs(url, creds=None, body=None, field='_source'):
for hit in res_data['hits']['hits']:
docs.append(hit[field])
return docs
-
-
-def get_elastic_docs_by_days(elastic_url, creds, days):
- if days == 0:
- body = '''{
- "query": {
- "match_all": {}
- }
- }'''
- elif days > 0:
- body = '''{{
- "query" : {{
- "range" : {{
- "start_date" : {{
- "gte" : "now-{}d"
- }}
- }}
- }}
- }}'''.format(days)
- else:
- raise Exception('Update days must be non-negative')
- return get_docs(elastic_url, creds, body)
diff --git a/dashboard/dashboard/mongo2elastic/main.py b/dashboard/dashboard/mongo2elastic/main.py
index 82b01e4..ad04372 100644
--- a/dashboard/dashboard/mongo2elastic/main.py
+++ b/dashboard/dashboard/mongo2elastic/main.py
@@ -200,7 +200,36 @@ class DocumentsPublisher:
exit(-1)
def get_existed_docs(self):
- self.existed_docs = elastic_access.get_elastic_docs_by_days(self.elastic_url, self.creds, self.days)
+ if self.days == 0:
+ body = '''{{
+ "query": {{
+ "bool": {{
+ "must": [
+ {{ "match": {{ "project_name": "{}" }} }},
+ {{ "match": {{ "case_name": "{}" }} }}
+ ]
+ }}
+ }}
+ }}'''.format(self.project, self.case)
+ elif self.days > 0:
+ body = '''{{
+ "query": {{
+ "bool": {{
+ "must": [
+ {{ "match": {{ "project_name": "{}" }} }},
+ {{ "match": {{ "case_name": "{}" }} }}
+ ],
+ "filter": {{
+ "range": {{
+ "start_date": {{ "gte": "now-{}d" }}
+ }}
+ }}
+ }}
+ }}
+ }}'''.format(self.project, self.case, self.days)
+ else:
+ raise Exception('Update days must be non-negative')
+ self.existed_docs = elastic_access.get_docs(self.elastic_url, self.creds, body)
return self
def publish(self):