"""Search indexes utils.""" from django_elasticsearch_dsl import fields from utils.models import get_current_locale, get_default_locale # object field properties OBJECT_FIELD_PROPERTIES = { 'en-GB': fields.TextField(analyzer='english'), 'ru-RU': fields.TextField(analyzer='russian'), 'fr-FR': fields.TextField(analyzer='french'), } # todo: refactor serializer def get_translated_value(value): if value is None: return None elif not isinstance(value, dict): field_dict = value.to_dict() elif isinstance(value, dict): field_dict = value value = field_dict.get(get_current_locale()) # fallback if value is None: value = field_dict.get(get_default_locale()) return value