# HG changeset patch # User verrierj # Date 1327070197 -3600 # Node ID 4328cd4a7533624ba1b5a831b037f9eedcf3eee9 # Parent 2d18ba523343eb8facfeeb296172b4697734a087 refactor modal windows + add translations diff -r 2d18ba523343 -r 4328cd4a7533 src/ldt/ldt/api/ldt/handlers.py --- a/src/ldt/ldt/api/ldt/handlers.py Fri Jan 20 10:26:58 2012 +0100 +++ b/src/ldt/ldt/api/ldt/handlers.py Fri Jan 20 15:36:37 2012 +0100 @@ -234,12 +234,12 @@ def read(self, request, iri_id, begin, end): """ - returns a single Segment + returns segments about content iri_id between timecodes begin and end """ content = Content.objects.get(iri_id=iri_id) segments = Segment.objects.filter(content=content).filter( - Q(start_ts__gt=begin, start_ts__lt=end) | # segment start between begin and end + Q(start_ts__gt=begin, start_ts__lt=end) | # segment starts between begin and end Q(start_ts__gt=begin-F('duration'), start_ts__lt=end-F('duration')) |# segment ends between begin and end Q(start_ts__lt=begin, start_ts__gt=end-F('duration')) # period [begin:end] is included in the segment ) diff -r 2d18ba523343 -r 4328cd4a7533 src/ldt/ldt/ldt_utils/projectserializer.py --- a/src/ldt/ldt/ldt_utils/projectserializer.py Fri Jan 20 10:26:58 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/projectserializer.py Fri Jan 20 15:36:37 2012 +0100 @@ -228,6 +228,8 @@ } self.tags[tag_title] = new_tag self.tags_dict[tag_id] = new_tag + else: + tag_id = self.tags[tag_title]["id"] element_tags.append({"id-ref":tag_id}) if not element_tags: diff -r 2d18ba523343 -r 4328cd4a7533 src/ldt/ldt/ldt_utils/segmentserializer.py --- a/src/ldt/ldt/ldt_utils/segmentserializer.py Fri Jan 20 10:26:58 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/segmentserializer.py Fri Jan 20 15:36:37 2012 +0100 @@ -23,7 +23,9 @@ self.views = None self.annotation_types = None self.medias = None - self.annotations = None + self.annotations = None + self.tags = {} + self.xml_docs = {} def __get_cutting_title(self, project_id, content_id, ensemble_id, cutting_id): @@ -35,7 +37,11 @@ else: doc = self.xml_docs[project_id] - cutting = doc.xpath('/iri/annotations/content[@id=\'%s\']/ensemble[@id=\'%s\']/decoupage[@id=\'%s\']/title' % (content_id, ensemble_id, cutting_id))[0] + cutting = doc.xpath('/iri/annotations/content[@id=\'%s\']/ensemble[@id=\'%s\']/decoupage[@id=\'%s\']/title' % (content_id, ensemble_id, cutting_id)) + if not cutting: + return None + + cutting = cutting[0] return cutting.text @@ -67,6 +73,7 @@ annotation_types.append({'id': seg.cutting_id, 'title': title}) for a in annotation_types: + view['annotation_types'].append(a['id']) self.annotation_types.append({ "dc:contributor": "undefined", @@ -126,6 +133,22 @@ for seg in self.segments: + segment_tags = [] + for tag in seg.tags.split(';'): + if not self.tags.has_key(tag): + new_tag = { + "meta": { + "dc:contributor": "IRI", + "dc:created": seg.date, + "dc:title": tag, + "dc:modified": seg.date, + "dc:creator": "IRI" + }, + "id": unicode(uuid.uuid1()) + } + self.tags[tag] = new_tag + segment_tags.append({'id-ref': self.tags[tag]['id']}) + segment = { 'begin': seg.start_ts, 'end': seg.start_ts + seg.duration, @@ -156,20 +179,24 @@ "dc:modified": seg.date, "id-ref": seg.iri_id, "project": seg.project_id - } + }, + 'tags': segment_tags } self.annotations.append(segment) def serialize_to_cinelab(self): + if not self.segments: + return None + self.__parse_content() self.__parse_segments() self.__parse_views() res = {} res['views'] = self.views - res['tags'] = None + res['tags'] = self.tags.values() if len(self.tags) > 0 else None res['lists'] = None res['medias'] = self.medias res['annotations'] = self.annotations diff -r 2d18ba523343 -r 4328cd4a7533 src/ldt/ldt/ldt_utils/templates/front/front_group.html --- a/src/ldt/ldt/ldt_utils/templates/front/front_group.html Fri Jan 20 10:26:58 2012 +0100 +++ b/src/ldt/ldt/ldt_utils/templates/front/front_group.html Fri Jan 20 15:36:37 2012 +0100 @@ -34,9 +34,9 @@
- {{group.profile.description|safe}} + {{group.get_profile.description|safe}}
- {% thumbnail group.profile.image "54x40" format="PNG" crop="center" as im %}
{% if group.profile.description|length > 69 %}{{group.profile.description|safe|slice:":69"}}...{% else %}{{group.profile.description|safe}}{% endif %}
+{% if group.get_profile.description|length > 69 %}{{group.get_profile.description|safe|slice:":69"}}...{% else %}{{group.get_profile.description|safe}}{% endif %}