enhance new media/content creation with url : external stream, local stream using STREAM_URL or youtube http.
--- a/src/ldt/ldt/ldt_utils/models.py Thu Apr 21 14:19:16 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/models.py Thu Apr 21 18:07:59 2011 +0200
@@ -58,19 +58,20 @@
def fget(self):
res_src = self.src.rstrip()
- if self.videopath and self.videopath.startswith("rtmp://"):
+ if self.videopath and self.videopath.startswith("rtmp://") and "mp3:" not in res_src and "mp4:" not in res_src:
extension = res_src.split(".")[-1]
res_src = {
'flv': lambda s: s,
'mp3': lambda s: "%s:%s" % ("mp3", res_src[:-4]),
- 'mp4': lambda s: "%s:%s" % ("mp4", res_src[:-4]),
- 'f4v': lambda s: "%s:%s" % ("mp4", res_src[:-4]),
+ 'mp4': lambda s: "%s:%s" % ("mp4", res_src),
+ 'f4v': lambda s: "%s:%s" % ("mp4", res_src),
+ 'mov': lambda s: "%s:%s" % ("mp4", res_src),
}.get(extension, lambda s:s)(res_src.lower())
return res_src
return locals()
- stream_src = property(**stream_src())
+ stream_src = property(**stream_src())
def save(self, *args, **kwargs):
super(Media, self).save(*args, **kwargs)
@@ -212,7 +213,7 @@
empty_media = self.__get_empty_media()
if empty_media:
return empty_media.videopath
- else:
+ else:
return None
else:
return self.media_obj.videopath
--- a/src/ldt/ldt/ldt_utils/utils.py Thu Apr 21 14:19:16 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/utils.py Thu Apr 21 18:07:59 2011 +0200
@@ -157,25 +157,11 @@
elementfile = lxml.etree.SubElement(elementInit, 'file')
elementfile.set('src', settings.WEB_URL + django.core.urlresolvers.reverse(method, args=url))
- elementfile.set('display', '1')
if(search):
- elementfile.set("segsel", settings.WEB_URL + django.core.urlresolvers.reverse(search, args=url))
-
-
- # /*chemin video : tant que le serveur de media n'est pas up, */
- elementfile.set('video', settings.STREAM_URL)
- elementfile.set('pict', "")
- elementfile.set('extra', "")
+ elementfile.set("segsel", settings.WEB_URL + django.core.urlresolvers.reverse(search, args=url))
lxml.etree.SubElement(elementFiles, 'recent')
lxml.etree.SubElement(elementFiles, 'library')
-
- username = ''
- id = ''
-
- elementUser = lxml.etree.SubElement(iri, 'user')
- elementUser.set('name', username)
- elementUser.set('id', id)
return iri
@@ -209,8 +195,8 @@
elementMedia = lxml.etree.SubElement(elementMedias, 'media')
elementMedia.set('id', content.iri_id)
elementMedia.set('src', content.iri_url())
-
- if content.videopath and content.videopath != "":
+
+ if content.videopath != None :
elementMedia.set('video', content.videopath)
else:
elementMedia.set('video', settings.STREAM_URL)
--- a/src/ldt/ldt/ldt_utils/views.py Thu Apr 21 14:19:16 2011 +0200
+++ b/src/ldt/ldt/ldt_utils/views.py Thu Apr 21 18:07:59 2011 +0200
@@ -654,8 +654,7 @@
# see if media must be created
cleaned_data = {}
cleaned_data.update(media_form.cleaned_data)
-
-
+
media_input_type = content_form.cleaned_data["media_input_type"]
if media_input_type == "none":
@@ -667,6 +666,9 @@
del cleaned_data["media_file"]
if not cleaned_data['videopath']:
cleaned_data['videopath'] = settings.STREAM_URL
+ # if the source is already http:// or rtmp:// we don't have to add STREAM_URL
+ if cleaned_data['src'].startswith("rtmp://") or cleaned_data['src'].startswith("http://"):
+ cleaned_data['videopath'] = ''
media, created = Media.objects.get_or_create(src=cleaned_data['src'], defaults=cleaned_data) #@UndefinedVariable
elif media_input_type == "url" or media_input_type == "upload" :
# copy file