Polemic syntax can be used in API
authorverrierj
Mon, 30 Jan 2012 11:14:08 +0100
changeset 481 cba0c297bc88
parent 480 5cc5afa71d7e
child 482 c802e00c7131
Polemic syntax can be used in API
src/ldt/ldt/ldt_utils/stat.py
src/ldt/ldt/ldt_utils/utils.py
src/ldt/ldt/ldt_utils/views/json.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
+
--- 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"""
--- 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