# HG changeset patch # User verrierj # Date 1327918448 -3600 # Node ID cba0c297bc88a5dabc8b07308dd5957f130ab3ca # Parent 5cc5afa71d7efc4efc79e90ca52464a5d1e78b18 Polemic syntax can be used in API diff -r 5cc5afa71d7e -r cba0c297bc88 src/ldt/ldt/ldt_utils/stat.py --- a/src/ldt/ldt/ldt_utils/stat.py Fri Jan 27 17:21:56 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/stat.py Mon Jan 30 11:14:08 2012 +0100 @@ -12,9 +12,6 @@ size_division = content.duration / nb_division limits = [x * size_division for x in range(nb_division+1)] nb_annotation = len(segments) - - polemic_positive = 0 - polemic_negative = 0 for segment in segments: @@ -22,16 +19,18 @@ end = segment.start_ts + segment.duration if segment.is_polemic('OK'): - polemic_positive += 1 + content.pol_positive += 1 if segment.is_polemic('KO'): - polemic_negative += 1 + content.pol_negative += 1 + if segment.is_polemic('Q'): + content.pol_question += 1 + if segment.is_polemic('REF'): + content.pol_reference += 1 buckets = find_buckets(buckets, limits, begin, end) content.annotation_volume = buckets content.nb_annotation = nb_annotation - content.polemic_positive = polemic_positive - content.polemic_negative = polemic_negative content.save() @@ -51,7 +50,7 @@ return True -def add_annotation_to_stat(content, begin, end): +def add_annotation_to_stat(content, begin, end, polemics=[]): nb_division = settings.DIVISIONS_FOR_STAT_ANNOTATION if not content.nb_annotation or not content.stat_annotation: @@ -65,15 +64,16 @@ content.annotation_volume = buckets content.last_annotated = datetime.datetime.now() + for polemic in polemics: + update_polemic_stat(content, polemic) + content.save() - def get_string_from_buckets(buckets): s = "%s" % buckets s = s[1:-1].replace(' ', '') return s - def get_buckets_from_string(string): return [int(x) for x in string.split(',')] @@ -104,3 +104,15 @@ return buckets +def update_polemic_stat(content, polemic_hashtag): + if polemic_hashtag == "OK": + content.pol_positive += 1 + if polemic_hashtag == "KO": + content.pol_negative += 1 + if polemic_hashtag == "Q": + content.pol_question += 1 + if polemic_hashtag == "REF": + content.pol_reference += 1 + + return content + diff -r 5cc5afa71d7e -r cba0c297bc88 src/ldt/ldt/ldt_utils/utils.py --- a/src/ldt/ldt/ldt_utils/utils.py Fri Jan 27 17:21:56 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/utils.py Mon Jan 30 11:14:08 2012 +0100 @@ -265,6 +265,16 @@ audio.set('source', '') tags = lxml.etree.SubElement(element, 'tags') + polemics = self.get_polemic_syntax(title) + print "polemics : %s" % polemics + if polemics: + meta = lxml.etree.SubElement(element, 'meta') + polemics_node = lxml.etree.SubElement(meta, 'polemics') + + for polemic in polemics: + polemic_node = lxml.etree.SubElement(polemics_node, 'polemic') + polemic_node.text = polemic + for tag in tags_list: tag_node = lxml.etree.SubElement(tags, 'tag') tag_node.text = tag @@ -276,10 +286,21 @@ self.project.ldt = lxml.etree.tostring(self.ldtdoc, pretty_print=True) #assert False, " TIBO SAVE " + self.project.ldt self.project.save() + + def get_polemic_syntax(self, text): + polemics = [] + if '++' in text: + polemics.append('OK') + if '--' in text: + polemics.append('KO') + if '==' in text: + polemics.append('REF') + if '??' in text: + polemics.append('Q') + return polemics def __del__(self): - self.save() - + self.save() def create_ldt(project, user, cuttings=[]): """create xml""" diff -r 5cc5afa71d7e -r cba0c297bc88 src/ldt/ldt/ldt_utils/views/json.py --- a/src/ldt/ldt/ldt_utils/views/json.py Fri Jan 27 17:21:56 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/views/json.py Mon Jan 30 11:14:08 2012 +0100 @@ -1,12 +1,10 @@ from django.conf import settings -from django.http import HttpResponse, HttpResponseForbidden +from django.http import HttpResponse from django.shortcuts import get_object_or_404, get_list_or_404 from django.utils import simplejson from django.utils.html import escape -from django.utils.translation import ugettext as _ from ldt.ldt_utils.models import Project from ldt.ldt_utils.projectserializer import ProjectSerializer -import ldt.auth as ldt_auth from guardian.shortcuts import get_objects_for_user