Correction content : the priority of the default picture is the one entered by the user
--- a/src/ldt/ldt/ldt_utils/views/content.py Wed Sep 26 12:11:56 2012 +0200
+++ b/src/ldt/ldt/ldt_utils/views/content.py Wed Sep 26 17:35:21 2012 +0200
@@ -75,7 +75,7 @@
content_form = ContentForm(content_instance_val, prefix="content", instance=instance_content)
media_form = MediaForm(media_instance_val, request.FILES, prefix="media", instance=instance_media)
picture_form = PictureForm(None, request.POST, request.FILES)
-
+
if request.user.is_staff:
content_form.fields['front_project'].queryset = Project.objects.filter(contents__in=[instance_content])
@@ -83,17 +83,18 @@
media_valid = media_form.is_valid()
content_valid = content_form.is_valid()
picture_valid = picture_form.is_valid()
- image_link = request.POST.get('url_image')
- if picture_valid and image_link!='':
- try :
- r = requests.get(image_link)
- img_temp = tempfile.NamedTemporaryFile(suffix='.png')
- if img_temp:
- img_temp.write(r.content)
- img_temp.flush()
- picture_form.cleaned_data["image"]=File(img_temp)
- except Exception as inst:
- logging.debug("couldn't download video thumbnail from image_link : "+str(image_link))
+ if 'image' in request.POST.keys():
+ image_link = request.POST.get('url_image')
+ if picture_valid and image_link!='' :
+ try :
+ r = requests.get(image_link)
+ img_temp = tempfile.NamedTemporaryFile(suffix='.png')
+ if img_temp:
+ img_temp.write(r.content)
+ img_temp.flush()
+ picture_form.cleaned_data["image"]=File(img_temp)
+ except Exception as inst:
+ logging.debug("couldn't download video thumbnail from image_link : "+str(image_link))
logging.debug("write_content_base : valid form: for instance : " + repr(instance_media) + " -> media " + str(media_valid) + " content : for instance : " + repr(instance_content) + " : " + str(content_valid) + "picture : valid :" +str(picture_valid)+" loulou") #@UndefinedVariable
if media_valid and content_valid and picture_valid:
@@ -474,63 +475,3 @@
else :
return Tag.objects.cloud_for_model(Content, steps=steps)[:limit]
-def get_duration_json(src_video, data):
- if 'youtube' in src_video:
- duration=data['data']['duration']*1000
- elif 'vimeo' in src_video:
- duration=data[0]['duration']*1000
- else:
- duration=data['duration']*1000
- return duration
-
-def get_title_json(src_video, data):
- if 'youtube' in src_video:
- title=data['data']['title']
- elif 'vimeo' in src_video:
- title=data[0]['title']
- else:
- title=data['title']
- return title
-
-
-def get_json(src_video):
- if 'youtube' in src_video:
- url_data=urlparse.urlparse(src_video)
- query=urlparse.parse_qs(url_data.query)
- video_id=query['v'][0]
- lien='http://gdata.youtube.com/feeds/api/videos/'+video_id+'?v=2&alt=jsonc'
- elif 'vimeo' in src_video:
- url_data=urlparse.urlparse(src_video)
- url_path=url_data.path
- video_id=(url_path.split('/'))[1]
- lien='http://vimeo.com/api/v2/video/'+video_id+'.json'
- elif 'dailymotion' in src_video:
- url_data=urlparse.urlparse(src_video)
- video_path=url_data.path
- split_path=(video_path.split('/'))[2]
- video_id=(split_path.split('_'))[0]
- lien='https://api.dailymotion.com/video/'+video_id+'?fields=id,duration,title,thumbnail_medium_url'
- resp=requests.get(lien)
- data=simplejson.loads(resp.content)
- return data
-
-def get_image_json(src_video, data):
- if 'youtube' in src_video:
- lien=data['data']['thumbnail']['sqDefault']
- filename=""+data['data']['id']+".jpg"
- download_path=settings.MEDIA_ROOT+"thumbnails\contents"
- file_path = "%s\%s" % (download_path, filename)
- video_thumbnail = file(file_path, "wb")
- image_web=urllib2.urlopen(lien)
- while True:
- buf = image_web.read(65536)
- if len(buf) == 0:
- break
- video_thumbnail.write(buf)
- video_thumbnail.close()
- image_web.close()
- fileAtt=os.stat(file_path)[0]
- if (not fileAtt & stat.S_IWRITE):
- os.chmod(file_path, stat.S_IWRITE)
- return file_path
-