Skip to content
Snippets Groups Projects
Commit e881401a authored by Patrick Jentsch's avatar Patrick Jentsch
Browse files

Update CQi stuff

parent 467080c7
No related branches found
No related tags found
No related merge requests found
...@@ -17,14 +17,14 @@ class CQiClient: ...@@ -17,14 +17,14 @@ class CQiClient:
self.__send_WORD(CQi.CTRL_CONNECT) self.__send_WORD(CQi.CTRL_CONNECT)
self.__send_STRING(username) self.__send_STRING(username)
self.__send_STRING(password) self.__send_STRING(password)
self.__recv_response() return self.__recv_response(CQi.STATUS_CONNECT_OK)
def ctrl_bye(self): def ctrl_bye(self):
# INPUT: () # INPUT: ()
# OUTPUT: CQI_STATUS_BYE_OK # OUTPUT: CQI_STATUS_BYE_OK
# print('CTRL_BYE') # print('CTRL_BYE')
self.__send_WORD(CQi.CTRL_BYE) self.__send_WORD(CQi.CTRL_BYE)
self.__recv_response() return self.__recv_response(CQi.STATUS_BYE_OK)
def ctrl_user_abort(self): def ctrl_user_abort(self):
# INPUT: () # INPUT: ()
...@@ -37,7 +37,7 @@ class CQiClient: ...@@ -37,7 +37,7 @@ class CQiClient:
# OUTPUT: CQI_STATUS_PING_OK # OUTPUT: CQI_STATUS_PING_OK
# print('CTRL_PING') # print('CTRL_PING')
self.__send_WORD(CQi.CTRL_PING) self.__send_WORD(CQi.CTRL_PING)
self.__recv_response() return self.__recv_response(CQi.STATUS_PING_OK)
def ctrl_last_general_error(self): def ctrl_last_general_error(self):
# INPUT: () # INPUT: ()
...@@ -46,35 +46,35 @@ class CQiClient: ...@@ -46,35 +46,35 @@ class CQiClient:
# CQi server # CQi server
# print('CTRL_LAST_GENERAL_ERROR') # print('CTRL_LAST_GENERAL_ERROR')
self.__send_WORD(CQi.CTRL_LAST_GENERAL_ERROR) self.__send_WORD(CQi.CTRL_LAST_GENERAL_ERROR)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING)
def ask_feature_cqi_1_0(self): def ask_feature_cqi_1_0(self):
# INPUT: () # INPUT: ()
# OUTPUT: CQI_DATA_BOOL # OUTPUT: CQI_DATA_BOOL
# print('ASK_FEATURE_CQI_1_0') # print('ASK_FEATURE_CQI_1_0')
self.__send_WORD(CQi.ASK_FEATURE_CQI_1_0) self.__send_WORD(CQi.ASK_FEATURE_CQI_1_0)
return self.__recv_response() return self.__recv_response(CQi.DATA_BOOL)
def ask_feature_cl_2_3(self): def ask_feature_cl_2_3(self):
# INPUT: () # INPUT: ()
# OUTPUT: CQI_DATA_BOOL # OUTPUT: CQI_DATA_BOOL
# print('ASK_FEATURE_CL_2_3') # print('ASK_FEATURE_CL_2_3')
self.__send_WORD(CQi.ASK_FEATURE_CL_2_3) self.__send_WORD(CQi.ASK_FEATURE_CL_2_3)
return self.__recv_response() return self.__recv_response(CQi.DATA_BOOL)
def ask_feature_cqp_2_3(self): def ask_feature_cqp_2_3(self):
# INPUT: () # INPUT: ()
# OUTPUT: CQI_DATA_BOOL # OUTPUT: CQI_DATA_BOOL
# print('ASK_FEATURE_CL_2_3') # print('ASK_FEATURE_CL_2_3')
self.__send_WORD(CQi.ASK_FEATURE_CL_2_3) self.__send_WORD(CQi.ASK_FEATURE_CL_2_3)
return self.__recv_response() return self.__recv_response(CQi.DATA_BOOL)
def corpus_list_coprora(self): def corpus_list_coprora(self):
# INPUT: () # INPUT: ()
# OUTPUT: CQI_DATA_STRING_LIST # OUTPUT: CQI_DATA_STRING_LIST
# print('CORPUS_LIST_CORPORA') # print('CORPUS_LIST_CORPORA')
self.__send_WORD(CQi.CORPUS_LIST_CORPORA) self.__send_WORD(CQi.CORPUS_LIST_CORPORA)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_charset(self, corpus): def corpus_charset(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -82,7 +82,7 @@ class CQiClient: ...@@ -82,7 +82,7 @@ class CQiClient:
# print('CORPUS_CHARSET') # print('CORPUS_CHARSET')
self.__send_WORD(CQi.CORPUS_CHARSET) self.__send_WORD(CQi.CORPUS_CHARSET)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING)
def corpus_properties(self, corpus): def corpus_properties(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -90,7 +90,7 @@ class CQiClient: ...@@ -90,7 +90,7 @@ class CQiClient:
# print('CORPUS_PROPERTIES') # print('CORPUS_PROPERTIES')
self.__send_WORD(CQi.CORPUS_PROPERTIES) self.__send_WORD(CQi.CORPUS_PROPERTIES)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_positional_attributes(self, corpus): def corpus_positional_attributes(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -98,7 +98,7 @@ class CQiClient: ...@@ -98,7 +98,7 @@ class CQiClient:
# print('CORPUS_POSITIONAL_ATTRIBUTES') # print('CORPUS_POSITIONAL_ATTRIBUTES')
self.__send_WORD(CQi.CORPUS_POSITIONAL_ATTRIBUTES) self.__send_WORD(CQi.CORPUS_POSITIONAL_ATTRIBUTES)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_structural_attributes(self, corpus): def corpus_structural_attributes(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -106,7 +106,7 @@ class CQiClient: ...@@ -106,7 +106,7 @@ class CQiClient:
# print('CORPUS_STRUCTURAL_ATTRIBUTES') # print('CORPUS_STRUCTURAL_ATTRIBUTES')
self.__send_WORD(CQi.CORPUS_STRUCTURAL_ATTRIBUTES) self.__send_WORD(CQi.CORPUS_STRUCTURAL_ATTRIBUTES)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_structural_attribute_has_values(self, attribute): def corpus_structural_attribute_has_values(self, attribute):
# INPUT: (STRING attribute) # INPUT: (STRING attribute)
...@@ -114,7 +114,7 @@ class CQiClient: ...@@ -114,7 +114,7 @@ class CQiClient:
# print('CORPUS_STRUCTURAL_ATTRIBUTE_HAS_VALUES') # print('CORPUS_STRUCTURAL_ATTRIBUTE_HAS_VALUES')
self.__send_WORD(CQi.CORPUS_STRUCTURAL_ATTRIBUTE_HAS_VALUES) self.__send_WORD(CQi.CORPUS_STRUCTURAL_ATTRIBUTE_HAS_VALUES)
self.__send_STRING(attribute) self.__send_STRING(attribute)
return self.__recv_response() return self.__recv_response(CQi.DATA_BOOL)
def corpus_alignment_attributes(self, corpus): def corpus_alignment_attributes(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -122,7 +122,7 @@ class CQiClient: ...@@ -122,7 +122,7 @@ class CQiClient:
# print('CORPUS_ALIGNMENT_ATTRIBUTES') # print('CORPUS_ALIGNMENT_ATTRIBUTES')
self.__send_WORD(CQi.CORPUS_ALIGNMENT_ATTRIBUTES) self.__send_WORD(CQi.CORPUS_ALIGNMENT_ATTRIBUTES)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_full_name(self, corpus): def corpus_full_name(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -131,7 +131,7 @@ class CQiClient: ...@@ -131,7 +131,7 @@ class CQiClient:
# print('CORPUS_FULL_NAME') # print('CORPUS_FULL_NAME')
self.__send_WORD(CQi.CORPUS_FULL_NAME) self.__send_WORD(CQi.CORPUS_FULL_NAME)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING)
def corpus_info(self, corpus): def corpus_info(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -140,7 +140,7 @@ class CQiClient: ...@@ -140,7 +140,7 @@ class CQiClient:
# print('CORPUS_INFO') # print('CORPUS_INFO')
self.__send_WORD(CQi.CORPUS_INFO) self.__send_WORD(CQi.CORPUS_INFO)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def corpus_drop_corpus(self, corpus): def corpus_drop_corpus(self, corpus):
''' '''
...@@ -153,7 +153,7 @@ class CQiClient: ...@@ -153,7 +153,7 @@ class CQiClient:
# print('CORPUS_DROP_CORPUS') # print('CORPUS_DROP_CORPUS')
self.__send_WORD(CQi.CORPUS_DROP_CORPUS) self.__send_WORD(CQi.CORPUS_DROP_CORPUS)
self.__send_STRING(corpus) self.__send_STRING(corpus)
self.__recv_response() return self.__recv_response(CQi.STATUS_OK)
def cl_attribute_size(self, attribute): def cl_attribute_size(self, attribute):
# INPUT: (STRING attribute) # INPUT: (STRING attribute)
...@@ -165,7 +165,7 @@ class CQiClient: ...@@ -165,7 +165,7 @@ class CQiClient:
# print('CL_ATTRIBUTE_SIZE') # print('CL_ATTRIBUTE_SIZE')
self.__send_WORD(CQi.CL_ATTRIBUTE_SIZE) self.__send_WORD(CQi.CL_ATTRIBUTE_SIZE)
self.__send_STRING(attribute) self.__send_STRING(attribute)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT)
def cl_lexicon_size(self, attribute): def cl_lexicon_size(self, attribute):
# INPUT: (STRING attribute) # INPUT: (STRING attribute)
...@@ -176,7 +176,7 @@ class CQiClient: ...@@ -176,7 +176,7 @@ class CQiClient:
# print('CL_LEXICON_SIZE') # print('CL_LEXICON_SIZE')
self.__send_WORD(CQi.CL_LEXICON_SIZE) self.__send_WORD(CQi.CL_LEXICON_SIZE)
self.__send_STRING(attribute) self.__send_STRING(attribute)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT)
def cl_drop_attribute(self, attribute): def cl_drop_attribute(self, attribute):
# INPUT: (STRING attribute) # INPUT: (STRING attribute)
...@@ -185,7 +185,7 @@ class CQiClient: ...@@ -185,7 +185,7 @@ class CQiClient:
# print('CL_DROP_ATTRIBUTE') # print('CL_DROP_ATTRIBUTE')
self.__send_WORD(CQi.CL_LEXICON_SIZE) self.__send_WORD(CQi.CL_LEXICON_SIZE)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__recv_response() return self.__recv_response(CQi.STATUS_OK)
""" """
" NOTE: simple (scalar) mappings are applied to lists (the returned list " NOTE: simple (scalar) mappings are applied to lists (the returned list
...@@ -201,7 +201,7 @@ class CQiClient: ...@@ -201,7 +201,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_LEXICON_SIZE) self.__send_WORD(CQi.CL_LEXICON_SIZE)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_STRING_LIST(strings) self.__send_STRING_LIST(strings)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_id2str(self, attribute, id): def cl_id2str(self, attribute, id):
# INPUT: (STRING attribute, INT_LIST id) # INPUT: (STRING attribute, INT_LIST id)
...@@ -211,7 +211,7 @@ class CQiClient: ...@@ -211,7 +211,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_ID2STR) self.__send_WORD(CQi.CL_ID2STR)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(id) self.__send_INT_LIST(id)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def cl_id2freq(self, attribute, id): def cl_id2freq(self, attribute, id):
# INPUT: (STRING attribute, INT_LIST id) # INPUT: (STRING attribute, INT_LIST id)
...@@ -221,7 +221,7 @@ class CQiClient: ...@@ -221,7 +221,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_ID2FREQ) self.__send_WORD(CQi.CL_ID2FREQ)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(id) self.__send_INT_LIST(id)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_cpos2id(self, attribute, cpos): def cl_cpos2id(self, attribute, cpos):
# INPUT: (STRING attribute, INT_LIST cpos) # INPUT: (STRING attribute, INT_LIST cpos)
...@@ -231,7 +231,7 @@ class CQiClient: ...@@ -231,7 +231,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_ID2FREQ) self.__send_WORD(CQi.CL_ID2FREQ)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_cpos2str(self, attribute, cpos): def cl_cpos2str(self, attribute, cpos):
# INPUT: (STRING attribute, INT_LIST cpos) # INPUT: (STRING attribute, INT_LIST cpos)
...@@ -241,7 +241,7 @@ class CQiClient: ...@@ -241,7 +241,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_CPOS2STR) self.__send_WORD(CQi.CL_CPOS2STR)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def cl_cpos2struc(self, attribute, cpos): def cl_cpos2struc(self, attribute, cpos):
# INPUT: (STRING attribute, INT_LIST cpos) # INPUT: (STRING attribute, INT_LIST cpos)
...@@ -251,7 +251,7 @@ class CQiClient: ...@@ -251,7 +251,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_CPOS2STRUC) self.__send_WORD(CQi.CL_CPOS2STRUC)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
""" """
" NOTE: temporary addition for the Euralex2000 tutorial, but should " NOTE: temporary addition for the Euralex2000 tutorial, but should
...@@ -267,7 +267,7 @@ class CQiClient: ...@@ -267,7 +267,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_CPOS2LBOUND) self.__send_WORD(CQi.CL_CPOS2LBOUND)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_cpos2rbound(self, attribute, cpos): def cl_cpos2rbound(self, attribute, cpos):
# INPUT: (STRING attribute, INT_LIST cpos) # INPUT: (STRING attribute, INT_LIST cpos)
...@@ -278,7 +278,7 @@ class CQiClient: ...@@ -278,7 +278,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_CPOS2RBOUND) self.__send_WORD(CQi.CL_CPOS2RBOUND)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_cpos2alg(self, attribute, cpos): def cl_cpos2alg(self, attribute, cpos):
# INPUT: (STRING attribute, INT_LIST cpos) # INPUT: (STRING attribute, INT_LIST cpos)
...@@ -288,7 +288,7 @@ class CQiClient: ...@@ -288,7 +288,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_CPOS2ALG) self.__send_WORD(CQi.CL_CPOS2ALG)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(cpos) self.__send_INT_LIST(cpos)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_struc2str(self, attribute, strucs): def cl_struc2str(self, attribute, strucs):
# INPUT: (STRING attribute, INT_LIST strucs) # INPUT: (STRING attribute, INT_LIST strucs)
...@@ -300,7 +300,7 @@ class CQiClient: ...@@ -300,7 +300,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_STRUC2STR) self.__send_WORD(CQi.CL_STRUC2STR)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(strucs) self.__send_INT_LIST(strucs)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
""" """
" NOTE: the following mappings take a single argument and return multiple " NOTE: the following mappings take a single argument and return multiple
...@@ -315,7 +315,7 @@ class CQiClient: ...@@ -315,7 +315,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_ID2CPOS) self.__send_WORD(CQi.CL_ID2CPOS)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT(id) self.__send_INT(id)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_idlist2cpos(self, attribute, id_list): def cl_idlist2cpos(self, attribute, id_list):
# INPUT: (STRING attribute, INT_LIST id_list) # INPUT: (STRING attribute, INT_LIST id_list)
...@@ -326,7 +326,7 @@ class CQiClient: ...@@ -326,7 +326,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_IDLIST2CPOS) self.__send_WORD(CQi.CL_IDLIST2CPOS)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT_LIST(id_list) self.__send_INT_LIST(id_list)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_regex2id(self, attribute, regex): def cl_regex2id(self, attribute, regex):
# INPUT: (STRING attribute, STRING regex) # INPUT: (STRING attribute, STRING regex)
...@@ -337,7 +337,7 @@ class CQiClient: ...@@ -337,7 +337,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_REGEX2ID) self.__send_WORD(CQi.CL_REGEX2ID)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_STRING(regex) self.__send_STRING(regex)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_struc2cpos(self, attribute, struc): def cl_struc2cpos(self, attribute, struc):
# INPUT: (STRING attribute, INT struc) # INPUT: (STRING attribute, INT struc)
...@@ -347,7 +347,7 @@ class CQiClient: ...@@ -347,7 +347,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_STRUC2CPOS) self.__send_WORD(CQi.CL_STRUC2CPOS)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT(struc) self.__send_INT(struc)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cl_alg2cpos(self, attribute, alg): def cl_alg2cpos(self, attribute, alg):
# INPUT: (STRING attribute, INT alg) # INPUT: (STRING attribute, INT alg)
...@@ -357,7 +357,7 @@ class CQiClient: ...@@ -357,7 +357,7 @@ class CQiClient:
self.__send_WORD(CQi.CL_ALG2CPOS) self.__send_WORD(CQi.CL_ALG2CPOS)
self.__send_STRING(attribute) self.__send_STRING(attribute)
self.__send_INT(alg) self.__send_INT(alg)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_INT_INT_INT)
def cqp_query(self, mother_corpus, subcorpus_name, query): def cqp_query(self, mother_corpus, subcorpus_name, query):
# INPUT: (STRING mother_corpus, STRING subcorpus_name, STRING query) # INPUT: (STRING mother_corpus, STRING subcorpus_name, STRING query)
...@@ -368,7 +368,7 @@ class CQiClient: ...@@ -368,7 +368,7 @@ class CQiClient:
self.__send_STRING(mother_corpus) self.__send_STRING(mother_corpus)
self.__send_STRING(subcorpus_name) self.__send_STRING(subcorpus_name)
self.__send_STRING(query) self.__send_STRING(query)
self.__recv_response() return self.__recv_response(CQi.STATUS_OK)
def cqp_list_subcorpora(self, corpus): def cqp_list_subcorpora(self, corpus):
# INPUT: (STRING corpus) # INPUT: (STRING corpus)
...@@ -376,7 +376,7 @@ class CQiClient: ...@@ -376,7 +376,7 @@ class CQiClient:
# print('CQP_LIST_SUBCORPORA') # print('CQP_LIST_SUBCORPORA')
self.__send_WORD(CQi.CQP_LIST_SUBCORPORA) self.__send_WORD(CQi.CQP_LIST_SUBCORPORA)
self.__send_STRING(corpus) self.__send_STRING(corpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_STRING_LIST)
def cqp_subcorpus_size(self, subcorpus): def cqp_subcorpus_size(self, subcorpus):
# INPUT: (STRING subcorpus) # INPUT: (STRING subcorpus)
...@@ -384,7 +384,7 @@ class CQiClient: ...@@ -384,7 +384,7 @@ class CQiClient:
# print('CQP_SUBCORPUS_SIZE') # print('CQP_SUBCORPUS_SIZE')
self.__send_WORD(CQi.CQP_SUBCORPUS_SIZE) self.__send_WORD(CQi.CQP_SUBCORPUS_SIZE)
self.__send_STRING(subcorpus) self.__send_STRING(subcorpus)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT)
def cqp_subcorpus_has_field(self, subcorpus, field): def cqp_subcorpus_has_field(self, subcorpus, field):
# INPUT: (STRING subcorpus, BYTE field) # INPUT: (STRING subcorpus, BYTE field)
...@@ -393,7 +393,7 @@ class CQiClient: ...@@ -393,7 +393,7 @@ class CQiClient:
self.__send_WORD(CQi.CQP_SUBCORPUS_HAS_FIELD) self.__send_WORD(CQi.CQP_SUBCORPUS_HAS_FIELD)
self.__send_STRING(subcorpus) self.__send_STRING(subcorpus)
self.__send_BYTE(field) self.__send_BYTE(field)
return self.__recv_response() return self.__recv_response(CQi.DATA_BOOL)
def cqp_dump_subcorpus(self, subcorpus, field, first, last): def cqp_dump_subcorpus(self, subcorpus, field, first, last):
# INPUT: (STRING subcorpus, BYTE field, INT first, INT last) # INPUT: (STRING subcorpus, BYTE field, INT first, INT last)
...@@ -406,7 +406,7 @@ class CQiClient: ...@@ -406,7 +406,7 @@ class CQiClient:
self.__send_BYTE(field) self.__send_BYTE(field)
self.__send_INT(first) self.__send_INT(first)
self.__send_INT(last) self.__send_INT(last)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cqp_drop_subcorpus(self, subcorpus): def cqp_drop_subcorpus(self, subcorpus):
# INPUT: (STRING subcorpus) # INPUT: (STRING subcorpus)
...@@ -415,7 +415,7 @@ class CQiClient: ...@@ -415,7 +415,7 @@ class CQiClient:
# print('CQP_DROP_SUBCORPUS') # print('CQP_DROP_SUBCORPUS')
self.__send_WORD(CQi.CQP_DROP_SUBCORPUS) self.__send_WORD(CQi.CQP_DROP_SUBCORPUS)
self.__send_STRING(subcorpus) self.__send_STRING(subcorpus)
self.__recv_response() return self.__recv_response(CQi.STATUS_OK)
""" """
" NOTE: The following two functions are temporarily included for the " NOTE: The following two functions are temporarily included for the
...@@ -436,7 +436,7 @@ class CQiClient: ...@@ -436,7 +436,7 @@ class CQiClient:
self.__send_INT(cutoff) self.__send_INT(cutoff)
self.__send_BYTE(field) self.__send_BYTE(field)
self.__send_STRING(attribute) self.__send_STRING(attribute)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def cqp_fdist_2(self, subcorpus, cutoff, field1, attribute1, field2, def cqp_fdist_2(self, subcorpus, cutoff, field1, attribute1, field2,
attribute2): attribute2):
...@@ -455,28 +455,35 @@ class CQiClient: ...@@ -455,28 +455,35 @@ class CQiClient:
self.__send_STRING(attribute1) self.__send_STRING(attribute1)
self.__send_BYTE(field2) self.__send_BYTE(field2)
self.__send_STRING(attribute2) self.__send_STRING(attribute2)
return self.__recv_response() return self.__recv_response(CQi.DATA_INT_LIST)
def __recv_response(self): def __recv_response(self, expected_response_type=None):
byte_data = self.__recv_WORD() byte_data = self.__recv_WORD()
response_type = byte_data >> 8 response_type = byte_data >> 8
if response_type == CQi.STATUS: if response_type == CQi.CL_ERROR:
response = byte_data
elif response_type == CQi.ERROR:
raise Exception(CQi.lookup[byte_data]) raise Exception(CQi.lookup[byte_data])
elif response_type == CQi.ERROR_SYNTAX_ERROR: elif response_type == CQi.CQP_ERROR:
raise Exception(CQi.lookup[byte_data]) raise Exception(CQi.lookup[byte_data])
elif response_type == CQi.DATA: elif response_type == CQi.DATA:
response = self.__recv_DATA(byte_data) if (expected_response_type is not None
elif response_type == CQi.CL_ERROR: and byte_data != expected_response_type):
raise Exception(CQi.lookup[byte_data]) raise Exception("Expected different response type."
elif response_type == CQi.CQP_ERROR: + "Received: {}, ".format(byte_data)
+ "Expected {}".format(expected_response_type))
return self.__recv_DATA(byte_data)
elif response_type == CQi.ERROR:
raise Exception(CQi.lookup[byte_data]) raise Exception(CQi.lookup[byte_data])
elif response_type == CQi.STATUS:
if (expected_response_type is not None
and byte_data != expected_response_type):
raise Exception("Expected different response type."
+ "Received: {}, ".format(byte_data)
+ "Expected {}".format(expected_response_type))
return byte_data
else: else:
raise Exception( raise Exception(
'Unknown response type: {}'.format(hex(response_type)) 'Unknown response type: {}'.format(hex(response_type))
) )
return response
def __recv_DATA(self, data_type): def __recv_DATA(self, data_type):
if data_type == CQi.DATA_BYTE: if data_type == CQi.DATA_BYTE:
......
...@@ -20,8 +20,8 @@ class CQiWrapper(CQiClient): ...@@ -20,8 +20,8 @@ class CQiWrapper(CQiClient):
SUBCORPUS_NAMES = [] SUBCORPUS_NAMES = []
def __init__(self, host='127.0.0.1', port=4877, username='opaque', def __init__(self, host='127.0.0.1', port=4877, username='anonymous',
password='opaque'): password=''):
super(CQiWrapper, self).__init__(host=host, port=port) super(CQiWrapper, self).__init__(host=host, port=port)
self.username = username self.username = username
self.password = password self.password = password
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment