store annotations in db and sync with peers
This commit is contained in:
parent
131a6a3215
commit
e0cba14d6a
21 changed files with 385 additions and 63 deletions
|
|
@ -116,7 +116,18 @@ class Parser(object):
|
|||
elif k == 'fulltext':
|
||||
ids = find_fulltext(v)
|
||||
return self.in_ids(ids, exclude)
|
||||
|
||||
elif k in ('notes', 'quotes'):
|
||||
from annotation.models import Annotation
|
||||
if isinstance(v, str):
|
||||
v = unicodedata.normalize('NFKD', v).lower()
|
||||
ids = set()
|
||||
if k == 'notes':
|
||||
qs = Annotation.query.filter(get_operator('=')(Annotation.findnotes, v))
|
||||
elif k == 'quotes':
|
||||
qs = Annotation.query.filter(get_operator('=')(Annotation.findquotes, v))
|
||||
for a in qs:
|
||||
ids.add(a.item_id)
|
||||
return self.in_ids(ids, exclude)
|
||||
elif key_type in ("string", "text"):
|
||||
if isinstance(v, str):
|
||||
v = unicodedata.normalize('NFKD', v).lower()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue