Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
shyzik93 committed Oct 20, 2023
1 parent 2ce57f9 commit 5b290c2
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 18 deletions.
2 changes: 1 addition & 1 deletion manspy/analyzers/esperanto_syntax.py
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ def split_sentence(sentence):
# manspy2 exec --synt "se dolara kurzo de laboro estas kvaro"
# manspy2 exec --synt "se dolara kurzo de laboro estas 4"

first_words = sentence.get_indexes_of_first_words()
first_words = sentence.get_first_words()

conjunctions = []
subjects = []
Expand Down
20 changes: 10 additions & 10 deletions manspy/storage/fasif/finder.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ def compare_word(word, index, argument, argworddescr, finded_args):
if argworddescr[POSPEECH] != word[POSPEECH]:
if not (argworddescr[POSPEECH] == NUMERAL and word[DERIVATIVE] == NUMERAL and word[POSPEECH] in [NOUN]):
return False
elif not (not argument.getControl(index) or argworddescr[CASE] == word[CASE]):
elif argument.getControl(index) and argworddescr[CASE] != word[CASE]:
return False # для первого дополнения падеж не учитывается
elif word[MOSENTENCE] in [DEFINITION, CIRCUMSTANCE]:
if argworddescr[POSPEECH] != word[POSPEECH]:
Expand All @@ -72,8 +72,8 @@ def compare_word(word, index, argument, argworddescr, finded_args):
return True


def jump_to_obient(sentence, index_word):
indexes = sentence.getObient(index_word)
def jump_to_obient(sentence, word):
indexes = sentence.getObient(word)
if indexes:
sentence.jumpByIndex(indexes[0])
sentence.jumpByStep(-1)
Expand All @@ -82,18 +82,18 @@ def jump_to_obient(sentence, index_word):

def compare_fasif_word_combination(fasif, argument, finded_args, language):
_argument = Sentence(None, imports=fasif['wcomb'][language])
first_words = _argument.get_indexes_of_first_words()
first_words = _argument.get_first_words()
if first_words:
first_word = first_words[0] # однородные слова должны обработаться в следующем цикле

_argument_iter = Sentence(None, imports=fasif['wcomb'][language]).iterFromByIndex(first_word.index)
first_words = argument.get_indexes_of_first_words()
_argument_iter = Sentence(None, imports=fasif['wcomb'][language]).iterFromByWord(first_word)
first_words = argument.get_first_words()
if first_words:
first_word = first_words[0] # однородные слова должны обработаться в следующем цикле
else:
return False # "закольцованный" актант - на каждое слово ссылается другое слово.

for word in argument.iterFromByIndex(first_word.index):
for word in argument.iterFromByWord(first_word):
_word = next(_argument_iter)

# "Проходимся" по дополнениям (прямые, косвенные, а также подлежащие)
Expand All @@ -108,13 +108,13 @@ def compare_fasif_word_combination(fasif, argument, finded_args, language):

# если всен аргументные слова - необязательные, то константа может быть пропущена
argument.jumpByStep(-1)
_has_obient = jump_to_obient(_argument, _word['index'])
_has_obient = jump_to_obient(_argument, _word)
if not _has_obient:
break

# flog.write(' Result of comparing word is right: index - %i, base - "%s".\n' % (index, word['base']))
has_obient = jump_to_obient(argument, word.index)
_has_obient = jump_to_obient(_argument, _word['index'])
has_obient = jump_to_obient(argument, word)
_has_obient = jump_to_obient(_argument, _word)
# "Проходимся" по обстоятельствам и определениям
features = word['feature']
_features = _word['feature']
Expand Down
4 changes: 2 additions & 2 deletions manspy/utils/unit/base_unit.py
Original file line number Diff line number Diff line change
Expand Up @@ -260,8 +260,8 @@ def iterFromByStep(self, step=0):
position = self.position + step if step != None else 0
return self.__iter__(position)

def iterFromByIndex(self, index):
position = list(self.keys).index(index)
def iterFromByWord(self, word):
position = list(self.keys).index(word.index)
return self.__iter__(position)

def jumpByStep(self, step=1):
Expand Down
9 changes: 4 additions & 5 deletions manspy/utils/unit/sentence.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,9 @@ def addLink(self, word_parent, word_obient): # parent = control
if word_obient.index not in self.subunit_info[word_parent.index]["link"]:
self.subunit_info[word_parent.index]["link"].append(word_obient.index)

def getObient(self, index):
""" Возвращает индексы тех слов, которые подчиняются слову по
переданому индексу"""
return self.subunit_info[index]['link']
def getObient(self, word):
""" Возвращает индексы тех слов, которые подчиняются переданному слову"""
return self.subunit_info[word.index]['link']

def getControl(self, index):
""" Возвращает индексы тех слов, которым подчинено слово по
Expand Down Expand Up @@ -107,7 +106,7 @@ def getHomogeneous(self, index, inclusive=False): # inclusive - включите
if inclusive: homogeneous.append(index)
return homogeneous

def get_indexes_of_first_words(self):
def get_first_words(self):
""" Возвращает первые слова. Первыми являютсмя те слова в предложении, на которые никто не ссылается.
Возврашщает список однородных слов.
"""
Expand Down

0 comments on commit 5b290c2

Please sign in to comment.