118 def _autocomplete(self, value):
119 if not value:
120
121 if len(settings['search']['languages']) < 10:
122 for lang in settings['search']['languages']:
123 self.raw_text_query.autocomplete_list.append(':' + lang)
124 else:
125 for lang in [":en", ":en_us", ":english", ":united_kingdom"]:
126 self.raw_text_query.autocomplete_list.append(lang)
127 return
128
129 for lc in sxng_locales:
130 if lc[0] not in settings['search']['languages']:
131 continue
132 lang_id, lang_name, country, english_name, _flag = map(str.lower, lc)
133
134
135 if lang_id.startswith(value):
136 if len(value) <= 2:
137 self._add_autocomplete(':' + lang_id.split('-')[0])
138 else:
139 self._add_autocomplete(':' + lang_id)
140
141
142 if lang_name.startswith(value) or english_name.startswith(value):
143 self._add_autocomplete(':' + lang_name)
144
145
146
147 if country.startswith(value.replace('-', ' ')):
148 self._add_autocomplete(':' + country.replace(' ', '_'))
149
150