From b11055807faa93de512306038f22fff5122bc5ee Mon Sep 17 00:00:00 2001
From: Jan Dittberner <jan@dittberner.info>
Date: Sun, 22 Nov 2015 14:03:47 +0000
Subject: [PATCH] Clean PEP8 violations

---
 gnuviechadmin/domains/models.py               | 30 +++---
 gnuviechadmin/domains/tests/test_views.py     | 47 ++++++----
 gnuviechadmin/gnuviechadmin/celery.py         |  1 +
 .../gnuviechadmin/context_processors.py       |  1 -
 .../gnuviechadmin/settings/__init__.py        |  1 -
 gnuviechadmin/gnuviechadmin/settings/base.py  | 92 +++++++++----------
 gnuviechadmin/gnuviechadmin/settings/local.py | 20 ++--
 .../gnuviechadmin/settings/production.py      | 20 ++--
 .../gnuviechadmin/tests/test_wsgi.py          |  1 -
 gnuviechadmin/gnuviechadmin/wsgi.py           |  5 +-
 gnuviechadmin/hostingpackages/models.py       |  3 +-
 gnuviechadmin/hostingpackages/views.py        |  3 +-
 gnuviechadmin/ldaptasks/tasks.py              |  1 +
 gnuviechadmin/manage.py                       |  3 +-
 gnuviechadmin/managemails/models.py           |  4 +-
 gnuviechadmin/osusers/admin.py                |  8 +-
 gnuviechadmin/osusers/signals.py              | 29 +++---
 gnuviechadmin/osusers/tests/test_models.py    | 11 ++-
 gnuviechadmin/userdbs/models.py               |  3 +-
 gnuviechadmin/webtasks/tasks.py               |  2 +
 20 files changed, 153 insertions(+), 132 deletions(-)

diff --git a/gnuviechadmin/domains/models.py b/gnuviechadmin/domains/models.py
index 405b2b5..323d0da 100644
--- a/gnuviechadmin/domains/models.py
+++ b/gnuviechadmin/domains/models.py
@@ -153,7 +153,8 @@ class DNSDomain(DomainBase):
          type                  VARCHAR(6) NOT NULL,
          notified_serial       INT DEFAULT NULL,
          account               VARCHAR(40) DEFAULT NULL,
-         CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
+         CONSTRAINT c_lowercase_name CHECK (
+             ((name)::TEXT = LOWER((name)::TEXT)))
        );
 
        CREATE UNIQUE INDEX name_index ON domains(name);
@@ -162,8 +163,8 @@ class DNSDomain(DomainBase):
     # name is represented by domain
     master = models.CharField(max_length=128, blank=True, null=True)
     last_check = models.IntegerField(null=True)
-    domaintype = models.CharField(max_length=6, choices=DNS_DOMAIN_TYPES,
-            db_column='type')
+    domaintype = models.CharField(
+        max_length=6, choices=DNS_DOMAIN_TYPES, db_column='type')
     notified_serial = models.IntegerField(null=True)
     # account is represented by customer_id
     # check constraint is added via RunSQL in migration
@@ -200,20 +201,22 @@ class DNSRecord(models.Model):
          CONSTRAINT domain_exists
          FOREIGN KEY(domain_id) REFERENCES domains(id)
          ON DELETE CASCADE,
-         CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
+         CONSTRAINT c_lowercase_name CHECK (
+             ((name)::TEXT = LOWER((name)::TEXT)))
        );
 
        CREATE INDEX rec_name_index ON records(name);
        CREATE INDEX nametype_index ON records(name,type);
        CREATE INDEX domain_id ON records(domain_id);
-       CREATE INDEX recordorder ON records (domain_id, ordername text_pattern_ops);
+       CREATE INDEX recordorder ON records (
+           domain_id, ordername text_pattern_ops);
 
     """
     domain = models.ForeignKey('DNSDomain')
-    name = models.CharField(max_length=255, blank=True, null=True,
-            db_index=True)
-    recordtype = models.CharField(max_length=10, blank=True, null=True,
-            db_column='type')
+    name = models.CharField(
+        max_length=255, blank=True, null=True, db_index=True)
+    recordtype = models.CharField(
+        max_length=10, blank=True, null=True, db_column='type')
     content = models.CharField(max_length=65535, blank=True, null=True)
     ttl = models.IntegerField(null=True)
     prio = models.IntegerField(null=True)
@@ -291,7 +294,8 @@ class DNSComment(models.Model):
          CONSTRAINT domain_exists
          FOREIGN KEY(domain_id) REFERENCES domains(id)
          ON DELETE CASCADE,
-         CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
+         CONSTRAINT c_lowercase_name CHECK (
+             ((name)::TEXT = LOWER((name)::TEXT)))
        );
 
        CREATE INDEX comments_domain_id_idx ON comments (domain_id);
@@ -403,14 +407,16 @@ class DNSTSIGKey(models.Model):
          name                  VARCHAR(255),
          algorithm             VARCHAR(50),
          secret                VARCHAR(255),
-         CONSTRAINT c_lowercase_name CHECK (((name)::TEXT = LOWER((name)::TEXT)))
+         CONSTRAINT c_lowercase_name CHECK (
+             ((name)::TEXT = LOWER((name)::TEXT)))
        );
 
        CREATE UNIQUE INDEX namealgoindex ON tsigkeys(name, algorithm);
 
     """
     name = models.CharField(max_length=255)
