From b44b6bb3075c2bedba31fc2d38f0c92661d84b4f Mon Sep 17 00:00:00 2001
From: Stauros Kroustouris <staurosk@noc.grnet.gr>
Date: Mon, 25 May 2015 12:06:40 +0300
Subject: [PATCH] remove lint errors and clean some files

---
 accounts/admin.py                 |  21 +-
 accounts/models.py                |  13 +-
 accounts/serializers.py           |   8 -
 accounts/views.py                 | 120 ++++++----
 accounts/viewsets.py              |   8 -
 djangobackends/shibauthBackend.py |   5 +-
 flowspec/admin.py                 |  26 +--
 flowspec/forms.py                 |  26 +--
 flowspec/tasks.py                 |  47 ++--
 flowspec/templatetags/tofqdn.py   |   2 -
 flowspec/views.py                 | 370 ++++++++++++++++++++----------
 11 files changed, 376 insertions(+), 270 deletions(-)
 delete mode 100644 accounts/serializers.py
 delete mode 100644 accounts/viewsets.py

diff --git a/accounts/admin.py b/accounts/admin.py
index ada7c4dc..04d6f9cc 100644
--- a/accounts/admin.py
+++ b/accounts/admin.py
@@ -18,20 +18,21 @@
 #
 
 from django.contrib import admin
-from accounts.models import *
-from django.contrib.auth.models import User
-from peers.models import *
-from django.conf import settings
-
-class UserPrAdmin(admin.ModelAdmin):
-    list_display = ('user', 'peer')
-
-admin.site.register(UserProfile, UserPrAdmin)
 from django import forms
 from django.core.urlresolvers import reverse
 from django.contrib.flatpages.admin import FlatPageAdmin
 from django.contrib.flatpages.models import FlatPage
+
 from tinymce.widgets import TinyMCE
+from accounts.models import UserProfile
+
+
+class UserPrAdmin(admin.ModelAdmin):
+    list_display = ('user', 'peer')
+
+admin.site.register(UserProfile, UserPrAdmin)
+
+
 
 class TinyMCEFlatPageAdmin(FlatPageAdmin):
     def formfield_for_dbfield(self, db_field, **kwargs):
@@ -43,4 +44,4 @@ class TinyMCEFlatPageAdmin(FlatPageAdmin):
         return super(TinyMCEFlatPageAdmin, self).formfield_for_dbfield(db_field, **kwargs)
 
 admin.site.unregister(FlatPage)
-admin.site.register(FlatPage, TinyMCEFlatPageAdmin)
\ No newline at end of file
+admin.site.register(FlatPage, TinyMCEFlatPageAdmin)
diff --git a/accounts/models.py b/accounts/models.py
index d1441588..0976e2b1 100644
--- a/accounts/models.py
+++ b/accounts/models.py
@@ -19,24 +19,23 @@
 
 from django.db import models
 from django.contrib.auth.models import User
-from peers.models import *
+from peers.models import Peer
 
 
 class UserProfile(models.Model):
     user = models.OneToOneField(User)
     peer = models.ForeignKey(Peer)
-    
+
     class Meta:
         permissions = (
-                ("overview", "Can see registered users and rules"),
-            )
+            ("overview", "Can see registered users and rules"),
+        )
 
-    
     def __unicode__(self):
-        return "%s:%s" %(self.user.username, self.peer.peer_name)
+        return "%s:%s" % (self.user.username, self.peer.peer_name)
 
     def get_address_space(self):
         networks = self.domain.networks.all()
         if not networks:
             return False
-        return networks
\ No newline at end of file
+        return networks
diff --git a/accounts/serializers.py b/accounts/serializers.py
deleted file mode 100644
index 27eff549..00000000
--- a/accounts/serializers.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from rest_framework import serializers
-from django.contrib.auth.models import User
-
-
-class UserSerializer(serializers.HyperlinkedModelSerializer):
-    class Meta:
-        model = User
-        fields = ('url', 'username', 'email', 'is_staff')
diff --git a/accounts/views.py b/accounts/views.py
index 8909aa96..a86b74e4 100644
--- a/accounts/views.py
+++ b/accounts/views.py
@@ -16,84 +16,110 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
-
+from django import forms
 from django.conf import settings
 from django.core.mail import send_mail
 from django.contrib.sites.models import Site
-from django.shortcuts import render_to_response
-from django.template.context import RequestContext
+from django.contrib.auth.models import User
+from django.shortcuts import render
 from django.template.loader import render_to_string
 from django.utils.translation import ugettext_lazy as _
-from accounts.models import *
-from peers.models import *
-from flowspec.forms import *
-from registration.models import RegistrationProfile
-from registration.views import activate as registration_activate
 from django.views.decorators.cache import never_cache
 
+from accounts.models import UserProfile
+from peers.models import Peer
+from flowspec.forms import UserProfileForm
+from registration.models import RegistrationProfile
+
+
 @never_cache
 def activate(request, activation_key):
     account = None
     if request.method == "GET":
-        activation_key = activation_key.lower() # Normalize before trying anything with it.
-        context = RequestContext(request)
+        activation_key = activation_key.lower()  # Normalize before trying anything with it.
         try:
             rp = RegistrationProfile.objects.get(activation_key=activation_key)
-            
+
         except RegistrationProfile.DoesNotExist:
