normalize find values and make lower case, also normalize and lowercase quieries
This commit is contained in:
parent
1bc21588a6
commit
ec5158c03a
7 changed files with 32 additions and 10 deletions
|
@ -1,5 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
from ox.django.query import QuerySet
|
from ox.django.query import QuerySet
|
||||||
|
|
||||||
|
@ -71,6 +73,8 @@ def parseCondition(condition, user):
|
||||||
}.get(op, '__icontains'))
|
}.get(op, '__icontains'))
|
||||||
|
|
||||||
key = str(key)
|
key = str(key)
|
||||||
|
if isinstance(v, unicode):
|
||||||
|
v = unicodedata.normalize('NFKD', v).lower()
|
||||||
if exclude:
|
if exclude:
|
||||||
q = ~Q(**{key: v})
|
q = ~Q(**{key: v})
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
from __future__ import division, with_statement
|
from __future__ import division, with_statement
|
||||||
import re
|
import re
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
@ -136,6 +137,7 @@ class Annotation(models.Model):
|
||||||
if self.value:
|
if self.value:
|
||||||
self.value = utils.cleanup_value(self.value, layer['type'])
|
self.value = utils.cleanup_value(self.value, layer['type'])
|
||||||
self.findvalue = ox.decode_html(ox.strip_tags(re.sub('<br */?>\n?', ' ', self.value))).replace('\n', ' ')
|
self.findvalue = ox.decode_html(ox.strip_tags(re.sub('<br */?>\n?', ' ', self.value))).replace('\n', ' ')
|
||||||
|
self.findvalue = unicodedata.normalize('NFKD', self.findvalue).lower()
|
||||||
sortvalue = sort_string(self.findvalue)
|
sortvalue = sort_string(self.findvalue)
|
||||||
if sortvalue:
|
if sortvalue:
|
||||||
self.sortvalue = sortvalue[:900]
|
self.sortvalue = sortvalue[:900]
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
from ox.django.query import QuerySet
|
from ox.django.query import QuerySet
|
||||||
|
@ -31,6 +32,8 @@ def parseCondition(condition, user):
|
||||||
}.get(op,'__icontains'))
|
}.get(op,'__icontains'))
|
||||||
|
|
||||||
key = str(key)
|
key = str(key)
|
||||||
|
if isinstance(v, unicode):
|
||||||
|
v = unicodedata.normalize('NFKD', v).lower()
|
||||||
if exclude:
|
if exclude:
|
||||||
q = ~Q(**{k: v})
|
q = ~Q(**{k: v})
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
|
@ -130,6 +131,8 @@ def parseCondition(condition, user):
|
||||||
|
|
||||||
k = str(k)
|
k = str(k)
|
||||||
value_key = str(value_key)
|
value_key = str(value_key)
|
||||||
|
if isinstance(v, unicode):
|
||||||
|
v = unicodedata.normalize('NFKD', v).lower()
|
||||||
if k == '*':
|
if k == '*':
|
||||||
q = Q(**{value_key: v})
|
q = Q(**{value_key: v})
|
||||||
elif in_find:
|
elif in_find:
|
||||||
|
|
|
@ -600,6 +600,7 @@ class Item(models.Model):
|
||||||
value = value and 'true' or 'false'
|
value = value and 'true' or 'false'
|
||||||
if isinstance(value, basestring):
|
if isinstance(value, basestring):
|
||||||
value = ox.decode_html(ox.strip_tags(value.strip()))
|
value = ox.decode_html(ox.strip_tags(value.strip()))
|
||||||
|
value = unicodedata.normalize('NFKD', value).lower()
|
||||||
f.value = value
|
f.value = value
|
||||||
f.save()
|
f.save()
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
from ox.django.query import QuerySet
|
from ox.django.query import QuerySet
|
||||||
|
|
||||||
|
@ -60,6 +62,8 @@ def parseCondition(condition, user):
|
||||||
}.get(op,'__icontains'))
|
}.get(op,'__icontains'))
|
||||||
|
|
||||||
key = str(key)
|
key = str(key)
|
||||||
|
if isinstance(v, unicode):
|
||||||
|
v = unicodedata.normalize('NFKD', v).lower()
|
||||||
if exclude:
|
if exclude:
|
||||||
q = ~Q(**{key: v})
|
q = ~Q(**{key: v})
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
|
import unicodedata
|
||||||
|
|
||||||
from django.db.models import Q, Manager
|
from django.db.models import Q, Manager
|
||||||
from ox.django.query import QuerySet
|
from ox.django.query import QuerySet
|
||||||
|
|
||||||
|
@ -59,6 +61,9 @@ def parseCondition(condition, user):
|
||||||
}.get(op,'__icontains'))
|
}.get(op,'__icontains'))
|
||||||
|
|
||||||
key = str(key)
|
key = str(key)
|
||||||
|
if isinstance(v, unicode):
|
||||||
|
v = unicodedata.normalize('NFKD', v).lower()
|
||||||
|
|
||||||
if exclude:
|
if exclude:
|
||||||
q = ~Q(**{key: v})
|
q = ~Q(**{key: v})
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue