started upgrading to Django 1.6: fixed transactions, settings, switched django_social_auth to python_social_auth
authorndurand
Fri, 27 Mar 2015 18:07:56 +0100
changeset 1360 f69b5d8ba4b9
parent 1359 033f6d129776
child 1361 5087560b51b6
started upgrading to Django 1.6: fixed transactions, settings, switched django_social_auth to python_social_auth
src/ldt/ldt/auth/__init__.py
src/ldt/ldt/ldt_utils/fileimport.py
src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html
src/ldt/ldt/ldt_utils/views/content.py
src/ldt/ldt/ldt_utils/views/front.py
src/ldt/ldt/ldt_utils/views/group.py
src/ldt/ldt/ldt_utils/views/workspace.py
src/ldt/ldt/management/commands/initfrontproject.py
src/ldt/ldt/management/commands/updateiriurlinprojects.py
src/ldt/ldt/security/utils.py
src/ldt/ldt/settings.py
--- a/src/ldt/ldt/auth/__init__.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/auth/__init__.py	Fri Mar 27 18:07:56 2015 +0100
@@ -1,5 +1,5 @@
 from django.conf import settings
-from social_auth.backends import get_backends
+from social.backends.utils import load_backends
 
 
 def check_access(user, obj):
@@ -13,8 +13,6 @@
     """Start list process"""
     l = []
     # We list all wanted backends among all availables 
-    for backend in get_backends():
-        for backend_str in settings.AUTHENTICATION_BACKENDS:
-            if backend in backend_str:
-                l.append(backend)
+    for backend in load_backends(settings.AUTHENTICATION_BACKENDS).keys():
+        l.append(backend)
     return l
\ No newline at end of file
--- a/src/ldt/ldt/ldt_utils/fileimport.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/fileimport.py	Fri Mar 27 18:07:56 2015 +0100
@@ -140,7 +140,7 @@
         self.src = self.id + u"/" + os.path.basename(self.src)
 
 
-    @transaction.commit_on_success
+    @transaction.atomic
     def save_content(self):
 
         
--- a/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/templates/ldt/ldt_utils/create_content.html	Fri Mar 27 18:07:56 2015 +0100
@@ -135,7 +135,7 @@
 			<div id="media_field_link" class="media_fields">{{ content_form.media_obj.errors }}{{ content_form.media_obj.label_tag }}{{content_form.media_obj}}</div>
 			
 			<div id="media_field_upload" class="media_fields">
-				<!-- refers to chunked_upload template -->
+				<!-- refers to chunked_uploads template -->
 				{% include "chunked_uploads.html"%}
 			</div>
 			
--- a/src/ldt/ldt/ldt_utils/views/content.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/content.py	Fri Mar 27 18:07:56 2015 +0100
@@ -168,7 +168,7 @@
     return media, form_status
     
     
-@transaction.commit_manually
+@transaction.atomic
 def write_content_base(request, iri_id=None):
     if iri_id:
         instance_content = Content.safe_objects.select_related('media_obj','front_project').get(iri_id=iri_id) #@UndefinedVariable
@@ -254,29 +254,21 @@
                         del content_defaults[key]
                     
                     #taggit management : save tags and add them after get_or_create
-                    logger.debug("YEAH 1")
                     saved_tags = content_defaults.get('tags') or []
-                    logger.debug("YEAH 2")
                     logger.debug(saved_tags)
                     content_defaults.pop('tags')
-                    logger.debug("YEAH 3")
                     logger.debug(content_defaults)
                     content, created = Content.safe_objects.get_or_create(iri_id=content_form.cleaned_data['iri_id'], defaults=content_defaults) #@UndefinedVariable
-                    logger.debug("YEAH 3-2")
                     content.tags.clear()
                     for t in saved_tags:
-                        logger.debug("YEAH 3-3 " + t)
                         content.tags.add(t)
-                    logger.debug("YEAH 4")
                     logger.debug(content.tags.names())
                     
                     if not created and not request.user.has_perm('ldt_utils.change_content', content):
                         raise AttributeError("%s is not allowed to change content %s" % (request.user, content))
