From c3223e6979030313641c5b8291488fa033d7f478 Mon Sep 17 00:00:00 2001
From: Andre Anjos <andre.dos.anjos@gmail.com>
Date: Sat, 23 Apr 2016 16:48:40 +0200
Subject: [PATCH] [many] Fixes for Django 1.9.x compatibility

---
 beat/web/accounts/apps.py     |  5 +++--
 beat/web/accounts/urls.py     |  8 +++-----
 beat/web/algorithms/apps.py   |  2 +-
 beat/web/attestations/apps.py |  4 +---
 beat/web/backend/api.py       |  8 --------
 beat/web/dataformats/apps.py  |  9 +++------
 beat/web/experiments/api.py   | 12 ++++++------
 beat/web/experiments/apps.py  |  6 ++----
 beat/web/libraries/apps.py    |  6 ++----
 beat/web/plotters/apps.py     |  2 +-
 beat/web/plotters/urls.py     |  2 +-
 beat/web/search/apps.py       |  2 +-
 beat/web/team/apps.py         |  6 ++----
 beat/web/toolchains/apps.py   |  4 +---
 beat/web/ui/urls.py           |  3 ++-
 15 files changed, 29 insertions(+), 50 deletions(-)

diff --git a/beat/web/accounts/apps.py b/beat/web/accounts/apps.py
index 24f79c5be..537ec0b28 100644
--- a/beat/web/accounts/apps.py
+++ b/beat/web/accounts/apps.py
@@ -27,8 +27,6 @@
 
 from django.apps import AppConfig
 from django.utils.translation import ugettext_lazy as _
-from django.contrib.auth.models import User
-from actstream import registry
 
 class AccountsConfig(AppConfig):
 
@@ -36,5 +34,8 @@ class AccountsConfig(AppConfig):
     verbose_name = _('Accounts')
 
     def ready(self):
+        super(AccountsConfig, self).ready()
+        from django.contrib.auth.models import User
+        from actstream import registry
         registry.register(User)
         from .signals import setup_user
diff --git a/beat/web/accounts/urls.py b/beat/web/accounts/urls.py
index fb476580a..dd7c08297 100644
--- a/beat/web/accounts/urls.py
+++ b/beat/web/accounts/urls.py
@@ -28,8 +28,6 @@
 from django.conf.urls import patterns, url
 from . import views
 
-urlpatterns = patterns('',
-    url(r'^settings/$',
-        views.account_settings,
-        name='settings')
-)
+urlpatterns = [
+    url(r'^settings/$', views.account_settings, name='settings'),
+]
diff --git a/beat/web/algorithms/apps.py b/beat/web/algorithms/apps.py
index d0ee60800..3f5754993 100644
--- a/beat/web/algorithms/apps.py
+++ b/beat/web/algorithms/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class AlgorithmsConfig(CommonAppConfig):
     name = 'beat.web.algorithms'
@@ -39,4 +38,5 @@ class AlgorithmsConfig(CommonAppConfig):
         from .signals import (create_endpoints, delete_endpoints,
             auto_delete_file_on_delete, auto_delete_file_on_change)
 
+        from actstream import registry
         registry.register(self.get_model('Algorithm'))
diff --git a/beat/web/attestations/apps.py b/beat/web/attestations/apps.py
index a0a13e435..fd30640f9 100644
--- a/beat/web/attestations/apps.py
+++ b/beat/web/attestations/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class AttestationsConfig(CommonAppConfig):
     name = 'beat.web.attestations'
@@ -35,7 +34,6 @@ class AttestationsConfig(CommonAppConfig):
 
     def ready(self):
         super(AttestationsConfig, self).ready()
-
         from .signals.handlers import on_unlocked
-
+        from actstream import registry
         registry.register(self.get_model('Attestation'))
diff --git a/beat/web/backend/api.py b/beat/web/backend/api.py
index 363bbf2b6..258472e8c 100644
--- a/beat/web/backend/api.py
+++ b/beat/web/backend/api.py
@@ -29,16 +29,8 @@ from rest_framework.decorators import api_view, permission_classes
 from rest_framework.response import Response
 from rest_framework import permissions
 
-from ..utils.api import send_email_to_administrators
-from ..utils import scheduler as scheduler_api
-
 from .models import Environment
 
-import simplejson as json
-
-
-#----------------------------------------------------------
-
 
 @api_view(['GET'])
 @permission_classes([permissions.AllowAny])
diff --git a/beat/web/dataformats/apps.py b/beat/web/dataformats/apps.py
index 4460ab9ac..6a14ef8a6 100644
--- a/beat/web/dataformats/apps.py
+++ b/beat/web/dataformats/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class DataFormatsConfig(CommonAppConfig):
 
@@ -35,9 +34,7 @@ class DataFormatsConfig(CommonAppConfig):
     verbose_name = _('Data Formats')
 
     def ready(self):
-    	super(DataFormatsConfig, self).ready()
-
-        from .signals import (on_team_delete,
-            auto_delete_file_on_delete, auto_delete_file_on_change)
-
+        super(DataFormatsConfig, self).ready()
+        from .signals import on_team_delete, auto_delete_file_on_delete, auto_delete_file_on_change
+        from actstream import registry
         registry.register(self.get_model('DataFormat'))
diff --git a/beat/web/experiments/api.py b/beat/web/experiments/api.py
index 6cdc577e3..213c44868 100644
--- a/beat/web/experiments/api.py
+++ b/beat/web/experiments/api.py
@@ -27,7 +27,8 @@
 
 import re
 import uuid
-import simplejson as json
+
+import simplejson
 
 from django.conf import settings
 from django.shortcuts import get_object_or_404
@@ -64,7 +65,6 @@ from ..algorithms.models import Algorithm
 from ..toolchains.models import Toolchain
 
 from ..utils.api import send_email_to_administrators
-from ..utils import scheduler
 
 
 #----------------------------------------------------------
@@ -214,7 +214,7 @@ class ListCreateExperimentsView(ListCreateContributionView):
         else:
             declaration_string = data['declaration']
             try:
-                declaration = json.loads(declaration_string)
+                declaration = simplejson.loads(declaration_string)
             except:
                 return BadRequestResponse('Invalid declaration data')
 
@@ -388,11 +388,11 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
 
             if isinstance(data['declaration'], dict):
                 declaration = data['declaration']
-                declaration_string = json.dumps(declaration, indent=4)
+                declaration_string = simplejson.dumps(declaration, indent=4)
             else:
                 declaration_string = data['declaration']
                 try:
-                    declaration = json.loads(declaration_string)
+                    declaration = simplejson.loads(declaration_string)
                 except:
                     raise serializers.ValidationError({'declaration' :'Invalid declaration data'})
 
@@ -403,7 +403,7 @@ class RetrieveUpdateDestroyExperimentView(RetrieveUpdateDestroyContributionView)
                 short_description = declaration['description']
             elif short_description is not None:
                 declaration['description'] = short_description
-                declaration_string = json.dumps(declaration, indent=4)
+                declaration_string = simplejson.dumps(declaration, indent=4)
         else:
             declaration = None
 
diff --git a/beat/web/experiments/apps.py b/beat/web/experiments/apps.py
index 68593dc35..6392aa6ee 100644
--- a/beat/web/experiments/apps.py
+++ b/beat/web/experiments/apps.py
@@ -27,15 +27,13 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class ExperimentsConfig(CommonAppConfig):
     name = 'beat.web.experiments'
     verbose_name = _('Experiments')
 
     def ready(self):
-    	super(ExperimentsConfig, self).ready()
-
+        super(ExperimentsConfig, self).ready()
         from .signals import on_team_delete
-
+        from actstream import registry
         registry.register(self.get_model('Experiment'))
diff --git a/beat/web/libraries/apps.py b/beat/web/libraries/apps.py
index 51e0c735b..790fe2b73 100644
--- a/beat/web/libraries/apps.py
+++ b/beat/web/libraries/apps.py
@@ -27,15 +27,13 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class LibrariesConfig(CommonAppConfig):
     name = 'beat.web.libraries'
     verbose_name = _('Libraries')
 
     def ready(self):
