forked from 0x2620/pandora
also match multiword names
This commit is contained in:
parent
0de254984c
commit
93c24419f1
2 changed files with 16 additions and 8 deletions
|
@ -2,10 +2,11 @@
|
||||||
# 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
|
||||||
|
|
||||||
from django.db import models
|
from django.db import models
|
||||||
from django.contrib.auth.models import User
|
from django.contrib.auth.models import User
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
|
||||||
import ox
|
import ox
|
||||||
from ox.django import fields
|
from ox.django import fields
|
||||||
|
|
||||||
|
@ -72,9 +73,12 @@ class Event(models.Model):
|
||||||
q = q|Q(value__icontains=" " + name)|Q(value__startswith=name)
|
q = q|Q(value__icontains=" " + name)|Q(value__startswith=name)
|
||||||
matches = []
|
matches = []
|
||||||
for a in Annotation.objects.filter(q):
|
for a in Annotation.objects.filter(q):
|
||||||
words = ox.words(a.value.lower())
|
value = a.value.lower()
|
||||||
for name in [self.name] + list(self.alternativeNames):
|
for name in [self.name] + list(self.alternativeNames):
|
||||||
if name.lower() in words:
|
name = name.lower()
|
||||||
|
if name in value and (value.startswith(name) or \
|
||||||
|
value.endswith(name) or \
|
||||||
|
re.compile('\s%s[\.!?:\-\s]'%name).findall(value)):
|
||||||
matches.append(a.id)
|
matches.append(a.id)
|
||||||
break
|
break
|
||||||
if not matches:
|
if not matches:
|
||||||
|
|
|
@ -1,12 +1,14 @@
|
||||||
# -*- 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 __future__ import division, with_statement
|
from __future__ import division, with_statement
|
||||||
from django.db import models
|
|
||||||
|
|
||||||
import ox
|
import re
|
||||||
from ox.django import fields
|
|
||||||
|
from django.db import models
|
||||||
from django.contrib.auth.models import User, Group
|
from django.contrib.auth.models import User, Group
|
||||||
from django.db.models import Q
|
from django.db.models import Q
|
||||||
|
import ox
|
||||||
|
from ox.django import fields
|
||||||
|
|
||||||
import managers
|
import managers
|
||||||
from annotation.models import Annotation
|
from annotation.models import Annotation
|
||||||
|
@ -81,9 +83,11 @@ class Place(models.Model):
|
||||||
q = q|Q(value__contains=" " + name)|Q(value__startswith=name)
|
q = q|Q(value__contains=" " + name)|Q(value__startswith=name)
|
||||||
matches = []
|
matches = []
|
||||||
for a in Annotation.objects.filter(q):
|
for a in Annotation.objects.filter(q):
|
||||||
words = ox.words(a.value)
|
value = a.value
|
||||||
for name in [self.name] + list(self.alternativeNames):
|
for name in [self.name] + list(self.alternativeNames):
|
||||||
if name in words:
|
if name in value and (value.startswith(name) or \
|
||||||
|
value.endswith(name) or \
|
||||||
|
re.compile('\s%s[\.!?:\-\s]'%name).findall(value)):
|
||||||
matches.append(a.id)
|
matches.append(a.id)
|
||||||
break
|
break
|
||||||
if not matches:
|
if not matches:
|
||||||
|
|
Loading…
Reference in a new issue