@@ -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