-                    logger.debug("YEAH 5")
                     cached_assign('change_content', request.user, content)
                     cached_assign('view_content', request.user, content)
                     everyone = Group.objects.get(name=settings.PUBLIC_GROUP_NAME)
-                    logger.debug("YEAH 6")
                     if media_form.cleaned_data['media_public']:
                         cached_assign('view_content', everyone, content)
                         if media:
@@ -290,14 +282,12 @@
                             cached_assign('view_content', everyone, content)
                         else:
                             remove_perm('ldt_utils.view_content', everyone, content)
-                    logger.debug("YEAH 7")
                     if not created:
                         for attribute in ('iriurl', 'title', 'description', 'duration', 'content_creation_date', 'media_obj'):
                             setattr(content, attribute, content_defaults[attribute])
                             
                         if request.user.is_staff and content_defaults.has_key('front_project'):
                             content.front_project = content_defaults['front_project']
-                    logger.debug("YEAH 9")
                     content.save()
                     picture_form.model = content
                     picture_form.save()  
@@ -305,13 +295,9 @@
                     media_form = MediaForm(instance=media, prefix="media")
                     content_form = ContentForm(instance=content, prefix="content")
                     picture_form = PictureForm()
-                    logger.debug("YEAH 10")
             else:
-                logger.debug("YEAH 11")
                 form_status = 'error'
         except Exception, e:
-            logger.debug("YEAH 12")
-            transaction.rollback()
             __, value, traceback = sys.exc_info()
             return False, False, False, False, False, False, e, traceback
             
@@ -336,13 +322,6 @@
                    
             if request.user.is_staff:
                 content_form.fields['front_project'].queryset = Project.objects.filter(contents__in=[instance_content])
-    
-    try:
-        transaction.commit()
-    except Exception, e:
-        transaction.rollback()
-        __, __, traceback = sys.exc_info()
-        return False, False, False, False, False, False, e, traceback
         
     return content_form, media_form, picture_form, form_status, instance_content, current_front_project, "", ""
 
@@ -459,7 +438,7 @@
 
 
 @login_required
-@transaction.commit_manually
+@transaction.atomic
 def delete_content(request, iri_id=None):
     #Delete the project, the media if exists, and the content
     if not iri_id:
@@ -477,20 +456,9 @@
             if project is not None:
                 Project.safe_objects.get(ldt_id= project.ldt_id).delete()
         except Exception, e:
-            content.rollback()
-            transaction.rollback()
             __, __, traceback = sys.exc_info()
             return False, e, traceback
-        else:
-            try:
-                transaction.commit()
-                content.commit()
-                return True, "", ""
-            except Exception, e:
-                content.rollback()
-                transaction.rollback()
-                __, __, traceback = sys.exc_info()
-                return False, e, traceback
+        return True, "", ""
 
 def upload(request):
     if request.method == 'POST':
--- a/src/ldt/ldt/ldt_utils/views/front.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/front.py	Fri Mar 27 18:07:56 2015 +0100
@@ -26,7 +26,7 @@
     # Get the most annotated contents
     most_contents = Content.safe_objects.order_by('-stat_annotation__nb_annotations').select_related('stat_annotation')[:8]
     # Get the active groups
-    active_groups = Group.objects.select_related("profile").annotate(nb_users=Count("ldtuser")).exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
+    active_groups = Group.objects.select_related("profile").annotate(nb_users=Count("user")).exclude(name=settings.PUBLIC_GROUP_NAME)[:5]
     # Get the main tag list
     front_tags = settings.FRONT_TAG_LIST
     
--- a/src/ldt/ldt/ldt_utils/views/group.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/group.py	Fri Mar 27 18:07:56 2015 +0100
@@ -49,7 +49,7 @@
 
 
 @login_required
-@transaction.commit_on_success
+@transaction.atomic
 def create_group(request):
     if not request.user.has_perm('auth.add_group'):
         return HttpResponseServerError('<h1>User %s can not create a group.</h1>' % request.user.username)
@@ -101,7 +101,7 @@
                                                                   'elem_list' : get_userlist(request.user), 'profile_picture_form': picture_form}, context_instance=RequestContext(request))
 
 @login_required
-@transaction.commit_on_success
+@transaction.atomic
 def update_group(request, group_id):
     group = get_object_or_404(Group, id=group_id)
     checker = get_cached_checker(request.user)
