Skip to content

Commit

Permalink
normalized all other fields, fixes #42
Browse files Browse the repository at this point in the history
  • Loading branch information
aniversarioperu committed Jul 3, 2015
1 parent b98bce2 commit 4497e86
Showing 1 changed file with 24 additions and 15 deletions.
39 changes: 24 additions & 15 deletions proyectos_de_ley/pdl/search_indexes.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,27 +8,36 @@

class ProyectoIndex(indexes.SearchIndex, indexes.Indexable):
text = indexes.CharField(document=True, use_template=True)
codigo = indexes.CharField(model_attr='codigo')
codigo = indexes.CharField(model_attr='codigo', null=True)
numero_proyecto = indexes.CharField(model_attr='numero_proyecto', null=True)
short_url = indexes.CharField(model_attr='short_url', null=True)
congresistas = indexes.EdgeNgramField(model_attr='congresistas', null=True)
titulo = indexes.EdgeNgramField(model_attr='titulo', null=True)
titulo_de_ley = indexes.EdgeNgramField(model_attr='titulo_de_ley', null=True)
numero_de_ley = indexes.CharField(model_attr='titulo_de_ley', null=True)

"""
def prepare_text(self, obj):
def prepare_codigo(self, obj):
codigo = obj.codigo
codigo_truncado = re.sub('^0+', '', codigo)
fields = [codigo, codigo_truncado, obj.numero_proyecto, obj.short_url,
obj.congresistas, obj.titulo, obj.titulo_de_ley, obj.numero_de_ley]
data = []
for i in fields:
if i is not None:
data.append(i)
original = ' '.join(data)
modified = unicodedata.normalize('NFD', original).encode('ascii', 'ignore')
result = ' '.join([original, modified.decode(encoding='utf-8')])
return codigo_truncado

def prepare_congresistas(self, obj):
result = self.normalize_field(obj.congresistas)
return result
"""

def prepare_titulo(self, obj):
original = obj.titulo
result = self.normalize_field(obj.titulo)
return result

def prepare_titulo_de_ley(self, obj):
try:
result = self.normalize_field(obj.titulo_de_ley)
except TypeError:
return ''
return result

def normalize_field(self, value):
original = value
modified = unicodedata.normalize('NFKD', original).encode('ascii', 'ignore')
result = ' '.join([original, modified.decode(encoding='utf-8')])
return result
Expand Down

0 comments on commit 4497e86

Please sign in to comment.