forked from 0x2620/pandora
add annotationLanguages
This commit is contained in:
parent
139348b0d3
commit
12fa7edb53
2 changed files with 18 additions and 0 deletions
|
@ -107,3 +107,5 @@ def update_item(id):
|
|||
a.item.update_find()
|
||||
a.item.update_sort()
|
||||
a.item.update_facets()
|
||||
if a.item.update_languages():
|
||||
a.item.save()
|
||||
|
|
|
@ -4,6 +4,7 @@ from __future__ import division, with_statement
|
|||
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
import tempfile
|
||||
|
@ -402,6 +403,7 @@ class Item(models.Model):
|
|||
self.poster_height = 128
|
||||
self.poster_width = 80
|
||||
self.update_sort()
|
||||
self.update_languages()
|
||||
self.json = self.get_json()
|
||||
self.json['modified'] = datetime.now()
|
||||
super(Item, self).save(*args, **kwargs)
|
||||
|
@ -719,6 +721,20 @@ class Item(models.Model):
|
|||
Search related functions
|
||||
'''
|
||||
|
||||
def update_languages(self):
|
||||
languages = {}
|
||||
for layer in settings.CONFIG['layers']:
|
||||
l = layer['id']
|
||||
ll = []
|
||||
if self.annotations.filter(layer=l).count():
|
||||
ll.append(settings.CONFIG['language'])
|
||||
for a in self.annotations.filter(layer=l, value__contains='lang="'):
|
||||
ll += re.compile('lang="(.*?)"').findall(a.value)
|
||||
languages[l] = sorted(set(ll))
|
||||
changed = languages != self.data.get('annotationLanguages')
|
||||
self.data['annotationLanguages'] = languages
|
||||
return changed
|
||||
|
||||
def update_find(self):
|
||||
|
||||
def save(key, value):
|
||||
|
|
Loading…
Reference in a new issue