-    	super(LibrariesConfig, self).ready()
-
+        super(LibrariesConfig, self).ready()
         from .signals import auto_delete_file_on_delete, auto_delete_file_on_change
-
+        from actstream import registry
         registry.register(self.get_model('Library'))
diff --git a/beat/web/plotters/apps.py b/beat/web/plotters/apps.py
index ae9fb5853..a4f7a101d 100644
--- a/beat/web/plotters/apps.py
+++ b/beat/web/plotters/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class PlottersConfig(CommonAppConfig):
     name = 'beat.web.plotters'
@@ -35,4 +34,5 @@ class PlottersConfig(CommonAppConfig):
 
     def ready(self):
         super(PlottersConfig, self).ready()
+        from actstream import registry
         registry.register(self.get_model('Plotter'))
diff --git a/beat/web/plotters/urls.py b/beat/web/plotters/urls.py
index aaf3c4b9b..b7ae161ce 100644
--- a/beat/web/plotters/urls.py
+++ b/beat/web/plotters/urls.py
@@ -31,7 +31,7 @@ from . import views
 urlpatterns = [
 
     url(
-        r'^/$',
+        r'^$',
         views.list_plotters,
         name='list',
     ),
diff --git a/beat/web/search/apps.py b/beat/web/search/apps.py
index 7ca7c2afa..da7e5f4f5 100644
--- a/beat/web/search/apps.py
+++ b/beat/web/search/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class SearchConfig(CommonAppConfig):
     name = 'beat.web.search'
@@ -35,4 +34,5 @@ class SearchConfig(CommonAppConfig):
 
     def ready(self):
         super(SearchConfig, self).ready()
+        from actstream import registry
         registry.register(self.get_model('Search'))
diff --git a/beat/web/team/apps.py b/beat/web/team/apps.py
index 21b471c8d..dcd09cd58 100644
--- a/beat/web/team/apps.py
+++ b/beat/web/team/apps.py
@@ -27,15 +27,13 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 class TeamConfig(CommonAppConfig):
     name = 'beat.web.team'
     verbose_name = _('Team')
 
     def ready(self):
-    	super(TeamConfig, self).ready()
-
+        super(TeamConfig, self).ready()
         from .signals.handlers import on_added_to_team
-
+        from actstream import registry
         registry.register(self.get_model('Team'))
diff --git a/beat/web/toolchains/apps.py b/beat/web/toolchains/apps.py
index dce6dbbcd..623cb7630 100644
--- a/beat/web/toolchains/apps.py
+++ b/beat/web/toolchains/apps.py
@@ -27,7 +27,6 @@
 
 from ..common.apps import CommonAppConfig
 from django.utils.translation import ugettext_lazy as _
-from actstream import registry
 
 
 class ToolchainsConfig(CommonAppConfig):
@@ -37,8 +36,7 @@ class ToolchainsConfig(CommonAppConfig):
 
     def ready(self):
         super(ToolchainsConfig, self).ready()
-
         from .signals import auto_delete_file_on_delete, auto_delete_file_on_change
-
+        from actstream import registry
         registry.register(self.get_model('Toolchain'))
 
diff --git a/beat/web/ui/urls.py b/beat/web/ui/urls.py
index 73ac2f084..75dcf8a9e 100644
--- a/beat/web/ui/urls.py
+++ b/beat/web/ui/urls.py
@@ -28,6 +28,7 @@
 from django.conf.urls import url
 from django.conf import settings
 from django.views.generic.base import TemplateView
+from django.contrib.auth.views import logout
 
 from . import views
 
@@ -53,7 +54,7 @@ urlpatterns = [
     ),
 
     url(r'^logout/$',
-        'django.contrib.auth.views.logout',
+        logout,
         {'next_page': 'index'},
         name='logout',
         ),
-- 
GitLab