Feature#1405 and Bug#1399
This commit is contained in:
parent
b764d59602
commit
3926d1a199
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -10,5 +10,5 @@ build/*
|
||||||
# using kdev4, works fairly nicely!
|
# using kdev4, works fairly nicely!
|
||||||
.kdev4
|
.kdev4
|
||||||
**/*.kdev4
|
**/*.kdev4
|
||||||
|
remote
|
||||||
|
|
||||||
|
|
|
@ -34,19 +34,30 @@ def build_structure_conversions():
|
||||||
structure_conversions.append((__new__(RegExp(vfrom, 'u')), vto_name, vto_id))
|
structure_conversions.append((__new__(RegExp(vfrom, 'u')), vto_name, vto_id))
|
||||||
|
|
||||||
|
|
||||||
def convert_structure(structure):
|
def convert_structure(structure, type):
|
||||||
if structure_conversions is None:
|
if structure_conversions is None:
|
||||||
build_structure_conversions()
|
build_structure_conversions()
|
||||||
|
|
||||||
for vfrom, vto_name, vto_id in structure_conversions:
|
for vfrom, vto_name, vto_id in structure_conversions:
|
||||||
match = structure.match(vfrom)
|
match = structure.match(vfrom)
|
||||||
|
# fix for ids 65, 66, 67 which instead matched with 64
|
||||||
|
if match and vto_id == '64' and '-s' in type:
|
||||||
|
vto_name = 's0-vp-s0'
|
||||||
|
vto_id = '65'
|
||||||
|
elif match and vto_id == '64' and '-g' in type:
|
||||||
|
vto_name = 'gg-vp-gg'
|
||||||
|
vto_id = '66'
|
||||||
|
elif match and vto_id == '64' and '-r' in type:
|
||||||
|
vto_name = 'r-vp-r'
|
||||||
|
vto_id = '67'
|
||||||
|
|
||||||
if match:
|
if match:
|
||||||
# we need to remove replace alias here as we want to use javascript's one
|
# we need to remove replace alias here as we want to use javascript's one
|
||||||
__pragma__('noalias', 'replace')
|
__pragma__('noalias', 'replace')
|
||||||
result = structure.replace(vfrom, vto_name).strip()
|
result = structure.replace(vfrom, vto_name).strip()
|
||||||
__pragma__('alias', 'replace', "py_replace")
|
__pragma__('alias', 'replace', "py_replace")
|
||||||
|
|
||||||
return result, vto_id
|
return result, vto_id
|
||||||
|
|
||||||
window.console.log("Unknown structure: ", structure)
|
window.console.log("Unknown structure: ", structure)
|
||||||
return None
|
return 'N/A', '/'
|
||||||
|
|
|
@ -26,6 +26,7 @@ class SkeExample:
|
||||||
self.mid = ""
|
self.mid = ""
|
||||||
self.s_id = ""
|
self.s_id = ""
|
||||||
self.gf2_good = None
|
self.gf2_good = None
|
||||||
|
self.gf2_check = False
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def fromLine(line):
|
def fromLine(line):
|
||||||
|
@ -58,15 +59,7 @@ class SkeCollocation:
|
||||||
def __init__(self, data):
|
def __init__(self, data):
|
||||||
self.word = data.word
|
self.word = data.word
|
||||||
self.frequency = data.count
|
self.frequency = data.count
|
||||||
|
self.structure_name, self.structure_id = convert_structure(data.gramrel, data.lempos)
|
||||||
info = convert_structure(data.gramrel)
|
|
||||||
if info is None:
|
|
||||||
self.structure_name = None
|
|
||||||
self.structure_id = None
|
|
||||||
else:
|
|
||||||
self.structure_name = info[0]
|
|
||||||
self.structure_id = info[1]
|
|
||||||
|
|
||||||
|
|
||||||
self.other = {"score": data.score, "cm": data.cm}
|
self.other = {"score": data.score, "cm": data.cm}
|
||||||
|
|
||||||
|
@ -79,7 +72,7 @@ class SkeCollocation:
|
||||||
h("span.grey1", {}, self.other["cm"]),
|
h("span.grey1", {}, self.other["cm"]),
|
||||||
h("span", {}, ","),
|
h("span", {}, ","),
|
||||||
h("span.grey2", {}, self.structure_name)])]
|
h("span.grey2", {}, self.structure_name)])]
|
||||||
|
|
||||||
|
|
||||||
def get_parser(ske_index_type):
|
def get_parser(ske_index_type):
|
||||||
if ske_index_type == 0:
|
if ske_index_type == 0:
|
||||||
|
@ -148,7 +141,7 @@ class SkeModal(ClickMessage):
|
||||||
elif type(data) is list:
|
elif type(data) is list:
|
||||||
window.console.log(data)
|
window.console.log(data)
|
||||||
# check if gf2 examples are loaded or not
|
# check if gf2 examples are loaded or not
|
||||||
if data[0].gf2_good is None:
|
if not data[0].gf2_check and type(data[0]) is SkeExample:
|
||||||
# we get the data, we have to match it with available data on our gf2 examples API
|
# we get the data, we have to match it with available data on our gf2 examples API
|
||||||
match_gf2_examples(data, page_num, search_term, ske_index)
|
match_gf2_examples(data, page_num, search_term, ske_index)
|
||||||
|
|
||||||
|
@ -169,12 +162,18 @@ class SkeModalGf2Update(SkeModal):
|
||||||
example.gf_good = False
|
example.gf_good = False
|
||||||
data_dict[example.s_id] = example
|
data_dict[example.s_id] = example
|
||||||
|
|
||||||
|
bad_response = dict(response_data["bad"])
|
||||||
|
for gf_sid, gf_data in bad_response.items():
|
||||||
|
data_dict[gf_sid].gf2_good = None
|
||||||
|
data_dict[gf_sid].gf2_check = True
|
||||||
|
|
||||||
good_response = dict(response_data["good"])
|
good_response = dict(response_data["good"])
|
||||||
for gf_sid, gf_data in good_response.items():
|
for gf_sid, gf_data in good_response.items():
|
||||||
data_dict[gf_sid].left = gf_data.left
|
data_dict[gf_sid].left = gf_data.left
|
||||||
data_dict[gf_sid].mid = gf_data.mid
|
data_dict[gf_sid].mid = gf_data.mid
|
||||||
data_dict[gf_sid].right = gf_data.right
|
data_dict[gf_sid].right = gf_data.right
|
||||||
data_dict[gf_sid].gf2_good = True
|
data_dict[gf_sid].gf2_good = True
|
||||||
|
data_dict[gf_sid].gf2_check = True
|
||||||
|
|
||||||
# changed data_dict, now we can redraw!
|
# changed data_dict, now we can redraw!
|
||||||
# just let it do its thing in update_model
|
# just let it do its thing in update_model
|
||||||
|
@ -224,11 +223,13 @@ class SkeInsert(DataChgClickMessage):
|
||||||
else:
|
else:
|
||||||
console.log("You really should not be here, my lady")
|
console.log("You really should not be here, my lady")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
model.reset()
|
||||||
|
|
||||||
def _as_corpus_example(self, example):
|
def _as_corpus_example(self, example):
|
||||||
new_example = Example()
|
new_example = Example()
|
||||||
new_example.inner = CorpusExample()
|
new_example.inner = CorpusExample()
|
||||||
new_example.inner.other_attributes["example_id"] = example.s_id
|
new_example.inner.other_attributes["exampleId"] = example.s_id
|
||||||
new_example.inner.cluster = ExampleClusters.first_empty_cluster()
|
new_example.inner.cluster = ExampleClusters.first_empty_cluster()
|
||||||
|
|
||||||
lex_left = ComponentLexeme()
|
lex_left = ComponentLexeme()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user