-            return render_to_response("registration/activate.html",
-                                  { 'account': account,
-                                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS },
-                                  context_instance=context)
+            return render(
+                request,
+                'registration/activate.html',
+                {
+                    'account': account,
+                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS
+                }
+            )
         try:
             userProfile = rp.user.get_profile()
         except UserProfile.DoesNotExist:
-            return render_to_response("registration/activate.html",
-                                  { 'account': account,
-                                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS },
-                                  context_instance=context)
-        
+            return render(
+                request,
+                'registration/activate.html',
+                {
+                    'account': account,
+                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS
+                }
+            )
+
         form = UserProfileForm(instance=userProfile)
         form.fields['user'] = forms.ModelChoiceField(queryset=User.objects.filter(pk=rp.user.pk), empty_label=None)
         form.fields['peer'] = forms.ModelChoiceField(queryset=Peer.objects.all(), empty_label=None)
-        
-        return render_to_response("registration/activate_edit.html",
-                                  { 'account': account,
-                                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
-                                    'form': form },
-                                  context_instance=context)
-            
+
+        return render(
+            request,
+            'registration/activate_edit.html',
+            {
+                'account': account,
+                'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
+                'form': form
+            },
+        )
+
     if request.method == "POST":
-        context = RequestContext(request)
         request_data = request.POST.copy()
         try:
             user = User.objects.get(pk=request_data['user'])
             up = user.get_profile()
             up.peer = Peer.objects.get(pk=request_data['peer'])
             up.save()
-            
+
         except:
-            return render_to_response("registration/activate_edit.html",
-                                  { 'account': account,
-                                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS
-                                     },
-                                  context_instance=context)
-        activation_key = activation_key.lower() # Normalize before trying anything with it.
+            return render(
+                request,
+                'registration/activate_edit.html',
+                {
+                    'account': account,
+                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS
+                },
+            )
+        activation_key = activation_key.lower()  # Normalize before trying anything with it.
         try:
             rp = RegistrationProfile.objects.get(activation_key=activation_key)
             account = RegistrationProfile.objects.activate_user(activation_key)
-        except Exception as e:
+        except Exception:
             pass
-    
+
         if account:
             # A user has been activated
