# HG changeset patch # User cavaliet # Date 1303402079 -7200 # Node ID 784ebba76424a813016aed6a2ffd4eed83ab7814 # Parent 5278175359e04dce4c4910e3fd0111aad677898b enhance new media/content creation with url : external stream, local stream using STREAM_URL or youtube http. diff -r 5278175359e0 -r 784ebba76424 src/ldt/ldt/ldt_utils/models.py --- 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 diff -r 5278175359e0 -r 784ebba76424 src/ldt/ldt/ldt_utils/utils.py --- 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) diff -r 5278175359e0 -r 784ebba76424 src/ldt/ldt/ldt_utils/views.py --- 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