# HG changeset patch # User ymh # Date 1390913476 -3600 # Node ID b5d6eff78369f5e63b3bbf7a4ada27248926da66 # Parent 48fe43ad428803c3d390744cd4aaed42243e020d escape regex and other data consolidation diff -r 48fe43ad4288 -r b5d6eff78369 src/jocondelab/views/ajax.py --- a/src/jocondelab/views/ajax.py Fri Jan 24 17:46:14 2014 +0100 +++ b/src/jocondelab/views/ajax.py Tue Jan 28 13:51:16 2014 +0100 @@ -14,6 +14,7 @@ from django.http.response import HttpResponseBadRequest from django.views.generic import TemplateView import requests +import re from core.models import Notice, Thesaurus from jocondelab.models import (DbpediaYears, DbpediaGeo, DbpediaFields, @@ -29,7 +30,7 @@ count = request.GET.get('count', 20) qs = DbpediaFields.objects.filter(term__nb_illustrated_notice__gt=0,language_code=lang) if lang in [ "fr", "en", "de", "it", "es", "pt", "ca", "br", "eu", "oc" ]: - qs = qs.filter(label__iregex=r"\y%s"%q) + qs = qs.filter(label__iregex=r"\y%s"%re.escape(q)) else: qs = qs.filter(label__icontains=q) qs = qs.values('dbpedia_uri','label').distinct().order_by('label')[:count] @@ -136,7 +137,9 @@ return self.render_to_response({"term": termdict}) def get(self, request): - contribution_id = int(request.GET.get('contribution_id', None)) + contribution_id = int(request.GET.get('contribution_id', 0)) + if not contribution_id: + return HttpResponseBadRequest("Wrong contribution id") return self.render_contribution(Contribution.objects.get(pk=contribution_id), request) class ContributeView(BaseContributionView): diff -r 48fe43ad4288 -r b5d6eff78369 src/jocondelab/views/front_office.py --- a/src/jocondelab/views/front_office.py Fri Jan 24 17:46:14 2014 +0100 +++ b/src/jocondelab/views/front_office.py Tue Jan 28 13:51:16 2014 +0100 @@ -142,7 +142,7 @@ fields_hash = {} for fields in fs: fields_hash.setdefault(fields.dbpedia_uri, set()).add(fields.term_id) - uri_cache.update(dict([(fields.label.lower(), fields.dbpedia_uri) for fields in fs])) + uri_cache.update(dict([(fields.label.lower() if fields.label else "", fields.dbpedia_uri) for fields in fs])) if page == 1 and len(dbpedia_uris) == 1 and len(fs) > 0: context["wkinfo"] = fs[0] for term_ids in fields_hash.values():