Add error handling of invalid CQP queries

This commit is contained in:
Stephan Porada
2020-01-16 11:56:16 +01:00
parent ef1eb9976e
commit e04b31d282
3 changed files with 24 additions and 7 deletions

View File

@ -368,7 +368,7 @@ class CQiClient:
self.__send_STRING(mother_corpus)
self.__send_STRING(subcorpus_name)
self.__send_STRING(query)
self.__recv_WORD()
self.__recv_response()
def cqp_list_subcorpora(self, corpus):
# INPUT: (STRING corpus)
@ -464,6 +464,8 @@ class CQiClient:
response = byte_data
elif response_type == CQi.ERROR:
raise Exception(CQi.lookup[byte_data])
elif response_type == CQi.ERROR_SYNTAX_ERROR:
raise Exception(CQi.lookup[byte_data])
elif response_type == CQi.DATA:
response = self.__recv_DATA(byte_data)
elif response_type == CQi.CL_ERROR:

View File

@ -49,12 +49,17 @@ def corpus_analysis(message):
context_len = int(message['context'])
result_offset = 0
client.select_corpus(corpus_name)
client.query_subcorpus(query)
results = client.show_query_results(result_len=result_len,
context_len=context_len,
result_offset=result_offset)
try:
client.query_subcorpus(query)
except Exception as e:
logger.warning(e)
socketio.emit('corpus_analysis', str(e), room=request.sid)
else:
results = client.show_query_results(result_len=result_len,
context_len=context_len,
result_offset=result_offset)
socketio.emit('corpus_analysis', results, room=request.sid)
socketio.emit('corpus_analysis', results, room=request.sid)
@socketio.on('inspect_match')