--- a/src/ldt/ldt/ldt_utils/views/workspace.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/ldt_utils/views/workspace.py	Fri Mar 27 18:07:56 2015 +0100
@@ -223,7 +223,7 @@
     return render_to_response('ldt/ldt_utils/loading.html', context_instance=RequestContext(request))
    
 
-@transaction.commit_on_success
+@transaction.atomic
 def delete_segment(request, project_id, content_id, ensemble_id, cutting_id, segment_id):
     if project_id and project_id != "_" :
         project = Project.safe_objects.get(ldt_id=project_id) #@UndefinedVariable
--- a/src/ldt/ldt/management/commands/initfrontproject.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/management/commands/initfrontproject.py	Fri Mar 27 18:07:56 2015 +0100
@@ -32,7 +32,7 @@
     Type 'yes' to delete, or 'no' to keep: """)
             do_delete = (confirm == "yes")
         
-        with transaction.commit_on_success():        
+        with transaction.atomic():        
             if do_delete:
                 fp = content.front_project
                 content.front_project = None
--- a/src/ldt/ldt/management/commands/updateiriurlinprojects.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/management/commands/updateiriurlinprojects.py	Fri Mar 27 18:07:56 2015 +0100
@@ -68,7 +68,7 @@
                         break
             # All iri urls have been updated, we can save the project
             p.ldt = lxml.etree.tostring(ldt, pretty_print=True)
-            with transaction.commit_on_success():
+            with transaction.atomic():
                 p.save()
         # This is the end
         signals.post_save.connect(index_project, sender=Project)
--- a/src/ldt/ldt/security/utils.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/security/utils.py	Fri Mar 27 18:07:56 2015 +0100
@@ -147,7 +147,7 @@
     return [users_list + groups_list, admin_users + admin_groups]
  
 def get_userlist_group(group, user):
-    members = group.ldtuser_set.all()
+    members = group.user_set.all()
     admin = get_users_with_perms(group)
 
     member_list = []
--- a/src/ldt/ldt/settings.py	Wed Apr 29 00:54:30 2015 +0200
+++ b/src/ldt/ldt/settings.py	Fri Mar 27 18:07:56 2015 +0100
@@ -29,9 +29,9 @@
     'ldt.management',
     'ldt.indexation',
     'oauth_provider',
-    'django_openid_consumer',
+    #'django_openid_consumer',
     'corsheaders',
-    'social_auth',
+    'social.apps.django_app.default',
     'south',
     'guardian',
     'sorl.thumbnail',
@@ -50,13 +50,14 @@
     'django.contrib.auth.middleware.AuthenticationMiddleware',
     'django.middleware.locale.LocaleMiddleware',
     'django.contrib.messages.middleware.MessageMiddleware',
-    'django_openid_consumer.middleware.OpenIDMiddleware',
+    #'django_openid_consumer.middleware.OpenIDMiddleware',
     'ldt.ldt_utils.middleware.userprofile.LanguageMiddleware',
 ))
 
 AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL','user.LdtUser')
 INITIAL_CUSTOM_USER_MIGRATION = getattr(settings, 'INITIAL_CUSTOM_USER_MIGRATION','0009_rename_auth_user_to_user_ldt_user')
 
+SOCIAL_AUTH_USER_MODEL = AUTH_USER_MODEL
 WEB_URL = getattr(settings, 'WEB_URL', '')
 WEB_AUTH = getattr(settings, 'WEB_AUTH', [])
 BASE_URL = getattr(settings, 'BASE_URL', '')
@@ -68,7 +69,6 @@
 MANAGERS = settings.MANAGERS
 INSTALLED_APPS = settings.INSTALLED_APPS
 LANGUAGES = settings.LANGUAGES
-AUTH_USER_MODEL = getattr(settings, 'AUTH_USER_MODEL', 'user.LdtUser')
 DECOUPAGE_BLACKLIST = getattr(settings, 'DECOUPAGE_BLACKLIST', 'de_PPP')
 STREAM_URL = getattr(settings, 'STREAM_URL', '')
 STREAM_PATH = getattr(settings, 'STREAM_PATH', '')