Bug correction while creating content with a "not clean" url
authorrougeronj
Fri, 30 Nov 2012 16:26:23 +0100
changeset 991 232d40ae99d0
parent 987 48c851b7f418
child 992 380d3657bc28
Bug correction while creating content with a "not clean" url
src/ldt/ldt/ldt_utils/views/content.py
--- a/src/ldt/ldt/ldt_utils/views/content.py	Fri Nov 30 13:35:32 2012 +0100
+++ b/src/ldt/ldt/ldt_utils/views/content.py	Fri Nov 30 16:26:23 2012 +0100
@@ -35,7 +35,6 @@
 #from django.core.files.temp import NamedTemporaryFile
 
 def media_management(request, media_input_type, cleaned_data, content_form, media_form, form_status):
-    media = None
     if media_input_type == "none":
         media = None
     elif media_input_type == "link":
@@ -47,9 +46,8 @@
             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://") or cleaned_data['src'].startswith("https://"):
-            cleaned_data['videopath'] = ''
-            
-            media, created = Media.objects.get_or_create(src=cleaned_data['src'], defaults=cleaned_data) #@UndefinedVariable
+            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
@@ -166,7 +164,6 @@
     if instance_content:
         current_front_project = instance_content.front_project
     form_status = 'none'
-    errors_transaction = []
     
     if request.method == "POST":
         try:
@@ -230,14 +227,8 @@
                 
                 media_input_type = content_form.cleaned_data["media_input_type"]
                 
-                
-                
-                
                 media, form_status = media_management(request, media_input_type, cleaned_data, content_form, media_form, form_status)
                 
-                
-                
-                
                 if form_status != "error": 
                     content_defaults = {}
                     content_defaults.update(content_form.cleaned_data)
@@ -288,7 +279,7 @@
         except Exception, e:
             transaction.rollback()
             __, value, traceback = sys.exc_info()
-            return False, False, False, False, False, errors_transaction, e, traceback
+            return False, False, False, False, False, e, traceback
             
     else:
         form_status = 'empty'
@@ -316,18 +307,17 @@
         transaction.commit()
     except Exception, e:
         transaction.rollback()
-        errors_transaction.append(e)
-        type, value, traceback = sys.exc_info()
-        return False, False, False, False, False, errors_transaction, e, traceback
+        __, __, traceback = sys.exc_info()
+        return False, False, False, False, False, e, traceback
         
-    return content_form, media_form, picture_form, form_status, current_front_project, errors_transaction, "", ""
+    return content_form, media_form, picture_form, form_status, current_front_project, "", ""
 
 @login_required
 def write_content(request, iri_id=None):  
     submit_action = request.REQUEST.get("submit_button", False) 
     member_list = admin_list = []
     current_front_project = None
-    deleted = None
+    content_deleted = None
     
     if submit_action == "prepare_delete":
         errors, titles, message_temp = prepare_delete_content(request, iri_id)
@@ -342,7 +332,7 @@
             title_msg = _("confirm delete content")
         return render_to_response('ldt/ldt_utils/error_confirm.html', {'errors':errors, 'message':message, 'title': title_msg}, context_instance=RequestContext(request))  
     elif submit_action == "delete":
-        deleted, errors_transaction = delete_content(request, iri_id)
+        content_deleted, e, traceback = delete_content(request, iri_id)
         content_form = ContentForm()
         form_status = "deleted"
     elif submit_action == "prepare_reset":
@@ -371,8 +361,8 @@
     elif submit_action=="close":
         return redirect("root-view")
     else:
-        content_form, media_form, picture_form, form_status, current_front_project, errors_transaction, e, traceback = write_content_base(request, iri_id)        
-        if iri_id:
+        content_form, media_form, picture_form, form_status, current_front_project, e, traceback = write_content_base(request, iri_id)        
+        if iri_id: 
             content_temp = Content.objects.get(iri_id=iri_id)
             media_temp = content_temp.media_obj
             if media_temp:
@@ -380,11 +370,12 @@
             else:
                 member_list, admin_list = get_userlist_model(content_temp, request.user)
     
-    # Deleted is False if an error occurred during deletion
-    if (deleted == False)  or (content_form == False and media_form == False and picture_form == False and form_status == False and current_front_project == False):
-        message=_("An error occurred - Please try again or contact webmaster")
-        title = _("Error")
-        logging.error(e)
+        if (content_form == False and media_form == False and picture_form == False and form_status == False and current_front_project == False):
+            message=_("An error occurred - Please try again or contact webmaster")
+            title = _("Error")
+            raise e, None, traceback
+    
+    if content_deleted == False:
         raise e, None, traceback
     
     if iri_id:
@@ -455,20 +446,18 @@
         except Exception, e:
             content.rollback()
             transaction.rollback()
-            errors_transaction.append(_("Content deletion failure"))
-            errors_transaction.append(e)
-            return False, errors_transaction
+            __, __, traceback = sys.exc_info()
+            return False, e, traceback
         else:
             try:
                 transaction.commit()
                 content.commit()
-                return True, errors_transaction
-            except:
+                return True, "", ""
+            except Exception, e:
                 content.rollback()
                 transaction.rollback()
-                errors_transaction.append(_("Commit of the content deletion failed"))
-                errors_transaction.append(e)
-                return False, errors_transaction
+                __, __, traceback = sys.exc_info()
+                return False, e, traceback
 
 def upload(request):
     if request.method == 'POST':