-            email = render_to_string("registration/activation_complete.txt",
-                                     {"site": Site.objects.get_current(),
-                                      "user": account})
-            send_mail(_("%sUser account activated") % settings.EMAIL_SUBJECT_PREFIX,
-                  email, settings.SERVER_EMAIL, [account.email])
-        context = RequestContext(request)
-        return render_to_response("registration/activate.html",
-                                  { 'account': account,
-                                    'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS },
-                                  context_instance=context)
\ No newline at end of file
+            email = render_to_string(
+                request,
+                'registration/activation_complete.txt',
+                {
+                    'site': Site.objects.get_current(),
+                    'user': account
+                }
+            )
+            send_mail(
+                _("%sUser account activated") % settings.EMAIL_SUBJECT_PREFIX,
+                email,
+                settings.SERVER_EMAIL,
+                [account.email]
+            )
+        return render(
+            request,
+            'registration/activate.html',
+            {
+                'account': account,
+                'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS
+            },
+        )
diff --git a/accounts/viewsets.py b/accounts/viewsets.py
deleted file mode 100644
index 09dea852..00000000
--- a/accounts/viewsets.py
+++ /dev/null
@@ -1,8 +0,0 @@
-from rest_framework import viewsets
-from django.contrib.auth.models import User
-from accounts.serializers import UserSerializer
-
-
-class UserViewSet(viewsets.ModelViewSet):
-    queryset = User.objects.all()
-    serializer_class = UserSerializer
diff --git a/djangobackends/shibauthBackend.py b/djangobackends/shibauthBackend.py
index 57f7770e..94649333 100644
--- a/djangobackends/shibauthBackend.py
+++ b/djangobackends/shibauthBackend.py
@@ -17,9 +17,8 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
+from django.contrib.auth.models import User
 
-from django.contrib.auth.models import User, UserManager, Permission, Group
-from django.conf import settings
 
 class shibauthBackend:
     def authenticate(self, **kwargs):
@@ -43,7 +42,7 @@ class shibauthBackend:
         try:
             user = User.objects.get(username__exact=username)
         # The user did not exist. Create one with no privileges
-        except: 
+        except:
             user = User.objects.create_user(username, mail, None)
             user.first_name = firstname
             user.last_name = lastname
diff --git a/flowspec/admin.py b/flowspec/admin.py
index 5c19e39e..501c7546 100644
--- a/flowspec/admin.py
+++ b/flowspec/admin.py
@@ -18,23 +18,21 @@
 #
 
 from django.contrib import admin
-from flowspec.models import *
-from accounts.models import *
+from flowspec.models import MatchPort, MatchDscp, MatchProtocol, FragmentType, ThenAction, Route
+from accounts.models import UserProfile
 from utils import proxy as PR
 from tasks import *
 from django.contrib.auth.models import User
 from django.contrib.auth.admin import UserAdmin
 from peers.models import *
 from flowspec.forms import *
-import datetime
-from django.conf import settings
 from longerusername.forms import UserCreationForm, UserChangeForm
 
 
 class RouteAdmin(admin.ModelAdmin):
     form = RouteForm
     actions = ['deactivate']
-    
+
     def deactivate(self, request, queryset):
         queryset = queryset.filter(status='ACTIVE')
         response = batch_delete.delay(queryset, reason="ADMININACTIVE")
@@ -52,23 +50,23 @@ class RouteAdmin(admin.ModelAdmin):
     def has_delete_permission(self, request, obj=None):
         return False
 
-    list_display = ('name', 'status', 'applier' , 'applier_peer', 'get_match', 'get_then', 'response', "expires", "comments")
+    list_display = ('name', 'status', 'applier', 'applier_peer', 'get_match', 'get_then', 'response', "expires", "comments")
 
     fieldsets = [
-        (None,               {'fields': ['name','applier']}),
-        ("Match",               {'fields': ['source', 'sourceport', 'destination', 'destinationport', 'port']}),
+        (None, {'fields': ['name', 'applier']}),
+        ("Match", {'fields': ['source', 'sourceport', 'destination', 'destinationport', 'port']}),
         ('Advanced Match Statements', {'fields': ['dscp', 'fragmenttype', 'icmpcode', 'icmptype', 'packetlength', 'protocol', 'tcpflag'], 'classes': ['collapse']}),
-        ("Then",               {'fields': ['then' ]}),
-        ("Expires",               {'fields': ['expires' ]}),
-        (None,               {'fields': ['comments',]}),
-        
+        ("Then", {'fields': ['then']}),
+        ("Expires", {'fields': ['expires']}),
+        (None, {'fields': ['comments', ]}),
+
     ]
-    
 
 
 class UserProfileInline(admin.StackedInline):
     model = UserProfile
-    
+
+
 class UserProfileAdmin(UserAdmin):
     add_form = UserCreationForm
     form = UserChangeForm
diff --git a/flowspec/forms.py b/flowspec/forms.py
index 39d0f4e6..8d3494da 100644
--- a/flowspec/forms.py
+++ b/flowspec/forms.py
@@ -140,7 +140,7 @@ class RouteForm(forms.ModelForm):
                 if broadcast_error:
                     error_text = _('Malformed address format. Cannot be ...0/32')
                 raise forms.ValidationError(error_text)
-    
+
     def clean_expires(self):
         date = self.cleaned_data['expires']
         if date:
@@ -152,22 +152,17 @@ class RouteForm(forms.ModelForm):
 
     def clean(self):
         if self.errors:
-             raise forms.ValidationError(_('Errors in form. Please review and fix them: %s'%", ".join(self.errors)))
+            raise forms.ValidationError(_('Errors in form. Please review and fix them: %s'%", ".join(self.errors)))
         name = self.cleaned_data.get('name', None)
         source = self.cleaned_data.get('source', None)
         sourceports = self.cleaned_data.get('sourceport', None)
         ports = self.cleaned_data.get('port', None)
-        fragmenttypes = self.cleaned_data.get('fragmenttype', None)
         then = self.cleaned_data.get('then', None)
         destination = self.cleaned_data.get('destination', None)
         destinationports = self.cleaned_data.get('destinationport', None)
         protocols = self.cleaned_data.get('protocol', None)
         user = self.cleaned_data.get('applier', None)
-        try:
-            issuperuser = self.data['issuperuser']
-            su = User.objects.get(username=issuperuser)
-        except:
-            issuperuser = None
+        issuperuser = self.data.get('issuperuser')
         peer = user.get_profile().peer
         networks = peer.networks.all()
         if issuperuser:
@@ -223,7 +218,7 @@ class RouteForm(forms.ModelForm):
         if ports:
             route_pk_list=get_matchingport_route_pks(ports, existing_routes)
             if route_pk_list:
-                existing_routes = existing_routes.filter(pk__in=route_pk_list)              
+                existing_routes = existing_routes.filter(pk__in=route_pk_list)
         else:
             existing_routes = existing_routes.filter(port=None)
         for route in existing_routes:
@@ -233,11 +228,12 @@ class RouteForm(forms.ModelForm):
                     raise forms.ValidationError('Found an exact %s rule, %s with destination prefix %s<br>To avoid overlapping try editing rule <a href=\'%s\'>%s</a>' %(route.status, route.name, route.destination, existing_url, route.name))
         return self.cleaned_data
 
+
 class ThenPlainForm(forms.ModelForm):
 #    action = forms.CharField(initial='rate-limit')
     class Meta:
         model = ThenAction
-    
+
     def clean_action_value(self):
         action_value = self.cleaned_data['action_value']
         if action_value:
@@ -257,18 +253,17 @@ class ThenPlainForm(forms.ModelForm):
             raise forms.ValidationError(_('Cannot select something other than rate-limit'))
         else:
             return self.cleaned_data["action"]
-    
+
 
 class PortPlainForm(forms.ModelForm):
 #    action = forms.CharField(initial='rate-limit')
     class Meta:
         model = MatchPort
-    
+
     def clean_port(self):
         port = self.cleaned_data['port']
         if port:
             try:
-                p = int(port)
                 if int(port) > 65535 or int(port) < 0:
                     raise forms.ValidationError(_('Port should be < 65535 and >= 0'))
                 return "%s" %self.cleaned_data["port"]
@@ -279,12 +274,14 @@ class PortPlainForm(forms.ModelForm):
         else:
             raise forms.ValidationError(_('Cannot be empty'))
 
+
 def value_list_to_list(valuelist):
     vl = []
     for val in valuelist:
         vl.append(val[0])
     return vl
 
+
 def get_matchingport_route_pks(portlist, routes):
     route_pk_list = []
     ports_value_list = value_list_to_list(portlist.values_list('port').order_by('port'))
@@ -294,6 +291,7 @@ def get_matchingport_route_pks(portlist, routes):
             route_pk_list.append(route.pk)
     return route_pk_list
 
+
 def get_matchingprotocol_route_pks(protocolist, routes):
     route_pk_list = []
     protocols_value_list = value_list_to_list(protocolist.values_list('protocol').order_by('protocol'))
@@ -301,4 +299,4 @@ def get_matchingprotocol_route_pks(protocolist, routes):
         rsp = value_list_to_list(route.protocol.all().values_list('protocol').order_by('protocol'))
         if rsp and rsp == protocols_value_list:
             route_pk_list.append(route.pk)
-    return route_pk_list
\ No newline at end of file
+    return route_pk_list
diff --git a/flowspec/tasks.py b/flowspec/tasks.py
index 6ad2abbc..28c502d1 100644
--- a/flowspec/tasks.py
+++ b/flowspec/tasks.py
@@ -28,16 +28,14 @@ from django.conf import settings
 import datetime
 from django.core.mail import send_mail
 from django.template.loader import render_to_string
-from django.core.urlresolvers import reverse
 import os
 from celery.exceptions import TimeLimitExceeded, SoftTimeLimitExceeded
 
-
-
 LOG_FILENAME = os.path.join(settings.LOG_FILE_LOCATION, 'celery_jobs.log')
 
-#FORMAT = '%(asctime)s %(levelname)s: %(message)s'
-#logging.basicConfig(format=FORMAT)
+
+# FORMAT = '%(asctime)s %(levelname)s: %(message)s'
+# logging.basicConfig(format=FORMAT)
 formatter = logging.Formatter('%(asctime)s %(levelname)s: %(message)s')
 
 logger = logging.getLogger(__name__)
@@ -74,7 +72,8 @@ def add(route, callback=None):
         route.status = "ERROR"
         route.response = "Error"
         route.save()
-        announce("[%s] Rule add: %s - Result: %s"%(route.applier, route.name, route.response), route.applier)   
+        announce("[%s] Rule add: %s - Result: %s"%(route.applier, route.name, route.response), route.applier)
+
 
 @task(ignore_result=True)
 def edit(route, callback=None):
@@ -103,7 +102,7 @@ def edit(route, callback=None):
         route.status = "ERROR"
         route.response = "Error"
         route.save()
-        announce("[%s] Rule edit: %s - Result: %s"%(route.applier, route.name, route.response), route.applier)        
+        announce("[%s] Rule edit: %s - Result: %s"%(route.applier, route.name, route.response), route.applier)
 
 
 @task(ignore_result=True)
@@ -137,7 +136,8 @@ def delete(route, **kwargs):
         route.status = "ERROR"
         route.response = "Error"
         route.save()
-        announce("[%s] Suspending rule : %s - Result: %s"%(route.applier, route.name, route.response), route.applier)   
+        announce("[%s] Suspending rule : %s - Result: %s"%(route.applier, route.name, route.response), route.applier)
+
 
 # May not work in the first place... proxy is not aware of Route models
 @task
@@ -164,22 +164,24 @@ def batch_delete(routes, **kwargs):
             route.response = response
             route.expires = datetime.date.today()
             route.save()
-            announce("[%s] Rule removal: %s%s- Result %s" %(route.applier, route.name, reason_text, response), route.applier)
+            announce("[%s] Rule removal: %s%s- Result %s" % (route.applier, route.name, reason_text, response), route.applier)
     else:
         return False
 
+
 #@task(ignore_result=True)
 def announce(messg, user):
     messg = str(messg)
     username = user.get_profile().peer.peer_tag
     b = beanstalkc.Connection()
     b.use(settings.POLLS_TUBE)
-    tube_message = json.dumps({'message': messg, 'username':username})
+    tube_message = json.dumps({'message': messg, 'username': username})
     b.put(tube_message)
     b.close()
 
+
 @task
-def check_sync(route_name=None, selected_routes = []):
+def check_sync(route_name=None, selected_routes=[]):
     from flowspec.models import Route, MatchPort, MatchDscp, ThenAction
     if not selected_routes:
         routes = Route.objects.all()
@@ -196,6 +198,7 @@ def check_sync(route_name=None, selected_routes = []):
             if route.status != 'EXPIRED':
                 route.check_sync()
 
+
 @task(ignore_result=True)
 def notify_expired():
     from flowspec.models import *
@@ -229,25 +232,3 @@ def notify_expired():
                     logger.info("Exception: %s"%e)
                     pass
     logger.info('Expiration notification process finished')
-
-#def delete(route):
-#    
-#    applier = PR.Applier(route_object=route)
-#    commit, response = applier.apply(configuration=applier.delete_routes())
-#    if commit:
-#            rows = queryset.update(is_online=False, is_active=False)
-#            queryset.update(response="Successfully removed route from network")
-#            self.message_user(request, "Successfully removed %s routes from network" % rows)
-#        else:
-#            self.message_user(request, "Could not remove routes from network")
-#    if commit:
-#        is_online = False
-#        is_active = False
-#        response = "Successfully removed route from network"
-#    else:
-#        is_online = False
-#        is_active = True
-#    route.is_online = is_online
-#    route.is_active = is_active
-#    route.response = response
-#    route.save()
\ No newline at end of file
diff --git a/flowspec/templatetags/tofqdn.py b/flowspec/templatetags/tofqdn.py
index 7b83fb13..4518ae38 100644
--- a/flowspec/templatetags/tofqdn.py
+++ b/flowspec/templatetags/tofqdn.py
@@ -1,6 +1,4 @@
 from django import template
-from django.utils.safestring import mark_safe
-from django.utils.encoding import force_unicode
 import socket
 
 register = template.Library()
diff --git a/flowspec/views.py b/flowspec/views.py
index 120d597d..d1250acb 100644
--- a/flowspec/views.py
+++ b/flowspec/views.py
@@ -17,22 +17,16 @@
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 
-import urllib2
-import socket
 import json
 from django import forms
-from django.views.decorators.csrf import csrf_exempt
-from django.core import urlresolvers
-from django.core import serializers
 from django.contrib.auth.decorators import login_required
 from django.contrib.auth import logout
 from django.contrib.sites.models import Site
 from django.contrib.auth.models import User
-from django.http import HttpResponseRedirect, HttpResponseForbidden, HttpResponse
-from django.shortcuts import get_object_or_404, render_to_response
-from django.core.context_processors import request
+from django.http import HttpResponseRedirect, HttpResponse
+from django.shortcuts import get_object_or_404, render_to_response, render
 from django.template.context import RequestContext
-from django.template.loader import get_template, render_to_string
+from django.template.loader import render_to_string
 from django.utils.translation import ugettext as _
 from django.core.urlresolvers import reverse
 from django.contrib import messages
@@ -50,7 +44,6 @@ from peers.models import *
 from registration.models import RegistrationProfile
 
 from copy import deepcopy
-from utils.decorators import shib_required
 
 from django.views.decorators.cache import never_cache
 from django.conf import settings
@@ -60,8 +53,8 @@ import datetime
 import os
 
 LOG_FILENAME = os.path.join(settings.LOG_FILE_LOCATION, 'celery_jobs.log')
-#FORMAT = '%(asctime)s %(levelname)s: %(message)s'
-#logging.basicConfig(format=FORMAT)
+# FORMAT = '%(asctime)s %(levelname)s: %(message)s'
+# logging.basicConfig(format=FORMAT)
 formatter = logging.Formatter('%(asctime)s %(levelname)s %(clientip)s %(user)s: %(message)s')
 
 logger = logging.getLogger(__name__)
@@ -70,14 +63,26 @@ handler = logging.FileHandler(LOG_FILENAME)
 handler.setFormatter(formatter)
 logger.addHandler(handler)
 
+
 @login_required
 def user_routes(request):
     user_routes = Route.objects.filter(applier=request.user)
-    return render_to_response('user_routes.html', {'routes': user_routes},
-                              context_instance=RequestContext(request))
+    return render(
+        request,
+        'user_routes.html',
+        {
+            'routes': user_routes
+        },
+    )
+
 
 def welcome(request):
-    return render_to_response('welcome.html', context_instance=RequestContext(request))
+    return render(
+        request,
+        'welcome.html',
+        {}
+    )
+
 
 @login_required
 @never_cache
@@ -87,25 +92,48 @@ def dashboard(request):
         peer = request.user.get_profile().peer
     except UserProfile.DoesNotExist:
         error = "User <strong>%s</strong> does not belong to any peer or organization. It is not possible to create new firewall rules.<br>Please contact Helpdesk to resolve this issue" % request.user.username
-        return render_to_response('error.html', {'error': error}, context_instance=RequestContext(request))
+        return render(
+            request,
+            'error.html',
+            {
+                'error': error
+            }
+        )
     if peer:
-       peer_members = UserProfile.objects.filter(peer=peer)
-       users = [prof.user for prof in peer_members]
-       group_routes = Route.objects.filter(applier__in=users).order_by('-expires')[:10]
-       if request.user.is_superuser:
-           group_routes = Route.objects.all().order_by('-expires')[:10]
-       return render_to_response('dashboard.html', {'routes': group_routes},
-                              context_instance=RequestContext(request))
+        peer_members = UserProfile.objects.filter(peer=peer)
+        users = [prof.user for prof in peer_members]
+        group_routes = Route.objects.filter(applier__in=users).order_by('-expires')[:10]
+        if request.user.is_superuser:
+            group_routes = Route.objects.all().order_by('-expires')[:10]
+        return render(
+            request,
+            'dashboard.html',
+            {
+                'routes': group_routes
+            },
+        )
+
 
 @login_required
 @never_cache
 def group_routes(request):
     try:
-        peer = request.user.get_profile().peer
+        request.user.get_profile().peer
     except UserProfile.DoesNotExist:
         error = "User <strong>%s</strong> does not belong to any peer or organization. It is not possible to create new firewall rules.<br>Please contact Helpdesk to resolve this issue" % request.user.username
-        return render_to_response('error.html', {'error': error}, context_instance=RequestContext(request))
-    return render_to_response('user_routes.html', context_instance=RequestContext(request))
+        return render(
+            request,
+            'error.html',
+            {
+                'error': error
+            }
+        )
+    return render(
+        request,
+        'user_routes.html',
+        {}
+    )
+
 
 @login_required
 @never_cache
@@ -115,13 +143,17 @@ def group_routes_ajax(request):
         peer = request.user.get_profile().peer
     except UserProfile.DoesNotExist:
         error = "User <strong>%s</strong> does not belong to any peer or organization. It is not possible to create new firewall rules.<br>Please contact Helpdesk to resolve this issue" % request.user.username
-        return render_to_response('error.html', {'error': error}, context_instance=RequestContext(request))
+        return render(
+            request,
+            'error.html',
+            {'error': error}
+        )
     if peer:
-       peer_members = UserProfile.objects.filter(peer=peer)
-       users = [prof.user for prof in peer_members]
-       group_routes = Route.objects.filter(applier__in=users)
-       if request.user.is_superuser:
-           group_routes = Route.objects.all()
+        peer_members = UserProfile.objects.filter(peer=peer)
+        users = [prof.user for prof in peer_members]
+        group_routes = Route.objects.filter(applier__in=users)
+        if request.user.is_superuser:
+            group_routes = Route.objects.all()
     jresp = {}
     routes = build_routes_json(group_routes)
     jresp['aaData'] = routes
@@ -138,11 +170,11 @@ def overview_routes_ajax(request):
         error = "User <strong>%s</strong> does not belong to any peer or organization. It is not possible to create new firewall rules.<br>Please contact Helpdesk to resolve this issue" % request.user.username
         return render_to_response('error.html', {'error': error}, context_instance=RequestContext(request))
     if peer:
-       peer_members = UserProfile.objects.filter(peer=peer)
-       users = [prof.user for prof in peer_members]
-       group_routes = Route.objects.filter(applier__in=users)
-       if request.user.is_superuser or request.user.has_perm('accounts.overview'):
-           group_routes = Route.objects.all()
+        peer_members = UserProfile.objects.filter(peer=peer)
+        users = [prof.user for prof in peer_members]
+        group_routes = Route.objects.filter(applier__in=users)
+        if request.user.is_superuser or request.user.has_perm('accounts.overview'):
+            group_routes = Route.objects.all()
     jresp = {}
     routes = build_routes_json(group_routes)
     jresp['aaData'] = routes
@@ -223,13 +255,13 @@ def add_route(request):
             if not request.user.is_superuser:
                 form.fields['then'] = forms.ModelMultipleChoiceField(queryset=ThenAction.objects.filter(action__in=settings.UI_USER_THEN_ACTIONS).order_by('action'), required=True)
                 form.fields['protocol'] = forms.ModelMultipleChoiceField(queryset=MatchProtocol.objects.filter(protocol__in=settings.UI_USER_PROTOCOLS).order_by('protocol'), required=False)
-            return render_to_response(
+            return render(
+                request,
                 'apply.html',
                 {
                     'form': form,
                     'applier': applier
-                },
-                context_instance=RequestContext(request)
+                }
             )
 
 
@@ -247,14 +279,6 @@ def edit_route(request, route_slug):
             ('Insufficient rights to edit rule %s') % (route_slug)
         )
         return HttpResponseRedirect(reverse("group-routes"))