-    algorithm = models.CharField(max_length=50, choices=DNS_TSIG_KEY_ALGORITHMS)
+    algorithm = models.CharField(
+        max_length=50, choices=DNS_TSIG_KEY_ALGORITHMS)
     secret = models.CharField(max_length=255)
     # check constraint is added via RunSQL in migration
 
diff --git a/gnuviechadmin/domains/tests/test_views.py b/gnuviechadmin/domains/tests/test_views.py
index 4873bcf..8577b39 100644
--- a/gnuviechadmin/domains/tests/test_views.py
+++ b/gnuviechadmin/domains/tests/test_views.py
@@ -41,8 +41,8 @@ class CreateHostingDomainTest(TestCase):
         return package
 
     def test_get_anonymous(self):
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': 1}))
+        response = self.client.get(
+            reverse('create_hosting_domain', kwargs={'package': 1}))
         self.assertEqual(response.status_code, 403)
 
     def test_get_regular_user(self):
@@ -50,8 +50,9 @@ class CreateHostingDomainTest(TestCase):
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         package = self._setup_hosting_package(customer)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': package.id}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}))
         self.assertEqual(response.status_code, 403)
 
     def test_get_staff_user(self):
@@ -60,8 +61,9 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': package.id}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}))
         self.assertEqual(response.status_code, 200)
 
     def test_get_template(self):
@@ -70,16 +72,18 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': package.id}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}))
         self.assertTemplateUsed(response, 'domains/hostingdomain_create.html')
 
     def test_get_no_package_found(self):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': 1}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': 1}))
         self.assertEqual(response.status_code, 404)
 
     def test_get_get_form_kwargs(self):
@@ -90,7 +94,7 @@ class CreateHostingDomainTest(TestCase):
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
         view = CreateHostingDomain(
             request=MagicMock(), kwargs={'package': str(package.id)})
-        the_kwargs= view.get_form_kwargs()
+        the_kwargs = view.get_form_kwargs()
         self.assertIn('hostingpackage', the_kwargs)
         self.assertEqual(the_kwargs['hostingpackage'], package)
 
@@ -100,8 +104,9 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': package.id}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}))
         self.assertIn('hostingpackage', response.context)
         self.assertEqual(response.context['hostingpackage'], package)
 
@@ -111,8 +116,9 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.get(reverse('create_hosting_domain',
-            kwargs={'package': package.id}))
+        response = self.client.get(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}))
         self.assertIn('customer', response.context)
         self.assertEqual(response.context['customer'], customer)
 
@@ -122,8 +128,10 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.post(reverse('create_hosting_domain',
-            kwargs={'package': package.id}), data={'domain': 'example.org'})
+        response = self.client.post(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}),
+            data={'domain': 'example.org'})
         self.assertRedirects(response, package.get_absolute_url())
 
     def test_form_valid_message(self):
@@ -132,8 +140,9 @@ class CreateHostingDomainTest(TestCase):
         admin = User.objects.create_superuser(
             TEST_USER, email=TEST_EMAIL, password=TEST_PASSWORD)
         self.client.login(username=TEST_USER, password=TEST_PASSWORD)
