Skip to content

Commit

Permalink
Issue #964: Search Senses/Sentences Template/View
Browse files Browse the repository at this point in the history
plus infrastructure
  • Loading branch information
susanodd committed Oct 4, 2023
1 parent e4a1f11 commit 5b6b809
Show file tree
Hide file tree
Showing 7 changed files with 1,809 additions and 3 deletions.
781 changes: 780 additions & 1 deletion signbank/dictionary/adminviews.py

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions signbank/dictionary/senses_display.py
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,41 @@ def senses_per_language_list(gloss):
sensetranslations_for_language[sensei] = ', '.join(keywords_list)
sensetranslations_per_language.append((language, sensetranslations_for_language))
return sensetranslations_per_language


def senses_translations_per_language_list(sense):
# Put senses per language in a list of pairs, language plus dictionary of sense number to list of strings
sensetranslations_per_language = []
if not sense:
return sensetranslations_per_language
sense_dataset = sense.get_dataset()
for language in sense_dataset.translation_languages.all():
sensetranslations_for_language = dict()
if sense.senseTranslations.filter(language=language).exists():
sensetranslation = sense.senseTranslations.get(language=language)
translations = sensetranslation.translations.all().order_by('index')
if translations:
keywords_list = [trans.translation.text for trans in translations if trans.translation.text != '']
sensetranslations_for_language[sense] = ', '.join(keywords_list)
sensetranslations_per_language.append((language, sensetranslations_for_language))
return sensetranslations_per_language


def senses_sentences_per_language_list(sense):
# Put senses per language in a list of pairs, language plus dictionary of sense number to list of strings
sensetranslations_per_language = []
if not sense:
return sensetranslations_per_language
sense_dataset = sense.get_dataset()
for language in sense_dataset.translation_languages.all():
sensetranslations_for_language = dict()
all_sentences = sense.exampleSentences.all()
for sentence in all_sentences:
sentence_translations = ExampleSentenceTranslation.objects.filter(examplesentence=sentence, language=language)
if not sentence_translations:
continue
if language not in sensetranslations_for_language.keys():
sensetranslations_for_language[language] = []
sensetranslations_for_language[language].append(sentence_translations.first().text)
sensetranslations_per_language.append((language, sensetranslations_for_language))
return sensetranslations_per_language
Loading

0 comments on commit 5b6b809

Please sign in to comment.