-#    if route_edit.status == "ADMININACTIVE" :
-#        messages.add_message(request, messages.WARNING,
-#                             "Administrator has disabled editing of rule %s" %(route_slug))
-#        return HttpResponseRedirect(reverse("group-routes"))
-#    if route_edit.status == "EXPIRED" :
-#        messages.add_message(request, messages.WARNING,
-#                             "Cannot edit the expired rule %s. Contact helpdesk to enable it" %(route_slug))
-#        return HttpResponseRedirect(reverse("group-routes"))
     if route_edit.status == 'PENDING':
         messages.add_message(
             request,
@@ -370,9 +394,20 @@ def user_profile(request):
             peers = Peer.objects.all()
     except UserProfile.DoesNotExist:
         error = "User <strong>%s</strong> does not belong to any peer or organization. It is not possible to create new firewall rules.<br>Please contact Helpdesk to resolve this issue" % user.username
-        return render_to_response('error.html', {'error': error}, context_instance=RequestContext(request))
-    return render_to_response('profile.html', {'user': user, 'peers':peers},
-                                  context_instance=RequestContext(request))
+        return render(
+            request,
+            'error.html',
+            {'error': error}
+        )
+    return render(
+        request,
+        'profile.html',
+        {
+            'user': user,
+            'peers': peers
+        },
+    )
+
 
 @never_cache
 def user_login(request):
@@ -390,27 +425,28 @@ def user_login(request):
         lastname = lookupShibAttr(settings.SHIB_LASTNAME, request.META)
         mail = lookupShibAttr(settings.SHIB_MAIL, request.META)
         entitlement = lookupShibAttr(settings.SHIB_ENTITLEMENT, request.META)
-        #organization = request.META['HTTP_SHIB_HOMEORGANIZATION']
 
         if settings.SHIB_AUTH_ENTITLEMENT in entitlement.split(";"):
             has_entitlement = True
         if not has_entitlement:
             error_entitlement = True
-#        if not organization:
-#            error_orgname = True
         if not mail:
             error_mail = True
         if error_username:
             error = _("Your idP should release the HTTP_EPPN attribute towards this service<br>")
-#        if error_orgname:
-#            error = error + _("Your idP should release the HTTP_SHIB_HOMEORGANIZATION attribute towards this service<br>")
         if error_entitlement:
             error = error + _("Your idP should release an appropriate HTTP_SHIB_EP_ENTITLEMENT attribute towards this service<br>")
         if error_mail:
             error = error + _("Your idP should release the HTTP_SHIB_INETORGPERSON_MAIL attribute towards this service")
         if error_username or error_orgname or error_entitlement or error_mail:
-            return render_to_response('error.html', {'error': error, "missing_attributes": True},
-                                  context_instance=RequestContext(request))
+            return render(
+                request,
+                'error.html',
+                {
+                    'error': error,
+                    "missing_attributes": True
+                },
+            )
         try:
             if settings.SHIB_SLUGIFY_USERNAME:
                 username = slugify(username)
@@ -426,9 +462,7 @@ def user_login(request):
 
         if user is not None:
             try:
-                peer = user.get_profile().peer
-#                peer = Peer.objects.get(domain_name=organization)
-#                up = UserProfile.objects.get_or_create(user=user,peer=peer)
+                user.get_profile().peer
             except:
                 form = UserProfileForm()
                 form.fields['user'] = forms.ModelChoiceField(queryset=User.objects.filter(pk=user.pk), empty_label=None)
@@ -437,99 +471,157 @@ def user_login(request):
             if not user_exists:
                 user_activation_notify(user)
             if user.is_active:
-               login(request, user)
-               return HttpResponseRedirect(reverse("dashboard"))
+                login(request, user)
+                return HttpResponseRedirect(reverse("dashboard"))
             else:
                 error = _("User account <strong>%s</strong> is pending activation. Administrators have been notified and will activate this account within the next days. <br>If this account has remained inactive for a long time contact your technical coordinator or GRNET Helpdesk") %user.username
-                return render_to_response('error.html', {'error': error, 'inactive': True},
-                                  context_instance=RequestContext(request))
+                return render(
+                    request,
+                    'error.html',
+                    {
+                        'error': error,
+                        'inactive': True
+                    },
+                )
         else:
             error = _("Something went wrong during user authentication. Contact your administrator")
-            return render_to_response('error.html', {'error': error,},
-                                  context_instance=RequestContext(request))
+            return render(
+                request,
+                'error.html',
+                {'error': error},
+            )
     except User.DoesNotExist as e:
-        error = _("Invalid login procedure. Error: %s" %e)
-        return render_to_response('error.html', {'error': error,},
-                                  context_instance=RequestContext(request))
-        # Return an 'invalid login' error message.
-#    return HttpResponseRedirect(reverse("user-routes"))
+        error = _("Invalid login procedure. Error: %s" % e)
+        return render(
+            request,
+            'error.html',
+            {
+                'error': error
+            },
+        )
+
 
 def user_activation_notify(user):
     current_site = Site.objects.get_current()
     peer = user.get_profile().peer
 
-
     # Email subject *must not* contain newlines
     # TechCs will be notified about new users.
     # Platform admins will activate the users.
-    subject = render_to_string('registration/activation_email_subject.txt',
-                                   { 'site': current_site })
+    subject = render_to_string(
+        'registration/activation_email_subject.txt',
+        {
+            'site': current_site
+        }
+    )
     subject = ''.join(subject.splitlines())
     registration_profile = RegistrationProfile.objects.create_profile(user)
-    message = render_to_string('registration/activation_email.txt',
-                                   { 'activation_key': registration_profile.activation_key,
-                                     'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
-                                     'site': current_site,
-                                     'user': user })
+    message = render_to_string(
+        'registration/activation_email.txt',
+        {
+            'activation_key': registration_profile.activation_key,
+            'expiration_days': settings.ACCOUNT_ACTIVATION_DAYS,
+            'site': current_site,
+            'user': user
+        }
+    )
     if settings.NOTIFY_ADMIN_MAILS:
         admin_mails = settings.NOTIFY_ADMIN_MAILS
-        send_new_mail(settings.EMAIL_SUBJECT_PREFIX + subject,
-                                  message, settings.SERVER_EMAIL,
-                                 admin_mails, [])
-
+        send_new_mail(
+            settings.EMAIL_SUBJECT_PREFIX + subject,
+            message,
+            settings.SERVER_EMAIL,
+            admin_mails,
+            []
+        )
     # Mail to domain techCs plus platform admins (no activation hash sent)
-    subject = render_to_string('registration/activation_email_peer_notify_subject.txt',
-                                   { 'site': current_site,
-                                     'peer': peer })
+    subject = render_to_string(
+        'registration/activation_email_peer_notify_subject.txt',
+        {
+            'site': current_site,
+            'peer': peer
+        }
+    )
     subject = ''.join(subject.splitlines())
-    message = render_to_string('registration/activation_email_peer_notify.txt',
-                                   { 'user': user,
-                                    'peer': peer })
-    send_new_mail(settings.EMAIL_SUBJECT_PREFIX + subject,
-                              message, settings.SERVER_EMAIL,
-                             get_peer_techc_mails(user), [])
+    message = render_to_string(
+        'registration/activation_email_peer_notify.txt',
+        {
+            'user': user,
+            'peer': peer
+        }
+    )
+    send_new_mail(
+        settings.EMAIL_SUBJECT_PREFIX + subject,
+        message,
+        settings.SERVER_EMAIL,
+        get_peer_techc_mails(user), [])
+
 
 @login_required
 @never_cache
 def add_rate_limit(request):
     if request.method == "GET":
         form = ThenPlainForm()
-        return render_to_response('add_rate_limit.html', {'form': form,},
-                                  context_instance=RequestContext(request))
-
+        return render(
+            request,
+            'add_rate_limit.html',
+            {
+                'form': form,
+            },
+        )
     else:
         form = ThenPlainForm(request.POST)
         if form.is_valid():
-            then=form.save(commit=False)
-            then.action_value = "%sk"%then.action_value
+            then = form.save(commit=False)
+            then.action_value = "%sk" % then.action_value
             then.save()
             response_data = {}
-            response_data['pk'] = "%s" %then.pk
-            response_data['value'] = "%s:%s" %(then.action, then.action_value)
-            return HttpResponse(json.dumps(response_data), mimetype='application/json')
+            response_data['pk'] = "%s" % then.pk
+            response_data['value'] = "%s:%s" % (then.action, then.action_value)
+            return HttpResponse(
+                json.dumps(response_data),
+                mimetype='application/json'
+            )
         else:
-            return render_to_response('add_rate_limit.html', {'form': form,},
-                                      context_instance=RequestContext(request))
+            return render(
+                request,
+                'add_rate_limit.html',
+                {
+                    'form': form,
+                },
+            )
+
 
 @login_required
 @never_cache
 def add_port(request):
     if request.method == "GET":
         form = PortPlainForm()
-        return render_to_response('add_port.html', {'form': form,},
-                                  context_instance=RequestContext(request))
-
+        return render(
+            'add_port.html',
+            {
+                'form': form,
+            },
+        )
     else:
         form = PortPlainForm(request.POST)
         if form.is_valid():
-            port=form.save()
+            port = form.save()
             response_data = {}
-            response_data['value'] = "%s" %port.pk
-            response_data['text'] = "%s" %port.port
-            return HttpResponse(json.dumps(response_data), mimetype='application/json')
+            response_data['value'] = "%s" % port.pk
+            response_data['text'] = "%s" % port.port
+            return HttpResponse(
+                json.dumps(response_data),
+                mimetype='application/json'
+            )
         else:
-            return render_to_response('add_port.html', {'form': form,},
-                                      context_instance=RequestContext(request))
+            return render(
+                'add_port.html',
+                {
+                    'form': form,
+                },
+            )
+
 
 @never_cache
 def selectinst(request):
@@ -537,10 +629,16 @@ def selectinst(request):
         request_data = request.POST.copy()
         user = request_data['user']
         try:
-            existingProfile = UserProfile.objects.get(user=user)
+            UserProfile.objects.get(user=user)
             error = _("Violation warning: User account is already associated with an institution.The event has been logged and our administrators will be notified about it")
-            return render_to_response('error.html', {'error': error, 'inactive': True},
-                                  context_instance=RequestContext(request))
+            return render(
+                request,
+                'error.html',
+                {
+                    'error': error,
+                    'inactive': True
+                },
+            )
         except UserProfile.DoesNotExist:
             pass
 
@@ -549,12 +647,25 @@ def selectinst(request):
             userprofile = form.save()
             user_activation_notify(userprofile.user)
             error = _("User account <strong>%s</strong> is pending activation. Administrators have been notified and will activate this account within the next days. <br>If this account has remained inactive for a long time contact your technical coordinator or GRNET Helpdesk") %userprofile.user.username
-            return render_to_response('error.html', {'error': error, 'inactive': True},
-                                  context_instance=RequestContext(request))
+            return render(
+                request,
+                'error.html',
+                {
+                    'error': error,
+                    'inactive': True
+                },
+            )
         else:
             form.fields['user'] = forms.ModelChoiceField(queryset=User.objects.filter(pk=user.pk), empty_label=None)
             form.fields['institution'] = forms.ModelChoiceField(queryset=Peer.objects.all(), empty_label=None)
-            return render_to_response('registration/select_institution.html', {'form': form}, context_instance=RequestContext(request))
+            return render(
+                request,
+                'registration/select_institution.html',
+                {
+                    'form': form
+                }
+            )
+
 
 @never_cache
 def overview(request):
@@ -562,15 +673,26 @@ def overview(request):
     if user.is_authenticated():
         if user.has_perm('accounts.overview'):
             users = User.objects.all()
-            return render_to_response('overview/index.html', {'users': users},
-                                  context_instance=RequestContext(request))
+            return render(
+                request,
+                'overview/index.html',
+                {
+                    'users': users
+                },
+            )
         else:
-            violation=True
-            return render_to_response('overview/index.html', {'violation': violation},
-                                  context_instance=RequestContext(request))
+            violation = True
+            return render(
+                request,
+                'overview/index.html',
+                {
+                    'violation': violation
+                },
+            )
     else:
         return HttpResponseRedirect(reverse("altlogin"))
 
+
 @login_required
 @never_cache
 def user_logout(request):
@@ -580,7 +702,7 @@ def user_logout(request):
 
 @never_cache
 def load_jscript(request, file):
-    long_polling_timeout = int(settings.POLL_SESSION_UPDATE)*1000 + 10000
+    long_polling_timeout = int(settings.POLL_SESSION_UPDATE) * 1000 + 10000
     return render_to_response('%s.js' % file, {'timeout': long_polling_timeout}, context_instance=RequestContext(request), mimetype="text/javascript")
 
 
-- 
GitLab