-        response = self.client.post(reverse('create_hosting_domain',
-            kwargs={'package': package.id}), follow=True,
+        response = self.client.post(
+            reverse('create_hosting_domain',
+                    kwargs={'package': package.id}), follow=True,
             data={'domain': 'example.org'})
         messages = list(response.context['messages'])
         self.assertEqual(len(messages), 1)
diff --git a/gnuviechadmin/gnuviechadmin/celery.py b/gnuviechadmin/gnuviechadmin/celery.py
index 285c2f6..b9a95d2 100644
--- a/gnuviechadmin/gnuviechadmin/celery.py
+++ b/gnuviechadmin/gnuviechadmin/celery.py
@@ -12,6 +12,7 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE',
 
 app = Celery('gnuviechadmin')
 
+
 def get_installed_apps():
     return settings.INSTALLED_APPS
 
diff --git a/gnuviechadmin/gnuviechadmin/context_processors.py b/gnuviechadmin/gnuviechadmin/context_processors.py
index 4221551..09f1226 100644
--- a/gnuviechadmin/gnuviechadmin/context_processors.py
+++ b/gnuviechadmin/gnuviechadmin/context_processors.py
@@ -13,7 +13,6 @@ from gnuviechadmin import __version__ as gvaversion
 _LOGGER = logging.getLogger(__name__)
 
 
-
 def navigation(request):
     """
     Add navigation items to the request context.
diff --git a/gnuviechadmin/gnuviechadmin/settings/__init__.py b/gnuviechadmin/gnuviechadmin/settings/__init__.py
index 8b13789..e69de29 100644
--- a/gnuviechadmin/gnuviechadmin/settings/__init__.py
+++ b/gnuviechadmin/gnuviechadmin/settings/__init__.py
@@ -1 +0,0 @@
-
diff --git a/gnuviechadmin/gnuviechadmin/settings/base.py b/gnuviechadmin/gnuviechadmin/settings/base.py
index 891811d..f5fdf4e 100644
--- a/gnuviechadmin/gnuviechadmin/settings/base.py
+++ b/gnuviechadmin/gnuviechadmin/settings/base.py
@@ -27,7 +27,7 @@ def get_env_variable(var_name):
         raise ImproperlyConfigured(error_msg)
 
 
-########## PATH CONFIGURATION
+# ######### PATH CONFIGURATION
 # Absolute filesystem path to the Django project directory:
 DJANGO_ROOT = dirname(dirname(abspath(__file__)))
 
@@ -40,19 +40,19 @@ SITE_NAME = basename(DJANGO_ROOT)
 # Add our project to our pythonpath, this way we don't need to type our project
 # name in our dotted import paths:
 path.append(DJANGO_ROOT)
-########## END PATH CONFIGURATION
+# ######### END PATH CONFIGURATION
 
 
-########## DEBUG CONFIGURATION
+# ######### DEBUG CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug
 DEBUG = False
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug
 TEMPLATE_DEBUG = DEBUG
-########## END DEBUG CONFIGURATION
+# ######### END DEBUG CONFIGURATION
 
 
-########## MANAGER CONFIGURATION
+# ######### MANAGER CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#admins
 ADMINS = (
     (get_env_variable('GVA_ADMIN_NAME'), get_env_variable('GVA_ADMIN_EMAIL')),
@@ -60,10 +60,10 @@ ADMINS = (
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#managers
 MANAGERS = ADMINS
-########## END MANAGER CONFIGURATION
+# ######### END MANAGER CONFIGURATION
 
 
-########## DATABASE CONFIGURATION
+# ######### DATABASE CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#databases
 DATABASES = {
     'default': {
@@ -75,10 +75,10 @@ DATABASES = {
         'PORT': get_env_variable('GVA_PGSQL_PORT'),
     }
 }
-########## END DATABASE CONFIGURATION
+# ######### END DATABASE CONFIGURATION
 
 
-########## GENERAL CONFIGURATION
+# ######### GENERAL CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#time-zone
 TIME_ZONE = 'Europe/Berlin'
 
@@ -98,7 +98,7 @@ USE_L10N = True
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#use-tz
 USE_TZ = True
-########## END GENERAL CONFIGURATION
+# ######### END GENERAL CONFIGURATION
 
 
 LOCALE_PATHS = (
@@ -106,59 +106,59 @@ LOCALE_PATHS = (
 )
 
 
-########## MEDIA CONFIGURATION
+# ######### MEDIA CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#media-root
 MEDIA_ROOT = normpath(join(SITE_ROOT, 'media'))
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#media-url
 MEDIA_URL = '/media/'
-########## END MEDIA CONFIGURATION
+# ######### END MEDIA CONFIGURATION
 
 
-########## STATIC FILE CONFIGURATION
+# ######### STATIC FILE CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-root
 STATIC_ROOT = normpath(join(SITE_ROOT, 'assets'))
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#static-url
 STATIC_URL = '/static/'
 
-# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS
+# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#std:setting-STATICFILES_DIRS  # noqa
 STATICFILES_DIRS = (
     normpath(join(SITE_ROOT, 'static')),
 )
 
-# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders
+# See: https://docs.djangoproject.com/en/dev/ref/contrib/staticfiles/#staticfiles-finders  # noqa
 STATICFILES_FINDERS = (
     'django.contrib.staticfiles.finders.FileSystemFinder',
     'django.contrib.staticfiles.finders.AppDirectoriesFinder',
 )
-########## END STATIC FILE CONFIGURATION
+# ######### END STATIC FILE CONFIGURATION
 
 
-########## SECRET CONFIGURATION
+# ######### SECRET CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#secret-key
 # Note: This key should only be used for development and testing.
 SECRET_KEY = get_env_variable('GVA_SITE_SECRET')
-########## END SECRET CONFIGURATION
+# ######### END SECRET CONFIGURATION
 
 
-########## SITE CONFIGURATION
+# ######### SITE CONFIGURATION
 # Hosts/domain names that are valid for this site
 # See https://docs.djangoproject.com/en/1.5/ref/settings/#allowed-hosts
 ALLOWED_HOSTS = []
-########## END SITE CONFIGURATION
+# ######### END SITE CONFIGURATION
 
 
-########## FIXTURE CONFIGURATION
-# See: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS
+# ######### FIXTURE CONFIGURATION
+# See: https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-FIXTURE_DIRS  # noqa
 FIXTURE_DIRS = (
     normpath(join(SITE_ROOT, 'fixtures')),
 )
-########## END FIXTURE CONFIGURATION
+# ######### END FIXTURE CONFIGURATION
 
 
-########## TEMPLATE CONFIGURATION
-# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors
+# ######### TEMPLATE CONFIGURATION
+# See: https://docs.djangoproject.com/en/dev/ref/settings/#template-context-processors  # noqa
 TEMPLATE_CONTEXT_PROCESSORS = (
     'django.contrib.auth.context_processors.auth',
     'django.core.context_processors.debug',
@@ -186,10 +186,10 @@ TEMPLATE_LOADERS = (
 TEMPLATE_DIRS = (
     normpath(join(SITE_ROOT, 'templates')),
 )
-########## END TEMPLATE CONFIGURATION
+# ######### END TEMPLATE CONFIGURATION
 
 
-########## MIDDLEWARE CONFIGURATION
+# ######### MIDDLEWARE CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#middleware-classes
 MIDDLEWARE_CLASSES = (
     # Default Django middleware.
@@ -202,7 +202,7 @@ MIDDLEWARE_CLASSES = (
     'django.middleware.locale.LocaleMiddleware',
     'django.middleware.clickjacking.XFrameOptionsMiddleware',
 )
-########## END MIDDLEWARE CONFIGURATION
+# ######### END MIDDLEWARE CONFIGURATION
 
 
 AUTHENTICATION_BACKENDS = (
@@ -214,18 +214,18 @@ AUTHENTICATION_BACKENDS = (
 )
 
 
-########## URL CONFIGURATION
+# ######### URL CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#root-urlconf
 ROOT_URLCONF = '%s.urls' % SITE_NAME
-########## END URL CONFIGURATION
+# ######### END URL CONFIGURATION
 
 
-########## TEST RUNNER CONFIGURATION
+# ######### TEST RUNNER CONFIGURATION
 TEST_RUNNER = 'django.test.runner.DiscoverRunner'
-########## END TEST RUNNER CONFIGURATION
+# ######### END TEST RUNNER CONFIGURATION
 
 
-########## APP CONFIGURATION
+# ######### APP CONFIGURATION
 DJANGO_APPS = (
     # Default Django apps:
     'django.contrib.auth',
@@ -285,23 +285,23 @@ MESSAGE_TAGS = {
     messages.SUCCESS: 'alert-success',
     messages.WARNING: 'alert-warning',
 }
-########## END APP CONFIGURATION
+# ######### END APP CONFIGURATION
 
 
-########## ALLAUTH CONFIGURATION
+# ######### ALLAUTH CONFIGURATION
 ACCOUNT_EMAIL_REQUIRED = True
 ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
 LOGIN_REDIRECT_URL = '/'
 SOCIALACCOUNT_QUERY_EMAIL = True
-########## END ALLAUTH CONFIGURATION
+# ######### END ALLAUTH CONFIGURATION
 
 
-########## CRISPY FORMS CONFIGURATION
+# ######### CRISPY FORMS CONFIGURATION
 CRISPY_TEMPLATE_PACK = 'bootstrap3'
-########## END CRISPY_FORMS CONFIGURATION
+# ######### END CRISPY_FORMS CONFIGURATION
 
 
-########## LOGGING CONFIGURATION
+# ######### LOGGING CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#logging
 # A sample logging configuration. The only tangible logging
 # performed by this configuration is to send an email to
@@ -340,16 +340,16 @@ LOGGING = {
         },
     }
 }
-########## END LOGGING CONFIGURATION
+# ######### END LOGGING CONFIGURATION
 
 
-########## WSGI CONFIGURATION
+# ######### WSGI CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#wsgi-application
 WSGI_APPLICATION = '%s.wsgi.application' % SITE_NAME
-########## END WSGI CONFIGURATION
+# ######### END WSGI CONFIGURATION
 
 
-########## CELERY CONFIGURATION
+# ######### CELERY CONFIGURATION
 BROKER_URL = get_env_variable('GVA_BROKER_URL')
 CELERY_RESULT_BACKEND = 'amqp'
 CELERY_RESULT_PERSISTENT = True
@@ -362,10 +362,10 @@ CELERY_ENABLE_UTC = True
 CELERY_ACCEPT_CONTENT = ['json']
 CELERY_TASK_SERIALIZER = 'json'
 CELERY_RESULT_SERIALIZER = 'json'
-########## END CELERY CONFIGURATION
+# ######### END CELERY CONFIGURATION
 
 
-########## CUSTOM APP CONFIGURATION
+# ######### CUSTOM APP CONFIGURATION
 OSUSER_MINUID = int(get_env_variable('GVA_MIN_OS_UID'))
 OSUSER_MINGID = int(get_env_variable('GVA_MIN_OS_GID'))
 OSUSER_USERNAME_PREFIX = get_env_variable('GVA_OSUSER_PREFIX')
@@ -379,4 +379,4 @@ OSUSER_UPLOAD_SERVER = get_env_variable('GVA_OSUSER_UPLOADSERVER')
 GVA_LINK_WEBMAIL = get_env_variable('GVA_WEBMAIL_URL')
 GVA_LINK_PHPMYADMIN = get_env_variable('GVA_PHPMYADMIN_URL')
 GVA_LINK_PHPPGADMIN = get_env_variable('GVA_PHPPGADMIN_URL')
-########## END CUSTOM APP CONFIGURATION
+# ######### END CUSTOM APP CONFIGURATION
diff --git a/gnuviechadmin/gnuviechadmin/settings/local.py b/gnuviechadmin/gnuviechadmin/settings/local.py
index 14c7139..9eba627 100644
--- a/gnuviechadmin/gnuviechadmin/settings/local.py
+++ b/gnuviechadmin/gnuviechadmin/settings/local.py
@@ -7,33 +7,33 @@ from __future__ import absolute_import
 from .base import *
 
 
-########## DEBUG CONFIGURATION
+# ######### DEBUG CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#debug
 DEBUG = True
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#template-debug
 TEMPLATE_DEBUG = DEBUG
-########## END DEBUG CONFIGURATION
+# ######### END DEBUG CONFIGURATION
 
 
-########## EMAIL CONFIGURATION
+# ######### EMAIL CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
 EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
-########## END EMAIL CONFIGURATION
+# ######### END EMAIL CONFIGURATION
 
 
-########## CACHE CONFIGURATION
+# ######### CACHE CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#caches
 CACHES = {
     'default': {
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
     }
 }
-########## END CACHE CONFIGURATION
+# ######### END CACHE CONFIGURATION
 
 
-########## TOOLBAR CONFIGURATION
-# See: http://django-debug-toolbar.readthedocs.org/en/latest/installation.html#explicit-setup
+# ######### TOOLBAR CONFIGURATION
+# See: http://django-debug-toolbar.readthedocs.org/en/latest/installation.html#explicit-setup # noqa
 INSTALLED_APPS += (
     'debug_toolbar',
 )
@@ -50,7 +50,7 @@ LOGGING['handlers'].update({
     }
 })
 LOGGING['loggers'].update(dict(
-    [(key, {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True,})
+    [(key, {'handlers': ['console'], 'level': 'DEBUG', 'propagate': True, })
         for key in [
             'dashboard', 'domains', 'fileservertasks', 'gvacommon',
             'gvawebcore', 'hostingpackages', 'ldaptasks', 'managemails',
@@ -61,4 +61,4 @@ DEBUG_TOOLBAR_PATCH_SETTINGS = False
 
 # http://django-debug-toolbar.readthedocs.org/en/latest/installation.html
 INTERNAL_IPS = ('127.0.0.1', '10.0.2.2')
-########## END TOOLBAR CONFIGURATION
+# ######### END TOOLBAR CONFIGURATION
diff --git a/gnuviechadmin/gnuviechadmin/settings/production.py b/gnuviechadmin/gnuviechadmin/settings/production.py
index f19e735..a1ed73f 100644
--- a/gnuviechadmin/gnuviechadmin/settings/production.py
+++ b/gnuviechadmin/gnuviechadmin/settings/production.py
@@ -6,12 +6,12 @@ from __future__ import absolute_import
 
 from .base import *
 
-########## HOST CONFIGURATION
-# See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production
+# ######### HOST CONFIGURATION
+# See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production # noqa
 ALLOWED_HOSTS = [SITES_DOMAIN_NAME]
-########## END HOST CONFIGURATION
+# ######### END HOST CONFIGURATION
 
-########## EMAIL CONFIGURATION
+# ######### EMAIL CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#email-backend
 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
 
@@ -23,14 +23,14 @@ DEFAULT_FROM_EMAIL = get_env_variable('GVA_SITE_ADMINMAIL')
 
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#server-email
 SERVER_EMAIL = get_env_variable('GVA_SITE_ADMINMAIL')
-########## END EMAIL CONFIGURATION
+# ######### END EMAIL CONFIGURATION
 
-########## CACHE CONFIGURATION
+# ######### CACHE CONFIGURATION
 # See: https://docs.djangoproject.com/en/dev/ref/settings/#caches
-#CACHES = {}
-########## END CACHE CONFIGURATION
+# CACHES = {}
+# ######### END CACHE CONFIGURATION
 
-########## ALLAUTH PRODUCTION CONFIGURATION
+# ######### ALLAUTH PRODUCTION CONFIGURATION
 ACCOUNT_EMAIL_SUBJECT_PREFIX = '[Jan Dittberner IT-Consulting & -Solutions] '
 ACCOUNT_DEFAULT_HTTP_PROTOCOL = 'https'
-########## END ALLAUTH PRODUCTION CONFIGURATION
+# ######### END ALLAUTH PRODUCTION CONFIGURATION
diff --git a/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py b/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py
index 022a0ec..0aa9b53 100644
--- a/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py
+++ b/gnuviechadmin/gnuviechadmin/tests/test_wsgi.py
@@ -8,4 +8,3 @@ class WSGITest(TestCase):
     def test_wsgi_application(self):
         from gnuviechadmin import wsgi
         self.assertIsNotNone(wsgi.application)
-
diff --git a/gnuviechadmin/gnuviechadmin/wsgi.py b/gnuviechadmin/gnuviechadmin/wsgi.py
index df7c0c9..04d5488 100644
--- a/gnuviechadmin/gnuviechadmin/wsgi.py
+++ b/gnuviechadmin/gnuviechadmin/wsgi.py
@@ -24,12 +24,13 @@ path.append(SITE_ROOT)
 # if running multiple sites in the same mod_wsgi process. To fix this, use
 # mod_wsgi daemon mode with each site in its own daemon process, or use
 # os.environ["DJANGO_SETTINGS_MODULE"] = "jajaja.settings"
-os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.production")
+os.environ.setdefault(
+    "DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.production")
 
 # This application object is used by any WSGI server configured to use this
 # file. This includes Django's development server, if the WSGI_APPLICATION
 # setting points here.
-from django.core.wsgi import get_wsgi_application
+from django.core.wsgi import get_wsgi_application  # noqa
 application = get_wsgi_application()
 
 # Apply WSGI middleware here.
diff --git a/gnuviechadmin/hostingpackages/models.py b/gnuviechadmin/hostingpackages/models.py
index 2e5ff43..f1d8735 100644
--- a/gnuviechadmin/hostingpackages/models.py
+++ b/gnuviechadmin/hostingpackages/models.py
@@ -362,8 +362,7 @@ class CustomerHostingPackage(HostingPackageBase):
     def may_add_database(self):
         return (
             CustomerUserDatabaseOption.objects.filter(
-            hosting_package=self).count()
-            >
+                hosting_package=self).count() >
             UserDatabase.objects.filter(
                 db_user__osuser=self.osuser).count()
         )
diff --git a/gnuviechadmin/hostingpackages/views.py b/gnuviechadmin/hostingpackages/views.py
index abe265e..d07f4cc 100644
--- a/gnuviechadmin/hostingpackages/views.py
+++ b/gnuviechadmin/hostingpackages/views.py
@@ -80,7 +80,8 @@ class CreateCustomerHostingPackage(CreateHostingPackage):
             get_user_model(), username=self.kwargs['user'])
 
     def get_context_data(self, **kwargs):
-        context = super(CreateCustomerHostingPackage, self).get_context_data(**kwargs)
+        context = super(
+            CreateCustomerHostingPackage, self).get_context_data(**kwargs)
         context['customer'] = self.get_customer_object()
         return context
 
diff --git a/gnuviechadmin/ldaptasks/tasks.py b/gnuviechadmin/ldaptasks/tasks.py
index c90dd4f..72acd8d 100644
--- a/gnuviechadmin/ldaptasks/tasks.py
+++ b/gnuviechadmin/ldaptasks/tasks.py
@@ -7,6 +7,7 @@ from __future__ import absolute_import
 
 from celery import shared_task
 
+
 @shared_task
 def create_ldap_group(groupname, gid, descr):
     """
diff --git a/gnuviechadmin/manage.py b/gnuviechadmin/manage.py
index c950b97..c6003db 100755
--- a/gnuviechadmin/manage.py
+++ b/gnuviechadmin/manage.py
@@ -3,7 +3,8 @@ import os
 import sys
 
 if __name__ == "__main__":
-    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.local")
+    os.environ.setdefault(
+        "DJANGO_SETTINGS_MODULE", "gnuviechadmin.settings.local")
 
     from django.core.management import execute_from_command_line
 
diff --git a/gnuviechadmin/managemails/models.py b/gnuviechadmin/managemails/models.py
index 397189e..b8d15f1 100644
--- a/gnuviechadmin/managemails/models.py
+++ b/gnuviechadmin/managemails/models.py
@@ -200,12 +200,12 @@ class MailAddress(ActivateAbleMixin, TimeStampedModel, models.Model):
             forwards = MailAddressForward.objects.filter(
                 mailaddress=self).all()
             for item in forwards:
-                if not item.target in addresses:
+                if item.target not in addresses:
                     item.delete()
                 else:
                     retval.append(item)
             for target in addresses:
-                if not target in [item.target for item in forwards]:
+                if target not in [item.target for item in forwards]:
                     mafwd = MailAddressForward(mailaddress=self, target=target)
                     if commit:
                         mafwd.save()
diff --git a/gnuviechadmin/osusers/admin.py b/gnuviechadmin/osusers/admin.py
index 91df5a8..e622fab 100644
--- a/gnuviechadmin/osusers/admin.py
+++ b/gnuviechadmin/osusers/admin.py
@@ -349,10 +349,10 @@ class SshPublicKeyAdmin(admin.ModelAdmin):
         for user in users:
             TaskResult.objects.create_task_result(
                 set_file_ssh_authorized_keys.delay(
-                    User.objects.get(uid=user).username, [
-                    str(key) for key in SshPublicKey.objects.filter(
-                        user_id=user)
-                ]),
+                    User.objects.get(uid=user).username,
+                    [str(key) for key in SshPublicKey.objects.filter(
+                        user_id=user)]
+                ),
                 'set_file_ssh_authorized_keys'
             )
     perform_delete_selected.short_description = _(
diff --git a/gnuviechadmin/osusers/signals.py b/gnuviechadmin/osusers/signals.py
index 8796554..bb76ee5 100644
--- a/gnuviechadmin/osusers/signals.py
+++ b/gnuviechadmin/osusers/signals.py
@@ -55,11 +55,11 @@ def handle_user_password_set(sender, instance, password, **kwargs):
         taskresult.task_id)
 
 
