Skip to content

Commit f5165f9

Browse files
authored
Merge pull request #653 from OpenKnowledgeMaps/dev
Dev
2 parents 77afdfe + 861b237 commit f5165f9

1 file changed

Lines changed: 18 additions & 10 deletions

File tree

server/workers/pubmed/src/pubmed.py

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,20 @@ def execute_search(self, params):
3232
stdout, stderr = proc.communicate(json.dumps(data))
3333
output = [o for o in stdout.split('\n') if len(o) > 0]
3434
error = [o for o in stderr.split('\n') if len(o) > 0]
35-
metadata = pd.DataFrame(json.loads(output[-2]))
36-
text = pd.DataFrame(json.loads(output[-1]))
37-
input_data = {}
38-
input_data["metadata"] = metadata.to_json(orient='records')
39-
input_data["text"] = text.to_json(orient='records')
40-
return input_data
35+
raw_metadata = json.loads(output[-2])
36+
raw_text = json.loads(output[-1])
37+
if isinstance(raw_metadata, dict) and raw_metadata.get('status') == "error":
38+
res = raw_metadata
39+
else:
40+
metadata = pd.DataFrame(raw_metadata)
41+
text = pd.DataFrame(raw_text)
42+
input_data = {}
43+
input_data["metadata"] = metadata.to_json(orient='records')
44+
input_data["text"] = text.to_json(orient='records')
45+
res = {}
46+
res["input_data"] = input_data
47+
res["params"] = params
48+
return res
4149
except Exception as e:
4250
self.logger.error(e)
4351
self.logger.error(error)
@@ -50,14 +58,14 @@ def run(self):
5058
self.logger.debug(params)
5159
if endpoint == "search":
5260
try:
53-
res = {}
61+
res = self.execute_search(params)
5462
res["id"] = k
55-
res["input_data"] = self.execute_search(params)
56-
res["params"] = params
57-
if params.get('raw') is True:
63+
if res.get("status") == "error" or params.get('raw') is True:
5864
self.redis_store.set(k+"_output", json.dumps(res))
5965
else:
6066
self.redis_store.rpush("input_data", json.dumps(res).encode('utf8'))
6167
except Exception as e:
68+
self.logger.exception("Exception during data retrieval.")
69+
self.logger.error(params)
6270
self.logger.error(e)
6371
self.logger.error(params)

0 commit comments

Comments
 (0)