add iframe url for metadaplayer
authorcavaliet
Wed, 03 Oct 2012 16:00:23 +0200
changeset 817 ec35bc26b8c2
parent 816 2840ad5b48ed
child 818 1762d0711008
child 819 d6b64df81b35
add iframe url for metadaplayer
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_iframe.html
src/ldt/ldt/ldt_utils/urls.py
src/ldt/ldt/ldt_utils/views/workspace.py
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/embed_iframe.html	Wed Oct 03 16:00:23 2012 +0200
@@ -0,0 +1,23 @@
+{% load i18n %}
+{% load analytics %}
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="{{LANGUAGE_CODE}}" lang="{{LANGUAGE_CODE}}">
+	<head>
+		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+		<meta http-equiv="Cache-Control" content="no-cache, must-revalidate" />
+		<meta http-equiv="Pragma" content="no-cache" />
+		<meta http-equiv="Cache" content="no store" />
+		<meta http-equiv="Expires" content="-1" />
+		<title>Ligne de Temps - IRI - Metadata Player</title>
+	</head>
+
+	<body id="init_embed_popup">
+		<div class="ldt_player" id="wrapper_{{player_id}}">
+		{% include "ldt/ldt_utils/partial/embed_player.html" %}  
+		</div>		
+{% analytics %}		
+	</body>
+</html>
+
--- a/src/ldt/ldt/ldt_utils/urls.py	Tue Oct 02 14:27:17 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/urls.py	Wed Oct 03 16:00:23 2012 +0200
@@ -34,6 +34,7 @@
     url(r'^filtergroups/_(?P<filter>[\w\%\_\-\+]*?)/$', "views.group.groups_filter",),
     url(r'filtershare/_(?P<filter>[\w\%\_\-\+]*?)/(?P<use_groups>true|false)$', "views.workspace.share_filter"),
     url(r'^embedpopup/?$', "views.workspace.popup_embed"),
+    url(r'^embediframe/?$', "views.workspace.iframe_embed"),
     url(r'^segment/(?P<project_id>.*)/(?P<content_id>.*)/(?P<ensemble_id>.*)/(?P<cutting_id>.*)/(?P<segment_id>.*)/$', 'views.lignesdetemps.index_segment'),
     url(r'^segmentInit/(?P<project_id>.*)/(?P<content_id>.*)/(?P<ensemble_id>.*)/(?P<cutting_id>.*)/(?P<segment_id>.*)/$', 'views.lignesdetemps.init_segment'),
     url(r'^segmentLdt/(?P<project_id>.*)/(?P<content_id>.*)/(?P<ensemble_id>.*)/(?P<cutting_id>.*)/(?P<segment_id>.*)/$', 'views.lignesdetemps.ldt_segment'),
--- a/src/ldt/ldt/ldt_utils/views/workspace.py	Tue Oct 02 14:27:17 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py	Wed Oct 03 16:00:23 2012 +0200
@@ -102,6 +102,37 @@
     player_id = request.GET.get("player_id")
     ldt_id = request.GET.get("ldt_id")
     
+    rend_dict = get_datas_for_embed(request, json_url, player_id, ldt_id)
+    
+    embed_rendered = dict((typestr,
+                           (lambda s:escape(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), rend_dict, context_instance=RequestContext(request))))(typestr))
+                           for typestr in ('player', 'seo_body', 'seo_meta', 'links'))
+    rend_dict['embed_rendered'] = embed_rendered
+
+    return render_to_response("ldt/ldt_utils/embed_popup.html", rend_dict, context_instance=RequestContext(request))
+
+
+def iframe_embed(request):
+
+    project_id = request.GET.get("project_id")
+    if not project_id:
+        content_id = request.GET.get("content_id")
+        content = Content.safe_objects.get(iri_id=content_id)
+        project = content.get_or_create_front_project()
+        project_id = project.ldt_id
+    if not project_id :
+        return HttpResponse(_("Parameters project_id or content_id must be given in the url"))
+        
+    json_url = reverse("projectjson_id", args=[project_id])
+    player_id = "player_project_" + project_id
+    ldt_id = project_id
+    rend_dict = get_datas_for_embed(request, json_url, player_id, ldt_id)
+
+    return render_to_response("ldt/ldt_utils/embed_iframe.html", rend_dict, context_instance=RequestContext(request))
+
+
+def get_datas_for_embed(request, json_url, player_id, ldt_id):
+    
     project = Project.safe_objects.get(ldt_id=ldt_id); #@UndefinedVariable
     project_contents = project.contents.all()
     content=project_contents[0]
@@ -110,8 +141,7 @@
         for external_src in settings.EXTERNAL_STREAM_SRC:
             if  external_src in content.src:
                 external_url = content.src
-                break    
-    logging.debug("louisedebug : "+str(external_url))
+                break
     
     stream_mode = project.stream_mode
     if stream_mode != "video":
@@ -129,20 +159,8 @@
     ps = ProjectSerializer(project, from_contents=True, from_display=True)
     annotations = ps.get_annotations(first_cutting=True)
     rend_dict = {'json_url':json_url, 'player_id':player_id, 'annotations':annotations, 'ldt_id': ldt_id, 'stream_mode': stream_mode, 'player_width': player_width, 'player_height': player_height, 'external_url': external_url}
-
-    #embed_rendered = dict((typestr,
-      #                     (lambda s:escape(lxml.etree.tostring(fragment_fromstring(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), rend_dict, context_instance=RequestContext(request))), pretty_print=True)))(typestr))
-       #                    for typestr in ('player', 'seo_body', 'seo_meta', 'links'))
     
-    embed_rendered = dict((typestr,
-                           (lambda s:escape(render_to_string("ldt/ldt_utils/partial/embed_%s.html" % (s), rend_dict, context_instance=RequestContext(request))))(typestr))
-                           for typestr in ('player', 'seo_body', 'seo_meta', 'links'))
-    rend_dict['embed_rendered'] = embed_rendered
-
-    return render_to_response("ldt/ldt_utils/embed_popup.html",
-                              rend_dict,
-                              context_instance=RequestContext(request))
-
+    return rend_dict
 
 
 
@@ -269,4 +287,3 @@
     return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request))
    
 
-