-#@receiver(post_save)
-#def handle_post_save(sender, **kwargs):
-#    _LOGGER.debug(
-#        'handling post_save signal for %s with args %s',
-#        sender, kwargs)
+# @receiver(post_save)
+# def handle_post_save(sender, **kwargs):
+#     _LOGGER.debug(
+#         'handling post_save signal for %s with args %s',
+#         sender, kwargs)
 
 
 @receiver(post_save, sender=Group)
@@ -82,7 +82,8 @@ def handle_user_created(sender, instance, created, **kwargs):
         chain = create_ldap_user.s(
                 instance.username, instance.uid, instance.group.gid,
                 instance.gecos, instance.homedir, instance.shell, None
-            ) | setup_file_sftp_userdir.s(instance.username
+            ) | setup_file_sftp_userdir.s(
+                instance.username
             ) | setup_file_mail_userdir.s(instance.username)
         taskresult = TaskResult.objects.create_task_result(
             'handle_user_created', chain)
@@ -119,11 +120,11 @@ def handle_ssh_keys_changed(sender, instance, **kwargs):
         taskresult.task_id)
 
 
-#@receiver(post_delete)
-#def handle_post_delete(sender, **kwargs):
-#    _LOGGER.debug(
-#        'handling post_delete signal for %s with args %s',
-#        sender, kwargs)
+# @receiver(post_delete)
+# def handle_post_delete(sender, **kwargs):
+#     _LOGGER.debug(
+#         'handling post_delete signal for %s with args %s',
+#         sender, kwargs)
 
 
 @receiver(post_delete, sender=Group)
