--- a/src/ldt/ldt/ldt_utils/contentindexer.py Thu Apr 03 15:58:25 2014 +0200
+++ b/src/ldt/ldt/ldt_utils/contentindexer.py Thu Apr 10 15:55:47 2014 +0200
@@ -7,10 +7,9 @@
from ldt.ldt_utils.stat import update_stat_project, add_annotation_to_stat
from ldt.ldt_utils.utils import reduce_text_node
from ldt.utils.url import request_with_auth
-from tagging import settings as tagging_settings
import logging
import lxml.etree #@UnresolvedImport
-import tagging.utils
+from taggit.utils import parse_tags
logger = logging.getLogger(__name__)
@@ -92,11 +91,6 @@
if tags is None:
tags = u""
- tags_list = [tag[:tagging_settings.MAX_TAG_LENGTH] for tag in tagging.utils.parse_tag_input(tags)]
- tags = u",".join(tags_list)
- if u"," not in tags:
- tags = u"," + tags
-
title = reduce_text_node(elementNode, "title/text()")
abstract = reduce_text_node(elementNode, "abstract/text()")
@@ -122,7 +116,6 @@
ensemble_id=ensembleId,
cutting_id=decoupId,
element_id=elementId,
- tags=tags,
title=title,
abstract=abstract,
duration=duration,
@@ -133,14 +126,20 @@
project_id=ldt_id,
audio_src=audio_src,
audio_href=audio_href)
+ # Because of taggit managing (we HAVE to have primary key to ad tags), we save segment and then tags
seg.polemics = seg.get_polemic(polemics)
- if settings.LDT_INDEXATION_INSERT_BATCH_SIZE < 2:
- seg.save()
- else:
- self.__segment_cache.append(seg)
- if not (len(self.__segment_cache)%settings.LDT_INDEXATION_INSERT_BATCH_SIZE):
- object_insert(Segment, self.__segment_cache)
- self.__segment_cache = []
+ seg.save()
+ for t in parse_tags(tags):
+ seg.tags.add(t)
+ seg.save()
+
+# if settings.LDT_INDEXATION_INSERT_BATCH_SIZE < 2:
+# seg.save()
+# else:
+# self.__segment_cache.append(seg)
+# if not (len(self.__segment_cache)%settings.LDT_INDEXATION_INSERT_BATCH_SIZE):
+# object_insert(Segment, self.__segment_cache)
+# self.__segment_cache = []
class ContentIndexer(LdtIndexer):
@@ -221,7 +220,6 @@
ensemble_id=ensemble_id,
cutting_id=cutting_id,
element_id=element_id,
- tags=tags_str,
title=title,
abstract=abstract,
duration=duration,
@@ -234,6 +232,9 @@
audio_href=audio_href)
seg.polemics = seg.get_polemic(polemics)
seg.save()
+ for t in parse_tags(tags_str):
+ seg.tags.add(t)
+ seg.save()
add_annotation_to_stat(seg.content, seg.start_ts, seg.start_ts+seg.duration)