@@ -138,8 +139,10 @@ def handle_group_deleted(sender, instance, **kwargs):
 
 @receiver(post_delete, sender=User)
 def handle_user_deleted(sender, instance, **kwargs):
-    chain = delete_file_mail_userdir.s(instance.username
-        ) | delete_file_sftp_userdir.s(instance.username
+    chain = delete_file_mail_userdir.s(
+            instance.username
+        ) | delete_file_sftp_userdir.s(
+            instance.username
         ) | delete_ldap_user.s(instance.username)
     _LOGGER.debug('chain signature %s', chain)
     taskresult = TaskResult.objects.create_task_result(
diff --git a/gnuviechadmin/osusers/tests/test_models.py b/gnuviechadmin/osusers/tests/test_models.py
index 4189904..50ed035 100644
--- a/gnuviechadmin/osusers/tests/test_models.py
+++ b/gnuviechadmin/osusers/tests/test_models.py
@@ -56,10 +56,10 @@ sY29ouezv4Xz2PuMch5VGPP+CDqzCM4loWgV
 ---- END SSH2 PUBLIC KEY ----"""
 
 EXAMPLE_KEY_4_OPENSSH = "".join((
-"ssh-rsa ",
-"AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb",
-"YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ",
-"5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE="
+    "ssh-rsa ",
+    "AAAAB3NzaC1yc2EAAAABIwAAAIEA1on8gxCGJJWSRT4uOrR13mUaUk0hRf4RzxSZ1zRb",
+    "YYFw8pfGesIFoEuVth4HKyF8k1y4mRUnYHP1XNMNMJl1JcEArC2asV8sHf6zSPVffozZ",
+    "5TT4SfsUu/iKy9lUcCfXzwre4WWZSXXcPff+EHtWshahu3WzBdnGxm5Xoi89zcE="
 ))
 
 EXAMPLE_KEY_5_RFC4716_MULTILINE = """---- BEGIN SSH2 PUBLIC KEY ----
@@ -392,7 +392,8 @@ class UserTest(TestCaseWithCeleryTasks):
         self.assertEqual(len(taskres), 5)
         creators = [t.creator for t in taskres]
         for tcount, tcreator in [
-                (2, 'handle_user_removed_from_group'), (2, 'handle_user_deleted'),
+                (2, 'handle_user_removed_from_group'),
+                (2, 'handle_user_deleted'),
                 (1, 'handle_group_deleted')]:
             self.assertEqual(creators.count(tcreator), tcount)
         self.assertEqual(len(User.objects.all()), 0)
diff --git a/gnuviechadmin/userdbs/models.py b/gnuviechadmin/userdbs/models.py
index 4cc2b76..adcc2e7 100644
--- a/gnuviechadmin/userdbs/models.py
+++ b/gnuviechadmin/userdbs/models.py
@@ -98,7 +98,6 @@ class DatabaseUserManager(models.Manager):
         return db_user
 
 
-
 @python_2_unicode_compatible
 class DatabaseUser(TimeStampedModel, models.Model):
     osuser = models.ForeignKey(OsUser)
@@ -204,7 +203,7 @@ class UserDatabaseManager(models.Manager):
 
     @transaction.atomic
     def create_userdatabase_with_user(
-        self, db_type, osuser, password=None, commit=True):
+            self, db_type, osuser, password=None, commit=True):
         """
         Creates a new user database with a new user.
 
diff --git a/gnuviechadmin/webtasks/tasks.py b/gnuviechadmin/webtasks/tasks.py
index e7e1bf9..4abd4af 100644
--- a/gnuviechadmin/webtasks/tasks.py
+++ b/gnuviechadmin/webtasks/tasks.py
@@ -47,6 +47,7 @@ def enable_web_vhost(sitename):
 
     """
 
+
 @shared_task
 def delete_web_vhost_config(sitename):
     """
@@ -70,6 +71,7 @@ def create_web_php_fpm_pool_config(username):
 
     """
 
+
 @shared_task
 def delete_web_php_fpm_pool_config(username):
     """