From 4c4c08d4531301444cff5419852af74fd8382742 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Wed, 1 Jan 2020 18:14:57 +0100 Subject: [PATCH 01/10] Drop Python 2.7 from tests and doc --- .travis.yml | 1 - doc/manual_installation/webserver.rst | 2 +- setup.py | 4 +--- tox.ini | 2 +- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index bd2a64415..aa10d1193 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,5 @@ language: python python: - - '2.7' - '3.5' - '3.6' - '3.7' diff --git a/doc/manual_installation/webserver.rst b/doc/manual_installation/webserver.rst index 8f528fb88..648f4bb38 100644 --- a/doc/manual_installation/webserver.rst +++ b/doc/manual_installation/webserver.rst @@ -50,7 +50,7 @@ This is just one possible configuration. To use mod_wsgi daemon mode, add the two following directives just under ``WSGIScriptAlias``:: - WSGIDaemonProcess example.com python-path=:/lib/python2.7/site-packages + WSGIDaemonProcess example.com python-path=:/lib/python3.7/site-packages WSGIProcessGroup example.com Replace values between ``<>`` with yours. If you don't use a diff --git a/setup.py b/setup.py index 6acb51e3b..3eb2f2d80 100644 --- a/setup.py +++ b/setup.py @@ -60,12 +60,10 @@ if __name__ == "__main__": "Intended Audience :: System Administrators", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: OS Independent", - "Programming Language :: Python :: 2", - "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", + "Programming Language :: Python :: 3.7", "Topic :: Communications :: Email", "Topic :: Internet :: WWW/HTTP", ], diff --git a/tox.ini b/tox.ini index 523669065..acb3a43a4 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{27,35,36,37} +envlist = py{35,36,37} [testenv] changedir = test_project From d06692e06a197251e8e99e1e79578a8b79ad0027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Wed, 1 Jan 2020 18:22:42 +0100 Subject: [PATCH 02/10] Bump requirements versions Each package version is updated to use the last one if it doesn't require code changes. Only Django REST Framework is currently stuck on release 3.7 since breaking changes and deprecations come with newer releases. --- mysql-requirements.txt | 2 +- requirements.txt | 20 +++++++++----------- test-requirements.txt | 5 ++--- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/mysql-requirements.txt b/mysql-requirements.txt index 8786ce81c..ea498b097 100644 --- a/mysql-requirements.txt +++ b/mysql-requirements.txt @@ -1 +1 @@ -mysqlclient<=1.3.99 +mysqlclient<=1.4.99 diff --git a/requirements.txt b/requirements.txt index eb80cd838..ab9d46428 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,24 +1,23 @@ django>=1.11.8,<=1.11.99 -django-braces==1.11.0 -django-ckeditor==5.2.2 -django-reversion==2.0.12 +django-braces==1.14.0 +django-ckeditor==5.8.0 +django-reversion==3.0.5 django-subcommand2==0.1.1 django-xforwardedfor-middleware==2.0 dj-database-url coreapi==2.3.3 -coreapi-cli==1.0.6 -djangorestframework==3.7.3 +coreapi-cli==1.0.9 +djangorestframework==3.7.7 -# bcrypt requires libffi-dev -bcrypt==3.1.4 -dnspython==1.15.0 +passlib==1.7.2 +bcrypt # Requires libffi-dev and python-dev + +dnspython==1.16.0 feedparser==5.2.1 gevent==1.4.0 -ipaddress; python_version < '3.3' jsonfield==2.0.2 -passlib==1.7.1 Pillow # Optional dependency for django-ckeditor progressbar33==2.4 py-dateutil==2.2 @@ -27,5 +26,4 @@ pytz requests rfc6266 lxml -backports.csv; python_version < '3' chardet diff --git a/test-requirements.txt b/test-requirements.txt index 2b7bf52d0..213307c99 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1,6 +1,5 @@ argon2-cffi>=16.1.0 factory-boy>=2.4 -mock==2.0.0; python_version < '3.3' -httmock==1.2.5 -testfixtures==4.7.0 +httmock==1.3.0 +testfixtures==6.10.3 tox From 0e8c320695cd220bb64dc610c7665c218187236c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Wed, 1 Jan 2020 18:59:56 +0100 Subject: [PATCH 03/10] Bump djangorestframework to 3.9 and adapt the code See: https://www.django-rest-framework.org/community/3.9-announcement/ The 3.10 release begins the deprecation process for the CoreAPI based schema generation and requires thus more changes - especially for the documentation. --- modoboa/admin/api.py | 6 +++--- modoboa/admin/urls_api.py | 10 +++++----- modoboa/limits/urls_api.py | 2 +- modoboa/relaydomains/urls_api.py | 2 +- requirements.txt | 2 +- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/modoboa/admin/api.py b/modoboa/admin/api.py index 3ca68504b..061637973 100644 --- a/modoboa/admin/api.py +++ b/modoboa/admin/api.py @@ -8,7 +8,7 @@ from django import http from django.contrib.contenttypes.models import ContentType from rest_framework import filters, status, viewsets -from rest_framework.decorators import detail_route, list_route +from rest_framework.decorators import action from rest_framework.exceptions import ParseError from rest_framework.permissions import DjangoModelPermissions, IsAuthenticated from rest_framework.response import Response @@ -86,7 +86,7 @@ class AccountViewSet(viewsets.ModelViewSet): queryset = queryset.filter(mailbox__domain__name=domain) return queryset - @detail_route(methods=["put"]) + @action(methods=["put"], detail=True) def password(self, request, pk=None): """Change account password.""" try: @@ -100,7 +100,7 @@ class AccountViewSet(viewsets.ModelViewSet): return Response( serializer.errors, status=status.HTTP_400_BAD_REQUEST) - @list_route() + @action(detail=False) def exists(self, request): """Check if account exists. diff --git a/modoboa/admin/urls_api.py b/modoboa/admin/urls_api.py index 63bad995f..4227d9cfa 100644 --- a/modoboa/admin/urls_api.py +++ b/modoboa/admin/urls_api.py @@ -9,12 +9,12 @@ from rest_framework import routers from . import api router = routers.SimpleRouter() -router.register(r"domains", api.DomainViewSet, base_name="domain") +router.register(r"domains", api.DomainViewSet, basename="domain") router.register( - r"domainaliases", api.DomainAliasViewSet, base_name="domain_alias") -router.register(r"accounts", api.AccountViewSet, base_name="account") -router.register(r"aliases", api.AliasViewSet, base_name="alias") + r"domainaliases", api.DomainAliasViewSet, basename="domain_alias") +router.register(r"accounts", api.AccountViewSet, basename="account") +router.register(r"aliases", api.AliasViewSet, basename="alias") router.register( - r"senderaddresses", api.SenderAddressViewSet, base_name="sender_address") + r"senderaddresses", api.SenderAddressViewSet, basename="sender_address") urlpatterns = router.urls diff --git a/modoboa/limits/urls_api.py b/modoboa/limits/urls_api.py index 8295e069f..39c2e4f03 100644 --- a/modoboa/limits/urls_api.py +++ b/modoboa/limits/urls_api.py @@ -10,6 +10,6 @@ from . import viewsets router = routers.SimpleRouter() router.register( - r"resources", viewsets.ResourcesViewSet, base_name="resources") + r"resources", viewsets.ResourcesViewSet, basename="resources") urlpatterns = router.urls diff --git a/modoboa/relaydomains/urls_api.py b/modoboa/relaydomains/urls_api.py index 56b3562b1..275a160dc 100644 --- a/modoboa/relaydomains/urls_api.py +++ b/modoboa/relaydomains/urls_api.py @@ -10,5 +10,5 @@ from . import viewsets router = routers.SimpleRouter() router.register( - r"relaydomains", viewsets.RelayDomainViewSet, base_name="relaydomain") + r"relaydomains", viewsets.RelayDomainViewSet, basename="relaydomain") urlpatterns = router.urls diff --git a/requirements.txt b/requirements.txt index ab9d46428..5f09d4a98 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,7 +9,7 @@ dj-database-url coreapi==2.3.3 coreapi-cli==1.0.9 -djangorestframework==3.7.7 +djangorestframework>=3.9,<3.10 passlib==1.7.2 bcrypt # Requires libffi-dev and python-dev From 74d66c00a0c4eac627d9297a5eca76b44efdc0b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 12:16:25 +0100 Subject: [PATCH 04/10] Update imports for Python 3.4+ --- bin/modoboa-admin.py | 2 -- modoboa/__init__.py | 2 -- modoboa/admin/__init__.py | 2 -- modoboa/admin/api.py | 2 -- modoboa/admin/app_settings.py | 2 -- modoboa/admin/apps.py | 2 -- modoboa/admin/constants.py | 2 -- modoboa/admin/factories.py | 2 -- modoboa/admin/forms/__init__.py | 2 -- modoboa/admin/forms/account.py | 2 -- modoboa/admin/forms/alias.py | 2 -- modoboa/admin/forms/domain.py | 2 -- modoboa/admin/forms/export.py | 2 -- modoboa/admin/forms/forward.py | 2 -- modoboa/admin/forms/import_.py | 2 -- modoboa/admin/handlers.py | 2 -- modoboa/admin/lib.py | 2 -- .../management/commands/handle_mailbox_operations.py | 2 -- modoboa/admin/management/commands/modo.py | 2 -- .../admin/management/commands/subcommands/_export.py | 2 -- .../admin/management/commands/subcommands/_import.py | 2 -- .../commands/subcommands/_manage_dkim_keys.py | 2 -- modoboa/admin/management/commands/subcommands/_mx.py | 2 -- .../admin/management/commands/subcommands/_repair.py | 2 -- modoboa/admin/migrations/0001_initial.py | 2 -- .../migrations/0002_migrate_from_modoboa_admin.py | 2 -- modoboa/admin/migrations/0003_auto_20151118_1215.py | 2 -- modoboa/admin/migrations/0004_auto_20160914_0907.py | 2 -- modoboa/admin/migrations/0005_auto_20161026_1003.py | 2 -- modoboa/admin/migrations/0006_auto_20161104_1900.py | 2 -- modoboa/admin/migrations/0007_auto_20161104_1915.py | 2 -- .../admin/migrations/0008_domain_enable_dns_checks.py | 2 -- modoboa/admin/migrations/0009_auto_20170215_0948.py | 2 -- modoboa/admin/migrations/0010_auto_20170215_1328.py | 2 -- modoboa/admin/migrations/0011_domain_transport.py | 2 -- modoboa/admin/migrations/0012_auto_20180112_1658.py | 2 -- modoboa/admin/migrations/0013_auto_20180124_2311.py | 2 -- modoboa/admin/migrations/0014_auto_20181017_1628.py | 2 -- modoboa/admin/migrations/__init__.py | 1 - modoboa/admin/models/__init__.py | 2 -- modoboa/admin/models/alias.py | 2 -- modoboa/admin/models/base.py | 2 -- modoboa/admin/models/domain.py | 2 -- modoboa/admin/models/domain_alias.py | 2 -- modoboa/admin/models/mailbox.py | 2 -- modoboa/admin/models/mxrecord.py | 2 -- modoboa/admin/postfix_maps.py | 3 --- modoboa/admin/serializers.py | 2 -- modoboa/admin/signals.py | 2 -- modoboa/admin/templatetags/admin_tags.py | 2 -- modoboa/admin/tests/test_account.py | 2 -- modoboa/admin/tests/test_alias.py | 2 -- modoboa/admin/tests/test_api.py | 10 +--------- modoboa/admin/tests/test_domain.py | 10 +--------- modoboa/admin/tests/test_domain_alias.py | 2 -- modoboa/admin/tests/test_export.py | 2 -- modoboa/admin/tests/test_import_.py | 10 +--------- modoboa/admin/tests/test_mailbox_operations.py | 10 +--------- modoboa/admin/tests/test_mapfiles.py | 2 -- modoboa/admin/tests/test_mx.py | 9 +-------- modoboa/admin/tests/test_password_schemes.py | 2 -- modoboa/admin/tests/test_repair.py | 2 -- modoboa/admin/tests/test_user.py | 2 -- modoboa/admin/tests/utils.py | 2 -- modoboa/admin/urls.py | 2 -- modoboa/admin/urls_api.py | 2 -- modoboa/admin/views/__init__.py | 2 -- modoboa/admin/views/alias.py | 2 -- modoboa/admin/views/dns.py | 2 -- modoboa/admin/views/domain.py | 2 -- modoboa/admin/views/export.py | 2 -- modoboa/admin/views/identity.py | 2 -- modoboa/admin/views/import_.py | 2 -- modoboa/admin/views/user.py | 2 -- modoboa/core/__init__.py | 2 -- modoboa/core/app_settings.py | 2 -- modoboa/core/apps.py | 2 -- modoboa/core/checks/__init__.py | 2 -- modoboa/core/checks/settings_checks.py | 2 -- modoboa/core/commands/__init__.py | 2 -- modoboa/core/commands/deploy.py | 2 -- modoboa/core/commands/help.py | 2 -- modoboa/core/commands/templates/settings.py.tpl | 2 -- modoboa/core/constants.py | 2 -- modoboa/core/context_processors.py | 2 -- modoboa/core/dev_settings.py | 2 -- modoboa/core/extensions.py | 2 -- modoboa/core/factories.py | 2 -- modoboa/core/forms.py | 2 -- modoboa/core/handlers.py | 2 -- modoboa/core/loggers.py | 2 -- .../management/commands/clean_inactive_accounts.py | 2 -- modoboa/core/management/commands/cleanlogs.py | 2 -- .../commands/communicate_with_public_api.py | 2 -- .../core/management/commands/generate_postfix_maps.py | 2 -- modoboa/core/management/commands/load_initial_data.py | 2 -- modoboa/core/management/commands/set_default_site.py | 2 -- modoboa/core/middleware.py | 2 -- modoboa/core/migrations/0001_initial.py | 2 -- modoboa/core/migrations/0002_delete_extension.py | 2 -- modoboa/core/migrations/0003_user_master_user.py | 2 -- modoboa/core/migrations/0004_auto_20150728_1228.py | 2 -- modoboa/core/migrations/0005_user_language.py | 2 -- modoboa/core/migrations/0006_auto_20151114_1518.py | 2 -- modoboa/core/migrations/0007_auto_20151116_1349.py | 2 -- modoboa/core/migrations/0008_localconfig.py | 2 -- modoboa/core/migrations/0009_auto_20161026_1003.py | 2 -- modoboa/core/migrations/0010_auto_20161026_1011.py | 2 -- modoboa/core/migrations/0011_auto_20161104_2217.py | 2 -- modoboa/core/migrations/0012_auto_20170215_1034.py | 2 -- modoboa/core/migrations/0013_auto_20170707_1058.py | 2 -- modoboa/core/migrations/0014_auto_20171010_1746.py | 2 -- modoboa/core/migrations/0015_auto_20180112_1642.py | 2 -- modoboa/core/migrations/0016_auto_20180713_1014.py | 2 -- modoboa/core/migrations/0017_auto_20190705_1045.py | 2 -- modoboa/core/migrations/__init__.py | 1 - modoboa/core/mocks.py | 2 -- modoboa/core/models.py | 2 -- modoboa/core/password_hashers/__init__.py | 2 -- modoboa/core/password_hashers/advanced.py | 2 -- modoboa/core/password_hashers/base.py | 2 -- modoboa/core/password_validation.py | 2 -- modoboa/core/signals.py | 2 -- modoboa/core/templatetags/core_tags.py | 2 -- .../core/tests/stupid_extension_1/modo_extension.py | 2 -- .../core/tests/stupid_extension_2/modo_extension.py | 2 -- modoboa/core/tests/stupid_extension_2/urls.py | 2 -- modoboa/core/tests/stupid_extension_2/views.py | 2 -- modoboa/core/tests/test_authentication.py | 11 +---------- modoboa/core/tests/test_checks.py | 2 -- modoboa/core/tests/test_core.py | 2 -- modoboa/core/tests/test_extensions.py | 2 -- modoboa/core/tests/test_ldap.py | 2 -- modoboa/core/tests/test_views.py | 2 -- modoboa/core/urls.py | 2 -- modoboa/core/utils.py | 2 -- modoboa/core/views/__init__.py | 2 -- modoboa/core/views/admin.py | 2 -- modoboa/core/views/auth.py | 2 -- modoboa/core/views/base.py | 2 -- modoboa/core/views/dashboard.py | 2 -- modoboa/core/views/user.py | 2 -- modoboa/dnstools/factories.py | 2 -- modoboa/dnstools/lib.py | 2 -- modoboa/dnstools/migrations/0001_initial.py | 2 -- modoboa/dnstools/models.py | 2 -- modoboa/ldapsync/lib.py | 2 -- modoboa/ldapsync/tests.py | 2 -- modoboa/lib/api_client.py | 2 -- modoboa/lib/authbackends.py | 2 -- modoboa/lib/connections.py | 2 -- modoboa/lib/cryptutils.py | 2 -- modoboa/lib/db_utils.py | 2 -- modoboa/lib/email_utils.py | 2 -- modoboa/lib/exceptions.py | 2 -- modoboa/lib/fields.py | 2 -- modoboa/lib/form_utils.py | 2 -- modoboa/lib/imap_utf7.py | 2 -- modoboa/lib/ldap_utils.py | 2 -- modoboa/lib/listing.py | 2 -- modoboa/lib/middleware.py | 2 -- modoboa/lib/migrations/0001_initial.py | 2 -- modoboa/lib/migrations/0002_rename_parameters.py | 2 -- modoboa/lib/migrations/0003_rename_parameters.py | 2 -- modoboa/lib/migrations/0004_auto_20151114_1409.py | 2 -- modoboa/lib/migrations/0005_auto_20160416_1449.py | 2 -- modoboa/lib/migrations/0006_auto_20161104_2206.py | 2 -- modoboa/lib/migrations/__init__.py | 1 - modoboa/lib/paginator.py | 3 --- modoboa/lib/permissions.py | 2 -- modoboa/lib/signals.py | 2 -- modoboa/lib/singleton.py | 2 -- modoboa/lib/sysutils.py | 2 -- modoboa/lib/templatetags/form_tags.py | 2 -- modoboa/lib/templatetags/lib_tags.py | 2 -- modoboa/lib/test_utils.py | 2 -- modoboa/lib/tests/__init__.py | 2 -- modoboa/lib/tests/test_cryptutils.py | 2 -- modoboa/lib/tests/test_email_utils.py | 2 -- modoboa/lib/tests/test_u2u_decode.py | 2 -- modoboa/lib/u2u_decode.py | 2 -- modoboa/lib/validators.py | 2 -- modoboa/lib/web_utils.py | 2 -- modoboa/limits/__init__.py | 2 -- modoboa/limits/app_settings.py | 2 -- modoboa/limits/apps.py | 2 -- modoboa/limits/constants.py | 2 -- modoboa/limits/forms.py | 2 -- modoboa/limits/handlers.py | 2 -- modoboa/limits/lib.py | 2 -- modoboa/limits/migrations/0001_initial.py | 2 -- modoboa/limits/migrations/0002_auto_20151114_1518.py | 2 -- modoboa/limits/migrations/0003_auto_20160413_1046.py | 2 -- modoboa/limits/migrations/0004_auto_20160413_1312.py | 2 -- modoboa/limits/migrations/0005_auto_20160415_1654.py | 2 -- modoboa/limits/migrations/0006_auto_20170216_1112.py | 2 -- modoboa/limits/migrations/__init__.py | 1 - modoboa/limits/models.py | 2 -- modoboa/limits/serializers.py | 2 -- modoboa/limits/tests/test_api.py | 2 -- modoboa/limits/tests/test_domain_limits.py | 2 -- modoboa/limits/tests/test_import.py | 2 -- modoboa/limits/tests/test_user_limits.py | 2 -- modoboa/limits/urls_api.py | 2 -- modoboa/limits/utils.py | 2 -- modoboa/limits/viewsets.py | 2 -- modoboa/parameters/apps.py | 2 -- modoboa/parameters/forms.py | 2 -- modoboa/parameters/tools.py | 2 -- modoboa/relaydomains/__init__.py | 2 -- modoboa/relaydomains/apps.py | 2 -- modoboa/relaydomains/forms.py | 2 -- modoboa/relaydomains/handlers.py | 2 -- modoboa/relaydomains/lib.py | 2 -- modoboa/relaydomains/migrations/0001_initial.py | 2 -- .../0002_migrate_from_modoboa_admin_relaydomains.py | 2 -- .../migrations/0003_auto_20170116_1508.py | 2 -- .../migrations/0004_auto_20161105_1424.py | 2 -- .../migrations/0005_auto_20161105_1426.py | 2 -- .../migrations/0006_auto_20170215_0948.py | 2 -- .../relaydomains/migrations/0007_recipientaccess.py | 2 -- .../migrations/0008_auto_20171123_1653.py | 2 -- .../migrations/0009_auto_20171124_1508.py | 2 -- modoboa/relaydomains/migrations/__init__.py | 1 - modoboa/relaydomains/models.py | 2 -- modoboa/relaydomains/postfix_maps.py | 3 --- modoboa/relaydomains/serializers.py | 2 -- modoboa/relaydomains/tests.py | 2 -- modoboa/relaydomains/transport.py | 2 -- modoboa/relaydomains/urls_api.py | 2 -- modoboa/relaydomains/viewsets.py | 2 -- modoboa/test_settings.py | 2 -- modoboa/transport/__init__.py | 2 -- modoboa/transport/apps.py | 2 -- modoboa/transport/backends.py | 2 -- modoboa/transport/constants.py | 2 -- modoboa/transport/factories.py | 2 -- modoboa/transport/forms.py | 2 -- modoboa/transport/handlers.py | 2 -- modoboa/transport/migrations/0001_initial.py | 2 -- .../transport/migrations/0002_auto_20180928_1520.py | 2 -- modoboa/transport/models.py | 2 -- modoboa/transport/postfix_maps.py | 3 --- modoboa/urls.py | 2 -- modoboa/urls_api.py | 2 -- tests.py | 1 - 246 files changed, 6 insertions(+), 532 deletions(-) diff --git a/bin/modoboa-admin.py b/bin/modoboa-admin.py index 78de64d39..9c2a31270 100644 --- a/bin/modoboa-admin.py +++ b/bin/modoboa-admin.py @@ -1,8 +1,6 @@ #!/usr/bin/env python # coding: utf-8 -from __future__ import unicode_literals - from modoboa.core.commands import handle_command_line if __name__ == "__main__": diff --git a/modoboa/__init__.py b/modoboa/__init__.py index ad361c484..c9c4a76e9 100644 --- a/modoboa/__init__.py +++ b/modoboa/__init__.py @@ -2,8 +2,6 @@ """Modoboa - Mail hosting made simple.""" -from __future__ import unicode_literals - from pkg_resources import DistributionNotFound, get_distribution try: diff --git a/modoboa/admin/__init__.py b/modoboa/admin/__init__.py index 80f7ae2d3..8413b80d9 100644 --- a/modoboa/admin/__init__.py +++ b/modoboa/admin/__init__.py @@ -1,5 +1,3 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - default_app_config = "modoboa.admin.apps.AdminConfig" diff --git a/modoboa/admin/api.py b/modoboa/admin/api.py index 061637973..151a5bc9a 100644 --- a/modoboa/admin/api.py +++ b/modoboa/admin/api.py @@ -2,8 +2,6 @@ """Admin API.""" -from __future__ import unicode_literals - from django import http from django.contrib.contenttypes.models import ContentType diff --git a/modoboa/admin/app_settings.py b/modoboa/admin/app_settings.py index 8b343910a..6b3425557 100644 --- a/modoboa/admin/app_settings.py +++ b/modoboa/admin/app_settings.py @@ -2,8 +2,6 @@ """Modoboa admin settings.""" -from __future__ import unicode_literals - import os from django import forms diff --git a/modoboa/admin/apps.py b/modoboa/admin/apps.py index 77ba62271..a35b17974 100644 --- a/modoboa/admin/apps.py +++ b/modoboa/admin/apps.py @@ -2,8 +2,6 @@ """AppConfig for admin.""" -from __future__ import unicode_literals - from django.apps import AppConfig from .app_settings import load_admin_settings diff --git a/modoboa/admin/constants.py b/modoboa/admin/constants.py index 623d9b6b5..5526d1bf2 100644 --- a/modoboa/admin/constants.py +++ b/modoboa/admin/constants.py @@ -2,8 +2,6 @@ """Admin constants.""" -from __future__ import unicode_literals - from django.utils.translation import ugettext_lazy as _ DNSBL_PROVIDERS = [ diff --git a/modoboa/admin/factories.py b/modoboa/admin/factories.py index e0d5780c8..8e5a2cdb0 100644 --- a/modoboa/admin/factories.py +++ b/modoboa/admin/factories.py @@ -4,8 +4,6 @@ Fixtures factories. """ -from __future__ import unicode_literals - import factory from modoboa.core.factories import PermissionFactory, UserFactory diff --git a/modoboa/admin/forms/__init__.py b/modoboa/admin/forms/__init__.py index bb1ded79a..e5b5ee334 100644 --- a/modoboa/admin/forms/__init__.py +++ b/modoboa/admin/forms/__init__.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from .account import ( AccountForm, AccountFormGeneral, AccountFormMail, AccountPermissionsForm, AccountWizard diff --git a/modoboa/admin/forms/account.py b/modoboa/admin/forms/account.py index 644ddabec..abbb0d183 100644 --- a/modoboa/admin/forms/account.py +++ b/modoboa/admin/forms/account.py @@ -2,8 +2,6 @@ """Forms related to accounts management.""" -from __future__ import unicode_literals - from collections import OrderedDict from functools import reduce diff --git a/modoboa/admin/forms/alias.py b/modoboa/admin/forms/alias.py index 09ee606e4..a7b874310 100644 --- a/modoboa/admin/forms/alias.py +++ b/modoboa/admin/forms/alias.py @@ -2,8 +2,6 @@ """Forms related to aliases management.""" -from __future__ import unicode_literals - from collections import OrderedDict from django import forms diff --git a/modoboa/admin/forms/domain.py b/modoboa/admin/forms/domain.py index 6a05eba45..69b2e1d69 100644 --- a/modoboa/admin/forms/domain.py +++ b/modoboa/admin/forms/domain.py @@ -2,8 +2,6 @@ """Forms related to domains management.""" -from __future__ import unicode_literals - from functools import reduce from django import forms diff --git a/modoboa/admin/forms/export.py b/modoboa/admin/forms/export.py index 1a295c599..90d3cdef9 100644 --- a/modoboa/admin/forms/export.py +++ b/modoboa/admin/forms/export.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import forms from django.utils.translation import ugettext_lazy diff --git a/modoboa/admin/forms/forward.py b/modoboa/admin/forms/forward.py index b270fb32d..a1c93d883 100644 --- a/modoboa/admin/forms/forward.py +++ b/modoboa/admin/forms/forward.py @@ -2,8 +2,6 @@ """Forms related to forwards management.""" -from __future__ import unicode_literals - from django import forms from django.core import validators from django.utils.translation import ugettext_lazy diff --git a/modoboa/admin/forms/import_.py b/modoboa/admin/forms/import_.py index db50913ff..b0741a894 100644 --- a/modoboa/admin/forms/import_.py +++ b/modoboa/admin/forms/import_.py @@ -2,8 +2,6 @@ """Forms related to import operations.""" -from __future__ import unicode_literals - from django import forms from django.utils.translation import ugettext_lazy diff --git a/modoboa/admin/handlers.py b/modoboa/admin/handlers.py index 2159f5dd8..4e4b91be7 100644 --- a/modoboa/admin/handlers.py +++ b/modoboa/admin/handlers.py @@ -2,8 +2,6 @@ """Django signal handlers for admin.""" -from __future__ import unicode_literals - from django.contrib.contenttypes.models import ContentType from django.db.models import signals from django.dispatch import receiver diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index f2ac6f556..59b4cf403 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -2,8 +2,6 @@ """Internal library for admin.""" -from __future__ import unicode_literals - import ipaddress import logging import random diff --git a/modoboa/admin/management/commands/handle_mailbox_operations.py b/modoboa/admin/management/commands/handle_mailbox_operations.py index 15d8f6e11..fead62ddc 100644 --- a/modoboa/admin/management/commands/handle_mailbox_operations.py +++ b/modoboa/admin/management/commands/handle_mailbox_operations.py @@ -2,8 +2,6 @@ """A management command to apply mailbox operations.""" -from __future__ import print_function, unicode_literals - import logging import os import shutil diff --git a/modoboa/admin/management/commands/modo.py b/modoboa/admin/management/commands/modo.py index b4f3495f5..5d6785428 100644 --- a/modoboa/admin/management/commands/modo.py +++ b/modoboa/admin/management/commands/modo.py @@ -2,8 +2,6 @@ """Modoboa main management command.""" -from __future__ import unicode_literals - from subcommand.base import SubcommandCommand from .subcommands._export import ExportCommand diff --git a/modoboa/admin/management/commands/subcommands/_export.py b/modoboa/admin/management/commands/subcommands/_export.py index 947f81d37..717ce2256 100644 --- a/modoboa/admin/management/commands/subcommands/_export.py +++ b/modoboa/admin/management/commands/subcommands/_export.py @@ -2,8 +2,6 @@ """Django management command to export admin objects.""" -from __future__ import unicode_literals - import sys from django.core.management.base import BaseCommand diff --git a/modoboa/admin/management/commands/subcommands/_import.py b/modoboa/admin/management/commands/subcommands/_import.py index a202fe22b..256ed36b3 100644 --- a/modoboa/admin/management/commands/subcommands/_import.py +++ b/modoboa/admin/management/commands/subcommands/_import.py @@ -2,8 +2,6 @@ """Django management command to import admin objects.""" -from __future__ import unicode_literals - import io import os diff --git a/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py b/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py index c7002c2c0..6fb58729b 100644 --- a/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py +++ b/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py @@ -2,8 +2,6 @@ """Management command to create DKIM keys.""" -from __future__ import print_function, unicode_literals - import os from django.core.management.base import BaseCommand diff --git a/modoboa/admin/management/commands/subcommands/_mx.py b/modoboa/admin/management/commands/subcommands/_mx.py index b88bd30a1..f669eb525 100644 --- a/modoboa/admin/management/commands/subcommands/_mx.py +++ b/modoboa/admin/management/commands/subcommands/_mx.py @@ -2,8 +2,6 @@ """Management command to check defined domains.""" -from __future__ import print_function, unicode_literals - import ipaddress import gevent diff --git a/modoboa/admin/management/commands/subcommands/_repair.py b/modoboa/admin/management/commands/subcommands/_repair.py index 26bfb42f4..2ef4f9431 100644 --- a/modoboa/admin/management/commands/subcommands/_repair.py +++ b/modoboa/admin/management/commands/subcommands/_repair.py @@ -2,8 +2,6 @@ """Management command to check and fix known problems.""" -from __future__ import print_function, unicode_literals - from django.conf import settings from django.core.management.base import BaseCommand from django.utils.encoding import smart_str diff --git a/modoboa/admin/migrations/0001_initial.py b/modoboa/admin/migrations/0001_initial.py index 9be649089..de9b7f214 100644 --- a/modoboa/admin/migrations/0001_initial.py +++ b/modoboa/admin/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations from django.conf import settings diff --git a/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py b/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py index c854881b6..3ffa6fc06 100644 --- a/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py +++ b/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/admin/migrations/0003_auto_20151118_1215.py b/modoboa/admin/migrations/0003_auto_20151118_1215.py index 3dbbfe390..a10568514 100644 --- a/modoboa/admin/migrations/0003_auto_20151118_1215.py +++ b/modoboa/admin/migrations/0003_auto_20151118_1215.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0004_auto_20160914_0907.py b/modoboa/admin/migrations/0004_auto_20160914_0907.py index 32aa5e148..7d9a56fdb 100644 --- a/modoboa/admin/migrations/0004_auto_20160914_0907.py +++ b/modoboa/admin/migrations/0004_auto_20160914_0907.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.9 on 2016-09-14 09:07 -from __future__ import unicode_literals - from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/admin/migrations/0005_auto_20161026_1003.py b/modoboa/admin/migrations/0005_auto_20161026_1003.py index d679eba6b..23888a98f 100644 --- a/modoboa/admin/migrations/0005_auto_20161026_1003.py +++ b/modoboa/admin/migrations/0005_auto_20161026_1003.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:03 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0006_auto_20161104_1900.py b/modoboa/admin/migrations/0006_auto_20161104_1900.py index daac34e1b..d1ed561d6 100644 --- a/modoboa/admin/migrations/0006_auto_20161104_1900.py +++ b/modoboa/admin/migrations/0006_auto_20161104_1900.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 18:00 -from __future__ import unicode_literals - from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/admin/migrations/0007_auto_20161104_1915.py b/modoboa/admin/migrations/0007_auto_20161104_1915.py index 761a22a12..1a2061bed 100644 --- a/modoboa/admin/migrations/0007_auto_20161104_1915.py +++ b/modoboa/admin/migrations/0007_auto_20161104_1915.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 18:15 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0008_domain_enable_dns_checks.py b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py index c7be468fe..0377bf17c 100644 --- a/modoboa/admin/migrations/0008_domain_enable_dns_checks.py +++ b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.12 on 2017-02-06 06:13 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0009_auto_20170215_0948.py b/modoboa/admin/migrations/0009_auto_20170215_0948.py index b032a7190..c5a7dd820 100644 --- a/modoboa/admin/migrations/0009_auto_20170215_0948.py +++ b/modoboa/admin/migrations/0009_auto_20170215_0948.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 08:48 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/admin/migrations/0010_auto_20170215_1328.py b/modoboa/admin/migrations/0010_auto_20170215_1328.py index e71d408ca..5128c7e17 100644 --- a/modoboa/admin/migrations/0010_auto_20170215_1328.py +++ b/modoboa/admin/migrations/0010_auto_20170215_1328.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 12:28 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0011_domain_transport.py b/modoboa/admin/migrations/0011_domain_transport.py index 8f037fb6c..168242c92 100644 --- a/modoboa/admin/migrations/0011_domain_transport.py +++ b/modoboa/admin/migrations/0011_domain_transport.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-12-20 14:17 -from __future__ import unicode_literals - from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/admin/migrations/0012_auto_20180112_1658.py b/modoboa/admin/migrations/0012_auto_20180112_1658.py index a69e64388..f67dfa3c3 100644 --- a/modoboa/admin/migrations/0012_auto_20180112_1658.py +++ b/modoboa/admin/migrations/0012_auto_20180112_1658.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-12 15:58 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0013_auto_20180124_2311.py b/modoboa/admin/migrations/0013_auto_20180124_2311.py index d0671ab0d..02194ff4b 100644 --- a/modoboa/admin/migrations/0013_auto_20180124_2311.py +++ b/modoboa/admin/migrations/0013_auto_20180124_2311.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-24 23:11 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/0014_auto_20181017_1628.py b/modoboa/admin/migrations/0014_auto_20181017_1628.py index ca7dee0c0..ae0fe2714 100644 --- a/modoboa/admin/migrations/0014_auto_20181017_1628.py +++ b/modoboa/admin/migrations/0014_auto_20181017_1628.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-17 14:28 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/admin/migrations/__init__.py b/modoboa/admin/migrations/__init__.py index baffc4882..e69de29bb 100644 --- a/modoboa/admin/migrations/__init__.py +++ b/modoboa/admin/migrations/__init__.py @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/modoboa/admin/models/__init__.py b/modoboa/admin/models/__init__.py index 068fc45e9..70b16999f 100644 --- a/modoboa/admin/models/__init__.py +++ b/modoboa/admin/models/__init__.py @@ -2,8 +2,6 @@ """Admin models.""" -from __future__ import unicode_literals - from .alias import Alias, AliasRecipient from .base import AdminObject from .domain import Domain diff --git a/modoboa/admin/models/alias.py b/modoboa/admin/models/alias.py index 98a360c09..e76fb1c2a 100644 --- a/modoboa/admin/models/alias.py +++ b/modoboa/admin/models/alias.py @@ -2,8 +2,6 @@ """Models related to aliases management.""" -from __future__ import unicode_literals - import hashlib import random diff --git a/modoboa/admin/models/base.py b/modoboa/admin/models/base.py index abe182180..2ccf4638a 100644 --- a/modoboa/admin/models/base.py +++ b/modoboa/admin/models/base.py @@ -2,8 +2,6 @@ """Base admin models.""" -from __future__ import unicode_literals - from django.contrib.contenttypes.fields import GenericRelation from django.db import models from django.utils import timezone diff --git a/modoboa/admin/models/domain.py b/modoboa/admin/models/domain.py index a06932b87..fcd231538 100644 --- a/modoboa/admin/models/domain.py +++ b/modoboa/admin/models/domain.py @@ -2,8 +2,6 @@ """Models related to domains management.""" -from __future__ import unicode_literals - import datetime from reversion import revisions as reversion diff --git a/modoboa/admin/models/domain_alias.py b/modoboa/admin/models/domain_alias.py index 917039911..17186446e 100644 --- a/modoboa/admin/models/domain_alias.py +++ b/modoboa/admin/models/domain_alias.py @@ -2,8 +2,6 @@ """Models related to domain aliases management.""" -from __future__ import unicode_literals - from reversion import revisions as reversion from django.contrib.contenttypes.fields import GenericRelation diff --git a/modoboa/admin/models/mailbox.py b/modoboa/admin/models/mailbox.py index ef17ba264..eacd2c7a3 100644 --- a/modoboa/admin/models/mailbox.py +++ b/modoboa/admin/models/mailbox.py @@ -2,8 +2,6 @@ """Models related to mailboxes management.""" -from __future__ import unicode_literals - import os import pwd diff --git a/modoboa/admin/models/mxrecord.py b/modoboa/admin/models/mxrecord.py index 3d2cf9de8..66e3c1285 100644 --- a/modoboa/admin/models/mxrecord.py +++ b/modoboa/admin/models/mxrecord.py @@ -2,8 +2,6 @@ """MX records storage.""" -from __future__ import unicode_literals - import datetime from django.db import models diff --git a/modoboa/admin/postfix_maps.py b/modoboa/admin/postfix_maps.py index 1550fe7e6..6923ce8a6 100644 --- a/modoboa/admin/postfix_maps.py +++ b/modoboa/admin/postfix_maps.py @@ -2,9 +2,6 @@ """Map file definitions for postfix.""" -from __future__ import unicode_literals - - class DomainsMap(object): """Map to list all domains.""" diff --git a/modoboa/admin/serializers.py b/modoboa/admin/serializers.py index dfd3ed49b..65c30e54d 100644 --- a/modoboa/admin/serializers.py +++ b/modoboa/admin/serializers.py @@ -2,8 +2,6 @@ """Admin serializers.""" -from __future__ import unicode_literals - from django.conf import settings from django.contrib.auth import password_validation from django.core.exceptions import ValidationError diff --git a/modoboa/admin/signals.py b/modoboa/admin/signals.py index b085d7807..78d369f55 100644 --- a/modoboa/admin/signals.py +++ b/modoboa/admin/signals.py @@ -2,8 +2,6 @@ """Modoboa admin signals.""" -from __future__ import unicode_literals - import django.dispatch check_extra_account_form = django.dispatch.Signal( diff --git a/modoboa/admin/templatetags/admin_tags.py b/modoboa/admin/templatetags/admin_tags.py index 038eddb21..29aa0c459 100644 --- a/modoboa/admin/templatetags/admin_tags.py +++ b/modoboa/admin/templatetags/admin_tags.py @@ -2,8 +2,6 @@ """Admin extension tags.""" -from __future__ import unicode_literals - from functools import reduce from django import template diff --git a/modoboa/admin/tests/test_account.py b/modoboa/admin/tests/test_account.py index 10e43ca6b..7d816c46c 100644 --- a/modoboa/admin/tests/test_account.py +++ b/modoboa/admin/tests/test_account.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from unittest import skipIf from django.test import override_settings diff --git a/modoboa/admin/tests/test_alias.py b/modoboa/admin/tests/test_alias.py index b79ed39b6..3da7fc20b 100644 --- a/modoboa/admin/tests/test_alias.py +++ b/modoboa/admin/tests/test_alias.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import reverse from modoboa.core.models import User diff --git a/modoboa/admin/tests/test_api.py b/modoboa/admin/tests/test_api.py index 235d6461c..e0a35823a 100644 --- a/modoboa/admin/tests/test_api.py +++ b/modoboa/admin/tests/test_api.py @@ -2,10 +2,9 @@ """Admin API related tests.""" -from __future__ import unicode_literals - import copy import json +from unittest import mock import dns.resolver @@ -20,13 +19,6 @@ from modoboa.lib.tests import ModoAPITestCase from . import utils from .. import factories, models -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - class DomainAPITestCase(ModoAPITestCase): """Check API.""" diff --git a/modoboa/admin/tests/test_domain.py b/modoboa/admin/tests/test_domain.py index 0f54ba663..fe1b3e260 100644 --- a/modoboa/admin/tests/test_domain.py +++ b/modoboa/admin/tests/test_domain.py @@ -2,11 +2,10 @@ """Domain related test cases.""" -from __future__ import unicode_literals - import os import shutil import tempfile +from unittest import mock import dns.resolver from testfixtures import compare @@ -23,13 +22,6 @@ from . import utils from .. import factories from ..models import Alias, Domain -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - class DomainTestCase(ModoTestCase): """Test case for Domain.""" diff --git a/modoboa/admin/tests/test_domain_alias.py b/modoboa/admin/tests/test_domain_alias.py index d02e4ef96..cb3165f03 100644 --- a/modoboa/admin/tests/test_domain_alias.py +++ b/modoboa/admin/tests/test_domain_alias.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import reverse from modoboa.lib.tests import ModoTestCase diff --git a/modoboa/admin/tests/test_export.py b/modoboa/admin/tests/test_export.py index c261520b7..2d0ece78a 100644 --- a/modoboa/admin/tests/test_export.py +++ b/modoboa/admin/tests/test_export.py @@ -2,8 +2,6 @@ """Export related test cases.""" -from __future__ import unicode_literals - import sys from six.moves import StringIO diff --git a/modoboa/admin/tests/test_import_.py b/modoboa/admin/tests/test_import_.py index aa0a5eaad..e062e1032 100644 --- a/modoboa/admin/tests/test_import_.py +++ b/modoboa/admin/tests/test_import_.py @@ -1,8 +1,7 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os +from unittest import mock import dns.resolver @@ -18,13 +17,6 @@ from . import utils from .. import factories from ..models import Alias, Domain, DomainAlias -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - class ImportTestCase(ModoTestCase): diff --git a/modoboa/admin/tests/test_mailbox_operations.py b/modoboa/admin/tests/test_mailbox_operations.py index 6e598bb57..101bf3e12 100644 --- a/modoboa/admin/tests/test_mailbox_operations.py +++ b/modoboa/admin/tests/test_mailbox_operations.py @@ -2,11 +2,10 @@ """Management command tests.""" -from __future__ import unicode_literals - import os import shutil import tempfile +from unittest import mock from django.core.management import call_command from django.test import override_settings @@ -15,13 +14,6 @@ from django.urls import reverse from modoboa.lib.tests import ModoTestCase from .. import factories, models -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - @override_settings( DOVECOT_LOOKUP_PATH=["{}/dovecot".format(os.path.dirname(__file__))]) diff --git a/modoboa/admin/tests/test_mapfiles.py b/modoboa/admin/tests/test_mapfiles.py index 1da822f04..8b43a0016 100644 --- a/modoboa/admin/tests/test_mapfiles.py +++ b/modoboa/admin/tests/test_mapfiles.py @@ -2,8 +2,6 @@ """Test map files generation.""" -from __future__ import unicode_literals - import os from django.conf import settings diff --git a/modoboa/admin/tests/test_mx.py b/modoboa/admin/tests/test_mx.py index 183ae8382..08e1ff33e 100644 --- a/modoboa/admin/tests/test_mx.py +++ b/modoboa/admin/tests/test_mx.py @@ -2,7 +2,7 @@ """DNSBL related tests.""" -from __future__ import unicode_literals +from unittest import mock import dns.resolver from testfixtures import LogCapture @@ -18,13 +18,6 @@ from . import utils from .. import factories, models from ..lib import get_domain_mx_list -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - class MXTestCase(ModoTestCase): """TestCase for DNSBL related features.""" diff --git a/modoboa/admin/tests/test_password_schemes.py b/modoboa/admin/tests/test_password_schemes.py index 61b83b14a..0718cf76c 100644 --- a/modoboa/admin/tests/test_password_schemes.py +++ b/modoboa/admin/tests/test_password_schemes.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.urls import reverse from modoboa.core.models import User diff --git a/modoboa/admin/tests/test_repair.py b/modoboa/admin/tests/test_repair.py index 1a45225b0..1cedf23c3 100644 --- a/modoboa/admin/tests/test_repair.py +++ b/modoboa/admin/tests/test_repair.py @@ -2,8 +2,6 @@ """Repair command tests""" -from __future__ import unicode_literals - from django.core import management from modoboa.lib.permissions import ObjectAccess, get_object_owner diff --git a/modoboa/admin/tests/test_user.py b/modoboa/admin/tests/test_user.py index 3e2238355..cfaf5fd53 100644 --- a/modoboa/admin/tests/test_user.py +++ b/modoboa/admin/tests/test_user.py @@ -2,8 +2,6 @@ """User related tests.""" -from __future__ import unicode_literals - from django.urls import reverse from modoboa.core.models import User diff --git a/modoboa/admin/tests/utils.py b/modoboa/admin/tests/utils.py index f0662d5ec..0f604196d 100644 --- a/modoboa/admin/tests/utils.py +++ b/modoboa/admin/tests/utils.py @@ -2,8 +2,6 @@ """Test utilities.""" -from __future__ import unicode_literals - import socket from dns.name import Name diff --git a/modoboa/admin/urls.py b/modoboa/admin/urls.py index bb299ae19..1545855e3 100644 --- a/modoboa/admin/urls.py +++ b/modoboa/admin/urls.py @@ -2,8 +2,6 @@ """Admin urls.""" -from __future__ import unicode_literals - from django.conf.urls import url from . import views diff --git a/modoboa/admin/urls_api.py b/modoboa/admin/urls_api.py index 4227d9cfa..9c3889bb8 100644 --- a/modoboa/admin/urls_api.py +++ b/modoboa/admin/urls_api.py @@ -2,8 +2,6 @@ """Admin API urls.""" -from __future__ import unicode_literals - from rest_framework import routers from . import api diff --git a/modoboa/admin/views/__init__.py b/modoboa/admin/views/__init__.py index 501c59517..694d83979 100644 --- a/modoboa/admin/views/__init__.py +++ b/modoboa/admin/views/__init__.py @@ -2,8 +2,6 @@ """Shortcuts.""" -from __future__ import unicode_literals - from .alias import AliasDetailView from .dns import DNSBLDomainDetailView, MXDomainDetailView from .domain import DomainDetailView diff --git a/modoboa/admin/views/alias.py b/modoboa/admin/views/alias.py index 9b3dfb1c6..4246fdb05 100644 --- a/modoboa/admin/views/alias.py +++ b/modoboa/admin/views/alias.py @@ -2,8 +2,6 @@ """Alias related views.""" -from __future__ import unicode_literals - from reversion import revisions as reversion from django.contrib.auth import mixins as auth_mixins diff --git a/modoboa/admin/views/dns.py b/modoboa/admin/views/dns.py index e202bb818..6dc373b82 100644 --- a/modoboa/admin/views/dns.py +++ b/modoboa/admin/views/dns.py @@ -2,8 +2,6 @@ """DNSBL related views.""" -from __future__ import unicode_literals - from django.contrib.auth import mixins as auth_mixins from django.utils.translation import ugettext as _ from django.views import generic diff --git a/modoboa/admin/views/domain.py b/modoboa/admin/views/domain.py index b30e29ed6..c83b1f036 100644 --- a/modoboa/admin/views/domain.py +++ b/modoboa/admin/views/domain.py @@ -2,8 +2,6 @@ """Domain related views.""" -from __future__ import unicode_literals - from functools import reduce from reversion import revisions as reversion diff --git a/modoboa/admin/views/export.py b/modoboa/admin/views/export.py index 281d864d3..d28fcac6c 100644 --- a/modoboa/admin/views/export.py +++ b/modoboa/admin/views/export.py @@ -2,8 +2,6 @@ """Export related views.""" -from __future__ import unicode_literals - from rfc6266 import build_header from django.contrib.auth.decorators import ( diff --git a/modoboa/admin/views/identity.py b/modoboa/admin/views/identity.py index 62ce47d58..f223944ec 100644 --- a/modoboa/admin/views/identity.py +++ b/modoboa/admin/views/identity.py @@ -2,8 +2,6 @@ """Identity related views.""" -from __future__ import unicode_literals - from reversion import revisions as reversion from django.contrib.auth import mixins as auth_mixins diff --git a/modoboa/admin/views/import_.py b/modoboa/admin/views/import_.py index 025d9d0e3..61800bce1 100644 --- a/modoboa/admin/views/import_.py +++ b/modoboa/admin/views/import_.py @@ -2,8 +2,6 @@ """Import related views.""" -from __future__ import unicode_literals - import io from reversion import revisions as reversion diff --git a/modoboa/admin/views/user.py b/modoboa/admin/views/user.py index cb9e18d12..483154492 100644 --- a/modoboa/admin/views/user.py +++ b/modoboa/admin/views/user.py @@ -2,8 +2,6 @@ """SimpleUsers views.""" -from __future__ import unicode_literals - from reversion import revisions as reversion from django.contrib.auth.decorators import login_required diff --git a/modoboa/core/__init__.py b/modoboa/core/__init__.py index 4efbc2ba0..b6722abab 100644 --- a/modoboa/core/__init__.py +++ b/modoboa/core/__init__.py @@ -2,6 +2,4 @@ """App config for core.""" -from __future__ import unicode_literals - default_app_config = "modoboa.core.apps.CoreConfig" diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index f63f045da..5388f13e1 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import forms from django.conf import settings from django.contrib.auth import password_validation diff --git a/modoboa/core/apps.py b/modoboa/core/apps.py index 3e4fa2859..997550481 100644 --- a/modoboa/core/apps.py +++ b/modoboa/core/apps.py @@ -2,8 +2,6 @@ """Core config for admin.""" -from __future__ import unicode_literals - from django.apps import AppConfig from django.db.models import signals from django.utils.translation import ugettext_lazy diff --git a/modoboa/core/checks/__init__.py b/modoboa/core/checks/__init__.py index c043b6cf9..e41b8f04b 100644 --- a/modoboa/core/checks/__init__.py +++ b/modoboa/core/checks/__init__.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - # Import these to force registration of checks from . import settings_checks # NOQA:F401 diff --git a/modoboa/core/checks/settings_checks.py b/modoboa/core/checks/settings_checks.py index ebd09db14..39f82e2c9 100644 --- a/modoboa/core/checks/settings_checks.py +++ b/modoboa/core/checks/settings_checks.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.conf import settings from django.core.checks import Warning, register from django.utils.translation import ugettext as _ diff --git a/modoboa/core/commands/__init__.py b/modoboa/core/commands/__init__.py index 9a07357ce..04fb4640a 100644 --- a/modoboa/core/commands/__init__.py +++ b/modoboa/core/commands/__init__.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import print_function, unicode_literals - import argparse import os import sys diff --git a/modoboa/core/commands/deploy.py b/modoboa/core/commands/deploy.py index 25c81c2e1..5c82803f9 100644 --- a/modoboa/core/commands/deploy.py +++ b/modoboa/core/commands/deploy.py @@ -2,8 +2,6 @@ """A shortcut to deploy a fresh modoboa instance.""" -from __future__ import print_function, unicode_literals - import codecs import getpass import os diff --git a/modoboa/core/commands/help.py b/modoboa/core/commands/help.py index 931264615..d1c6d387f 100644 --- a/modoboa/core/commands/help.py +++ b/modoboa/core/commands/help.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import print_function, unicode_literals - import sys from . import Command diff --git a/modoboa/core/commands/templates/settings.py.tpl b/modoboa/core/commands/templates/settings.py.tpl index cfd0fc5b7..fd9605784 100644 --- a/modoboa/core/commands/templates/settings.py.tpl +++ b/modoboa/core/commands/templates/settings.py.tpl @@ -9,8 +9,6 @@ For the full list of settings and their values, see https://docs.djangoproject.com/en/1.11/ref/settings/ """ -from __future__ import unicode_literals - from logging.handlers import SysLogHandler import os {% if devmode %} diff --git a/modoboa/core/constants.py b/modoboa/core/constants.py index b333e61fd..007a549d2 100644 --- a/modoboa/core/constants.py +++ b/modoboa/core/constants.py @@ -2,8 +2,6 @@ """Core application constants.""" -from __future__ import unicode_literals - from django.utils.translation import ugettext_lazy SIMPLEUSERS_ROLE = ("SimpleUsers", ugettext_lazy("Simple user")) diff --git a/modoboa/core/context_processors.py b/modoboa/core/context_processors.py index 501b2cdc5..ba348fe3b 100644 --- a/modoboa/core/context_processors.py +++ b/modoboa/core/context_processors.py @@ -2,8 +2,6 @@ """Custom context processors.""" -from __future__ import unicode_literals - from functools import reduce from . import signals diff --git a/modoboa/core/dev_settings.py b/modoboa/core/dev_settings.py index c443d5965..eb5ae7c09 100644 --- a/modoboa/core/dev_settings.py +++ b/modoboa/core/dev_settings.py @@ -2,8 +2,6 @@ # Development settings -from __future__ import unicode_literals - import os BOWER_COMPONENTS_ROOT = os.path.join( diff --git a/modoboa/core/extensions.py b/modoboa/core/extensions.py index c0287745e..95207cec1 100644 --- a/modoboa/core/extensions.py +++ b/modoboa/core/extensions.py @@ -2,8 +2,6 @@ """Extension management.""" -from __future__ import unicode_literals - from django.conf import settings from django.conf.urls import include, url from django.utils.encoding import smart_str diff --git a/modoboa/core/factories.py b/modoboa/core/factories.py index e0ad3315f..136c29c96 100644 --- a/modoboa/core/factories.py +++ b/modoboa/core/factories.py @@ -2,8 +2,6 @@ """Factories for core application.""" -from __future__ import unicode_literals - import factory from django.contrib.auth.models import Group diff --git a/modoboa/core/forms.py b/modoboa/core/forms.py index 78e1f3e08..a7b2b764a 100644 --- a/modoboa/core/forms.py +++ b/modoboa/core/forms.py @@ -2,8 +2,6 @@ """Core forms.""" -from __future__ import unicode_literals - from django import forms from django.contrib.auth import ( forms as auth_forms, get_user_model, password_validation diff --git a/modoboa/core/handlers.py b/modoboa/core/handlers.py index c964861a7..ed1bce204 100644 --- a/modoboa/core/handlers.py +++ b/modoboa/core/handlers.py @@ -2,8 +2,6 @@ """Modoboa core signal handlers.""" -from __future__ import unicode_literals - import logging from reversion import revisions as reversion diff --git a/modoboa/core/loggers.py b/modoboa/core/loggers.py index 9090f5999..889f721f7 100644 --- a/modoboa/core/loggers.py +++ b/modoboa/core/loggers.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import logging diff --git a/modoboa/core/management/commands/clean_inactive_accounts.py b/modoboa/core/management/commands/clean_inactive_accounts.py index c67d21358..1891905b3 100644 --- a/modoboa/core/management/commands/clean_inactive_accounts.py +++ b/modoboa/core/management/commands/clean_inactive_accounts.py @@ -2,8 +2,6 @@ """Inactive accounts cleanup tool.""" -from __future__ import print_function, unicode_literals - from dateutil.relativedelta import relativedelta from six.moves import input diff --git a/modoboa/core/management/commands/cleanlogs.py b/modoboa/core/management/commands/cleanlogs.py index 723cdf9c0..f198e1a67 100644 --- a/modoboa/core/management/commands/cleanlogs.py +++ b/modoboa/core/management/commands/cleanlogs.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import print_function, unicode_literals - import datetime import logging diff --git a/modoboa/core/management/commands/communicate_with_public_api.py b/modoboa/core/management/commands/communicate_with_public_api.py index 2fe2359c8..10f37a4e8 100644 --- a/modoboa/core/management/commands/communicate_with_public_api.py +++ b/modoboa/core/management/commands/communicate_with_public_api.py @@ -2,8 +2,6 @@ """Management command to communicate with public API.""" -from __future__ import unicode_literals - from django.core.management.base import BaseCommand, CommandError from modoboa.admin import models as admin_models diff --git a/modoboa/core/management/commands/generate_postfix_maps.py b/modoboa/core/management/commands/generate_postfix_maps.py index b76fb289b..c5f692cbd 100644 --- a/modoboa/core/management/commands/generate_postfix_maps.py +++ b/modoboa/core/management/commands/generate_postfix_maps.py @@ -2,8 +2,6 @@ """Management command to generate/update postfix map files.""" -from __future__ import print_function, unicode_literals - import copy import hashlib import os diff --git a/modoboa/core/management/commands/load_initial_data.py b/modoboa/core/management/commands/load_initial_data.py index d43f27bfc..36ba54bc0 100644 --- a/modoboa/core/management/commands/load_initial_data.py +++ b/modoboa/core/management/commands/load_initial_data.py @@ -7,8 +7,6 @@ """ -from __future__ import unicode_literals - from functools import reduce from django.contrib.auth.models import Group diff --git a/modoboa/core/management/commands/set_default_site.py b/modoboa/core/management/commands/set_default_site.py index 8080420bc..02c66e6fb 100644 --- a/modoboa/core/management/commands/set_default_site.py +++ b/modoboa/core/management/commands/set_default_site.py @@ -6,8 +6,6 @@ A simple managemenent command to update the default site. See `https://docs.djangoproject.com/en/dev/ref/contrib/sites/`_. """ -from __future__ import unicode_literals - from django.contrib.sites.models import Site from django.core.management.base import BaseCommand, CommandError diff --git a/modoboa/core/middleware.py b/modoboa/core/middleware.py index 65135942f..b80bf6a1b 100644 --- a/modoboa/core/middleware.py +++ b/modoboa/core/middleware.py @@ -2,8 +2,6 @@ """Core middlewares.""" -from __future__ import unicode_literals - from django.utils.deprecation import MiddlewareMixin from . import models diff --git a/modoboa/core/migrations/0001_initial.py b/modoboa/core/migrations/0001_initial.py index 1be0eae38..b937f896b 100644 --- a/modoboa/core/migrations/0001_initial.py +++ b/modoboa/core/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations import django.utils.timezone from django.conf import settings diff --git a/modoboa/core/migrations/0002_delete_extension.py b/modoboa/core/migrations/0002_delete_extension.py index 073ef44bb..23ad4ba2e 100644 --- a/modoboa/core/migrations/0002_delete_extension.py +++ b/modoboa/core/migrations/0002_delete_extension.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/core/migrations/0003_user_master_user.py b/modoboa/core/migrations/0003_user_master_user.py index 9411bdd5c..ed5316dc1 100644 --- a/modoboa/core/migrations/0003_user_master_user.py +++ b/modoboa/core/migrations/0003_user_master_user.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/core/migrations/0004_auto_20150728_1228.py b/modoboa/core/migrations/0004_auto_20150728_1228.py index 202a23da0..36856458f 100644 --- a/modoboa/core/migrations/0004_auto_20150728_1228.py +++ b/modoboa/core/migrations/0004_auto_20150728_1228.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/core/migrations/0005_user_language.py b/modoboa/core/migrations/0005_user_language.py index 3f61578ca..55bbec01d 100644 --- a/modoboa/core/migrations/0005_user_language.py +++ b/modoboa/core/migrations/0005_user_language.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/core/migrations/0006_auto_20151114_1518.py b/modoboa/core/migrations/0006_auto_20151114_1518.py index e3c1b88af..36acdbbdf 100644 --- a/modoboa/core/migrations/0006_auto_20151114_1518.py +++ b/modoboa/core/migrations/0006_auto_20151114_1518.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/core/migrations/0007_auto_20151116_1349.py b/modoboa/core/migrations/0007_auto_20151116_1349.py index b7d45d14d..94ceca391 100644 --- a/modoboa/core/migrations/0007_auto_20151116_1349.py +++ b/modoboa/core/migrations/0007_auto_20151116_1349.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models import django.contrib.auth.models diff --git a/modoboa/core/migrations/0008_localconfig.py b/modoboa/core/migrations/0008_localconfig.py index be8040af8..4923bd055 100644 --- a/modoboa/core/migrations/0008_localconfig.py +++ b/modoboa/core/migrations/0008_localconfig.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-06-15 18:12 -from __future__ import unicode_literals - from django.db import migrations, models import django.db.models.deletion import jsonfield.fields diff --git a/modoboa/core/migrations/0009_auto_20161026_1003.py b/modoboa/core/migrations/0009_auto_20161026_1003.py index 51aa18ed8..37f0b47f4 100644 --- a/modoboa/core/migrations/0009_auto_20161026_1003.py +++ b/modoboa/core/migrations/0009_auto_20161026_1003.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:03 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/core/migrations/0010_auto_20161026_1011.py b/modoboa/core/migrations/0010_auto_20161026_1011.py index 64961f261..ed0bb5346 100644 --- a/modoboa/core/migrations/0010_auto_20161026_1011.py +++ b/modoboa/core/migrations/0010_auto_20161026_1011.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:11 -from __future__ import unicode_literals - from django.db import migrations import jsonfield.fields diff --git a/modoboa/core/migrations/0011_auto_20161104_2217.py b/modoboa/core/migrations/0011_auto_20161104_2217.py index 44006a607..b3680de4f 100644 --- a/modoboa/core/migrations/0011_auto_20161104_2217.py +++ b/modoboa/core/migrations/0011_auto_20161104_2217.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 21:17 -from __future__ import unicode_literals - from django.db import migrations import jsonfield.fields diff --git a/modoboa/core/migrations/0012_auto_20170215_1034.py b/modoboa/core/migrations/0012_auto_20170215_1034.py index 51e0fd7d3..0134f15f8 100644 --- a/modoboa/core/migrations/0012_auto_20170215_1034.py +++ b/modoboa/core/migrations/0012_auto_20170215_1034.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 09:34 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/core/migrations/0013_auto_20170707_1058.py b/modoboa/core/migrations/0013_auto_20170707_1058.py index 934a30898..edccb37c7 100644 --- a/modoboa/core/migrations/0013_auto_20170707_1058.py +++ b/modoboa/core/migrations/0013_auto_20170707_1058.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-07-07 08:58 -from __future__ import unicode_literals - from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/core/migrations/0014_auto_20171010_1746.py b/modoboa/core/migrations/0014_auto_20171010_1746.py index 698772236..aa00a9b60 100644 --- a/modoboa/core/migrations/0014_auto_20171010_1746.py +++ b/modoboa/core/migrations/0014_auto_20171010_1746.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-10-10 15:46 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/core/migrations/0015_auto_20180112_1642.py b/modoboa/core/migrations/0015_auto_20180112_1642.py index d253aaa52..b2ad1956d 100644 --- a/modoboa/core/migrations/0015_auto_20180112_1642.py +++ b/modoboa/core/migrations/0015_auto_20180112_1642.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-12 15:42 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/core/migrations/0016_auto_20180713_1014.py b/modoboa/core/migrations/0016_auto_20180713_1014.py index 2315c2a03..58b36bd7a 100644 --- a/modoboa/core/migrations/0016_auto_20180713_1014.py +++ b/modoboa/core/migrations/0016_auto_20180713_1014.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.11 on 2018-07-13 08:14 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/core/migrations/0017_auto_20190705_1045.py b/modoboa/core/migrations/0017_auto_20190705_1045.py index 887a8fc8f..fe2a24d31 100644 --- a/modoboa/core/migrations/0017_auto_20190705_1045.py +++ b/modoboa/core/migrations/0017_auto_20190705_1045.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-07-05 08:45 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/core/migrations/__init__.py b/modoboa/core/migrations/__init__.py index baffc4882..e69de29bb 100644 --- a/modoboa/core/migrations/__init__.py +++ b/modoboa/core/migrations/__init__.py @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/modoboa/core/mocks.py b/modoboa/core/mocks.py index 53044082b..e2414591a 100644 --- a/modoboa/core/mocks.py +++ b/modoboa/core/mocks.py @@ -2,8 +2,6 @@ """Mocks used for testing.""" -from __future__ import unicode_literals - import httmock # Modoboa API mocks diff --git a/modoboa/core/models.py b/modoboa/core/models.py index 18ed79d5f..2f3fb6bc2 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -2,8 +2,6 @@ """Core models.""" -from __future__ import unicode_literals - import re from email.header import Header diff --git a/modoboa/core/password_hashers/__init__.py b/modoboa/core/password_hashers/__init__.py index 2af1b766f..4104cb749 100644 --- a/modoboa/core/password_hashers/__init__.py +++ b/modoboa/core/password_hashers/__init__.py @@ -4,8 +4,6 @@ Password hashers for Modoboa. """ -from __future__ import unicode_literals - from django.utils.encoding import smart_text from modoboa.core.password_hashers.advanced import ( # NOQA:F401 diff --git a/modoboa/core/password_hashers/advanced.py b/modoboa/core/password_hashers/advanced.py index 1c0a4bd71..f42c13423 100644 --- a/modoboa/core/password_hashers/advanced.py +++ b/modoboa/core/password_hashers/advanced.py @@ -6,8 +6,6 @@ Advanced (ie. stronger) password hashers. This module relies on `passlib` to provide more secure hashers. """ -from __future__ import unicode_literals - from passlib.hash import bcrypt, md5_crypt, sha256_crypt, sha512_crypt try: diff --git a/modoboa/core/password_hashers/base.py b/modoboa/core/password_hashers/base.py index 8b354466f..4cce37e5e 100644 --- a/modoboa/core/password_hashers/base.py +++ b/modoboa/core/password_hashers/base.py @@ -6,8 +6,6 @@ Base password hashers. Contains weak hashers (the original ones) available with Modoboa. """ -from __future__ import unicode_literals - import base64 import crypt import hashlib diff --git a/modoboa/core/password_validation.py b/modoboa/core/password_validation.py index db3693ba1..de5df3f97 100644 --- a/modoboa/core/password_validation.py +++ b/modoboa/core/password_validation.py @@ -2,8 +2,6 @@ """Custom password validators.""" -from __future__ import unicode_literals - from django.core.exceptions import ValidationError from django.utils.translation import ugettext as _, ungettext diff --git a/modoboa/core/signals.py b/modoboa/core/signals.py index 708759fac..a52809352 100644 --- a/modoboa/core/signals.py +++ b/modoboa/core/signals.py @@ -2,8 +2,6 @@ """Modoboa core signals.""" -from __future__ import unicode_literals - import django.dispatch account_auto_created = django.dispatch.Signal(providing_args=["user"]) diff --git a/modoboa/core/templatetags/core_tags.py b/modoboa/core/templatetags/core_tags.py index b0f98ca3c..a160e62fc 100644 --- a/modoboa/core/templatetags/core_tags.py +++ b/modoboa/core/templatetags/core_tags.py @@ -2,8 +2,6 @@ """Custom tags for Core application.""" -from __future__ import unicode_literals - import os import re from functools import reduce diff --git a/modoboa/core/tests/stupid_extension_1/modo_extension.py b/modoboa/core/tests/stupid_extension_1/modo_extension.py index 5fdf23318..c35c87937 100644 --- a/modoboa/core/tests/stupid_extension_1/modo_extension.py +++ b/modoboa/core/tests/stupid_extension_1/modo_extension.py @@ -2,8 +2,6 @@ """A stupid extension used for tests.""" -from __future__ import unicode_literals - from modoboa.core import extensions diff --git a/modoboa/core/tests/stupid_extension_2/modo_extension.py b/modoboa/core/tests/stupid_extension_2/modo_extension.py index c7a58d1cc..f44a359ee 100644 --- a/modoboa/core/tests/stupid_extension_2/modo_extension.py +++ b/modoboa/core/tests/stupid_extension_2/modo_extension.py @@ -2,8 +2,6 @@ """A stupid extension used for tests.""" -from __future__ import unicode_literals - from modoboa.core import extensions diff --git a/modoboa/core/tests/stupid_extension_2/urls.py b/modoboa/core/tests/stupid_extension_2/urls.py index 0e3717f91..b0a58d9b5 100644 --- a/modoboa/core/tests/stupid_extension_2/urls.py +++ b/modoboa/core/tests/stupid_extension_2/urls.py @@ -2,8 +2,6 @@ """Custom urls.""" -from __future__ import unicode_literals - from django.conf.urls import url from . import views diff --git a/modoboa/core/tests/stupid_extension_2/views.py b/modoboa/core/tests/stupid_extension_2/views.py index c0a372402..127ace10b 100644 --- a/modoboa/core/tests/stupid_extension_2/views.py +++ b/modoboa/core/tests/stupid_extension_2/views.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django import http diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index 912855f4c..3c5fe0c2f 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -2,11 +2,9 @@ """Tests for core application.""" -from __future__ import unicode_literals - import os import smtplib -from unittest import skipIf, skipUnless +from unittest import mock, skipIf, skipUnless from django.core import mail from django.test import override_settings @@ -23,13 +21,6 @@ from modoboa.core.password_hashers import ( from modoboa.lib.tests import NO_SMTP, ModoTestCase from .. import factories, models -try: - # mock is part of the Python (>= 3.3) standard library - from unittest import mock -except ImportError: - # fall back to the mock backport - import mock - @override_settings( DOVEADM_LOOKUP_PATH=["{}/doveadm".format(os.path.dirname(__file__))]) diff --git a/modoboa/core/tests/test_checks.py b/modoboa/core/tests/test_checks.py index 124cf3930..da4d1977e 100644 --- a/modoboa/core/tests/test_checks.py +++ b/modoboa/core/tests/test_checks.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.test import SimpleTestCase from django.test.utils import override_settings diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index 5d9a5a605..95772de16 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -2,8 +2,6 @@ """Tests for core application.""" -from __future__ import unicode_literals - import httmock from dateutil.relativedelta import relativedelta from six import StringIO diff --git a/modoboa/core/tests/test_extensions.py b/modoboa/core/tests/test_extensions.py index af420f526..74116b87b 100644 --- a/modoboa/core/tests/test_extensions.py +++ b/modoboa/core/tests/test_extensions.py @@ -2,8 +2,6 @@ """Extensions management related test cases.""" -from __future__ import unicode_literals - import os import sys diff --git a/modoboa/core/tests/test_ldap.py b/modoboa/core/tests/test_ldap.py index 54c12a31a..8e4bdf410 100644 --- a/modoboa/core/tests/test_ldap.py +++ b/modoboa/core/tests/test_ldap.py @@ -2,8 +2,6 @@ """Tests for core application.""" -from __future__ import unicode_literals - from unittest import skipIf from django.test import override_settings diff --git a/modoboa/core/tests/test_views.py b/modoboa/core/tests/test_views.py index 498892c99..877f524ab 100644 --- a/modoboa/core/tests/test_views.py +++ b/modoboa/core/tests/test_views.py @@ -2,8 +2,6 @@ """Core views test cases.""" -from __future__ import unicode_literals - from testfixtures import compare from django import forms diff --git a/modoboa/core/urls.py b/modoboa/core/urls.py index 8b0fd2f95..5d4e69d15 100644 --- a/modoboa/core/urls.py +++ b/modoboa/core/urls.py @@ -2,8 +2,6 @@ """Core urls.""" -from __future__ import unicode_literals - from django.conf.urls import url from . import views diff --git a/modoboa/core/utils.py b/modoboa/core/utils.py index 8d992880a..d5ad42fe4 100644 --- a/modoboa/core/utils.py +++ b/modoboa/core/utils.py @@ -2,8 +2,6 @@ """Utility functions.""" -from __future__ import unicode_literals - from pkg_resources import parse_version from django.utils.translation import ugettext as _ diff --git a/modoboa/core/views/__init__.py b/modoboa/core/views/__init__.py index 479f86c7f..c5aa51ea0 100644 --- a/modoboa/core/views/__init__.py +++ b/modoboa/core/views/__init__.py @@ -2,8 +2,6 @@ """Core views.""" -from __future__ import unicode_literals - from .admin import ( check_top_notifications, information, logs, logs_page, parameters, viewsettings diff --git a/modoboa/core/views/admin.py b/modoboa/core/views/admin.py index d1ec82099..e85a30c8d 100644 --- a/modoboa/core/views/admin.py +++ b/modoboa/core/views/admin.py @@ -2,8 +2,6 @@ """Views available to super administrators only.""" -from __future__ import unicode_literals - from functools import reduce from django.contrib.auth.decorators import login_required, user_passes_test diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index 8945f7bf4..bd0e19c4f 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -2,8 +2,6 @@ """Core authentication views.""" -from __future__ import unicode_literals - import logging from django.contrib.auth import ( diff --git a/modoboa/core/views/base.py b/modoboa/core/views/base.py index 32ed7651e..f907e80f2 100644 --- a/modoboa/core/views/base.py +++ b/modoboa/core/views/base.py @@ -2,8 +2,6 @@ """Base core views.""" -from __future__ import unicode_literals - from django.contrib.auth import mixins as auth_mixins from django.urls import reverse from django.utils.http import is_safe_url diff --git a/modoboa/core/views/dashboard.py b/modoboa/core/views/dashboard.py index 669bc424d..46901dac3 100644 --- a/modoboa/core/views/dashboard.py +++ b/modoboa/core/views/dashboard.py @@ -2,8 +2,6 @@ """Core dashboard views.""" -from __future__ import unicode_literals - import feedparser import requests from dateutil import parser diff --git a/modoboa/core/views/user.py b/modoboa/core/views/user.py index 22dea631b..c311bf778 100644 --- a/modoboa/core/views/user.py +++ b/modoboa/core/views/user.py @@ -2,8 +2,6 @@ """Simple user views.""" -from __future__ import unicode_literals - from django.contrib.auth.decorators import login_required, user_passes_test from django.shortcuts import render from django.template.loader import render_to_string diff --git a/modoboa/dnstools/factories.py b/modoboa/dnstools/factories.py index 4a0b86641..fb8a7710e 100644 --- a/modoboa/dnstools/factories.py +++ b/modoboa/dnstools/factories.py @@ -1,7 +1,5 @@ """App related factories.""" -from __future__ import unicode_literals - import factory from modoboa.admin import factories as admin_factories diff --git a/modoboa/dnstools/lib.py b/modoboa/dnstools/lib.py index e66b35283..1fd837ae1 100644 --- a/modoboa/dnstools/lib.py +++ b/modoboa/dnstools/lib.py @@ -1,7 +1,5 @@ """dnstools library.""" -from __future__ import unicode_literals - import ipaddress from django.utils.translation import ugettext as _ diff --git a/modoboa/dnstools/migrations/0001_initial.py b/modoboa/dnstools/migrations/0001_initial.py index 6fd8e9891..a3624d8c7 100644 --- a/modoboa/dnstools/migrations/0001_initial.py +++ b/modoboa/dnstools/migrations/0001_initial.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-19 10:07 -from __future__ import unicode_literals - from django.db import migrations, models import django.db.models.deletion import django.utils.timezone diff --git a/modoboa/dnstools/models.py b/modoboa/dnstools/models.py index 20e0a8d89..a2bd43a37 100644 --- a/modoboa/dnstools/models.py +++ b/modoboa/dnstools/models.py @@ -1,7 +1,5 @@ """App related models.""" -from __future__ import unicode_literals - import datetime from django.db import models diff --git a/modoboa/ldapsync/lib.py b/modoboa/ldapsync/lib.py index 89b371680..fd8a345c1 100644 --- a/modoboa/ldapsync/lib.py +++ b/modoboa/ldapsync/lib.py @@ -1,7 +1,5 @@ """LDAP related functions.""" -from __future__ import unicode_literals - import ldap import ldap.modlist as modlist diff --git a/modoboa/ldapsync/tests.py b/modoboa/ldapsync/tests.py index 448d28ae9..2e975a09b 100644 --- a/modoboa/ldapsync/tests.py +++ b/modoboa/ldapsync/tests.py @@ -1,7 +1,5 @@ """LDAP sync. related tests.""" -from __future__ import unicode_literals - from unittest import skipIf from django.utils import six diff --git a/modoboa/lib/api_client.py b/modoboa/lib/api_client.py index 70cf45d87..46d3f8ebf 100644 --- a/modoboa/lib/api_client.py +++ b/modoboa/lib/api_client.py @@ -2,8 +2,6 @@ """A client for Modoboa's public API.""" -from __future__ import unicode_literals - import os import pkg_resources diff --git a/modoboa/lib/authbackends.py b/modoboa/lib/authbackends.py index 9f8644726..e11980531 100644 --- a/modoboa/lib/authbackends.py +++ b/modoboa/lib/authbackends.py @@ -2,8 +2,6 @@ """Custom authentication backends.""" -from __future__ import unicode_literals - import smtplib from django.conf import settings diff --git a/modoboa/lib/connections.py b/modoboa/lib/connections.py index 5a194f674..1f7daa6bb 100644 --- a/modoboa/lib/connections.py +++ b/modoboa/lib/connections.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from modoboa.lib.cryptutils import decrypt diff --git a/modoboa/lib/cryptutils.py b/modoboa/lib/cryptutils.py index 41815a38f..4c41ab143 100644 --- a/modoboa/lib/cryptutils.py +++ b/modoboa/lib/cryptutils.py @@ -2,8 +2,6 @@ """Crypto related utilities.""" -from __future__ import unicode_literals - import base64 from cryptography.fernet import Fernet diff --git a/modoboa/lib/db_utils.py b/modoboa/lib/db_utils.py index 3336ed1ac..248f0060d 100644 --- a/modoboa/lib/db_utils.py +++ b/modoboa/lib/db_utils.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.conf import settings from django.db import connection from django.utils.translation import ugettext as _ diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index 3eb25b9f0..572f41cbb 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import email import re import smtplib diff --git a/modoboa/lib/exceptions.py b/modoboa/lib/exceptions.py index 9a672e8ca..6ce42739e 100644 --- a/modoboa/lib/exceptions.py +++ b/modoboa/lib/exceptions.py @@ -6,8 +6,6 @@ """ -from __future__ import unicode_literals - from django.utils.translation import ugettext as _ diff --git a/modoboa/lib/fields.py b/modoboa/lib/fields.py index 52f53cd72..afe75d845 100644 --- a/modoboa/lib/fields.py +++ b/modoboa/lib/fields.py @@ -2,8 +2,6 @@ """Custom form fields.""" -from __future__ import unicode_literals - from django import forms from django.utils.translation import ugettext_lazy diff --git a/modoboa/lib/form_utils.py b/modoboa/lib/form_utils.py index 937e0e8d9..87ea007f3 100644 --- a/modoboa/lib/form_utils.py +++ b/modoboa/lib/form_utils.py @@ -2,8 +2,6 @@ """Form management utilities.""" -from __future__ import unicode_literals - import abc import re from collections import OrderedDict diff --git a/modoboa/lib/imap_utf7.py b/modoboa/lib/imap_utf7.py index 34efc3778..95caa987b 100644 --- a/modoboa/lib/imap_utf7.py +++ b/modoboa/lib/imap_utf7.py @@ -51,8 +51,6 @@ Found here: http://svn.plone.org/svn/collective/mxmImapClient/trunk/imapUTF7.py """ -from __future__ import print_function, unicode_literals - import codecs # encoding diff --git a/modoboa/lib/ldap_utils.py b/modoboa/lib/ldap_utils.py index c7ec9235d..35374c007 100644 --- a/modoboa/lib/ldap_utils.py +++ b/modoboa/lib/ldap_utils.py @@ -33,8 +33,6 @@ Extracted from `this blog """ -from __future__ import unicode_literals - import ldap from django.conf import settings diff --git a/modoboa/lib/listing.py b/modoboa/lib/listing.py index 8237719fe..a66f85d1f 100644 --- a/modoboa/lib/listing.py +++ b/modoboa/lib/listing.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from modoboa.parameters import tools as param_tools diff --git a/modoboa/lib/middleware.py b/modoboa/lib/middleware.py index 2273e6b1e..4ed071de9 100644 --- a/modoboa/lib/middleware.py +++ b/modoboa/lib/middleware.py @@ -2,8 +2,6 @@ """Custom middlewares.""" -from __future__ import unicode_literals - from django.http import HttpResponseRedirect from django.utils.deprecation import MiddlewareMixin from django.utils.encoding import smart_text diff --git a/modoboa/lib/migrations/0001_initial.py b/modoboa/lib/migrations/0001_initial.py index 6f5cd6f93..c1f59bbb3 100644 --- a/modoboa/lib/migrations/0001_initial.py +++ b/modoboa/lib/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations from django.conf import settings diff --git a/modoboa/lib/migrations/0002_rename_parameters.py b/modoboa/lib/migrations/0002_rename_parameters.py index da484142b..c7c85d519 100644 --- a/modoboa/lib/migrations/0002_rename_parameters.py +++ b/modoboa/lib/migrations/0002_rename_parameters.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations APPLICATIONS = [ diff --git a/modoboa/lib/migrations/0003_rename_parameters.py b/modoboa/lib/migrations/0003_rename_parameters.py index 642e5a5a8..193206bb9 100644 --- a/modoboa/lib/migrations/0003_rename_parameters.py +++ b/modoboa/lib/migrations/0003_rename_parameters.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations APPS = ( diff --git a/modoboa/lib/migrations/0004_auto_20151114_1409.py b/modoboa/lib/migrations/0004_auto_20151114_1409.py index e66d38167..fe5fa0d61 100644 --- a/modoboa/lib/migrations/0004_auto_20151114_1409.py +++ b/modoboa/lib/migrations/0004_auto_20151114_1409.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/lib/migrations/0005_auto_20160416_1449.py b/modoboa/lib/migrations/0005_auto_20160416_1449.py index 6c594dec3..1a10f9519 100644 --- a/modoboa/lib/migrations/0005_auto_20160416_1449.py +++ b/modoboa/lib/migrations/0005_auto_20160416_1449.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/lib/migrations/0006_auto_20161104_2206.py b/modoboa/lib/migrations/0006_auto_20161104_2206.py index 105af9718..b937f2131 100644 --- a/modoboa/lib/migrations/0006_auto_20161104_2206.py +++ b/modoboa/lib/migrations/0006_auto_20161104_2206.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 21:06 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/lib/migrations/__init__.py b/modoboa/lib/migrations/__init__.py index baffc4882..e69de29bb 100644 --- a/modoboa/lib/migrations/__init__.py +++ b/modoboa/lib/migrations/__init__.py @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/modoboa/lib/paginator.py b/modoboa/lib/paginator.py index 9006ded56..d3e3a4690 100644 --- a/modoboa/lib/paginator.py +++ b/modoboa/lib/paginator.py @@ -4,9 +4,6 @@ Custom pagination tools. """ -from __future__ import unicode_literals - - class Page(object): """Class to represent a page.""" diff --git a/modoboa/lib/permissions.py b/modoboa/lib/permissions.py index b1705bd77..292fd37fe 100644 --- a/modoboa/lib/permissions.py +++ b/modoboa/lib/permissions.py @@ -2,8 +2,6 @@ """Object level permissions.""" -from __future__ import unicode_literals - from django.contrib.auth.models import Group, Permission from django.contrib.contenttypes.models import ContentType diff --git a/modoboa/lib/signals.py b/modoboa/lib/signals.py index 46c4795b1..692e4d102 100644 --- a/modoboa/lib/signals.py +++ b/modoboa/lib/signals.py @@ -2,8 +2,6 @@ """Custom signals.""" -from __future__ import unicode_literals - from threading import local _local_store = local() diff --git a/modoboa/lib/singleton.py b/modoboa/lib/singleton.py index 2033d7c6e..db4ab223a 100644 --- a/modoboa/lib/singleton.py +++ b/modoboa/lib/singleton.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - # works in Python 2 & 3 class _Singleton(type): diff --git a/modoboa/lib/sysutils.py b/modoboa/lib/sysutils.py index eb0b8c92f..fec12846f 100644 --- a/modoboa/lib/sysutils.py +++ b/modoboa/lib/sysutils.py @@ -5,8 +5,6 @@ This module extra functions/shortcuts to communicate with the system (executing commands, etc.) """ -from __future__ import unicode_literals - import inspect import os import re diff --git a/modoboa/lib/templatetags/form_tags.py b/modoboa/lib/templatetags/form_tags.py index 796fce0be..49d823ff3 100644 --- a/modoboa/lib/templatetags/form_tags.py +++ b/modoboa/lib/templatetags/form_tags.py @@ -4,8 +4,6 @@ Form rendering tags. """ -from __future__ import unicode_literals - from django import forms, template from django.template.loader import render_to_string from django.utils.encoding import smart_text diff --git a/modoboa/lib/templatetags/lib_tags.py b/modoboa/lib/templatetags/lib_tags.py index 41a086d31..4682fea23 100644 --- a/modoboa/lib/templatetags/lib_tags.py +++ b/modoboa/lib/templatetags/lib_tags.py @@ -2,8 +2,6 @@ """Custom template tags.""" -from __future__ import unicode_literals - from datetime import datetime from django import template diff --git a/modoboa/lib/test_utils.py b/modoboa/lib/test_utils.py index 51b4be356..7b0b9deaf 100644 --- a/modoboa/lib/test_utils.py +++ b/modoboa/lib/test_utils.py @@ -2,8 +2,6 @@ """Tools for top level testing (ie. when ran by Travis).""" -from __future__ import unicode_literals - import os import shutil import tempfile diff --git a/modoboa/lib/tests/__init__.py b/modoboa/lib/tests/__init__.py index 7eb668515..254c1f2c4 100644 --- a/modoboa/lib/tests/__init__.py +++ b/modoboa/lib/tests/__init__.py @@ -2,8 +2,6 @@ """Testing utilities.""" -from __future__ import unicode_literals - import socket from django.core import management diff --git a/modoboa/lib/tests/test_cryptutils.py b/modoboa/lib/tests/test_cryptutils.py index 4c3f852d9..0bac68a92 100644 --- a/modoboa/lib/tests/test_cryptutils.py +++ b/modoboa/lib/tests/test_cryptutils.py @@ -2,8 +2,6 @@ """Tests for crypto utility functions.""" -from __future__ import unicode_literals - from django.test import SimpleTestCase from django.test.utils import override_settings diff --git a/modoboa/lib/tests/test_email_utils.py b/modoboa/lib/tests/test_email_utils.py index 6b2c8bbc4..12361dc61 100644 --- a/modoboa/lib/tests/test_email_utils.py +++ b/modoboa/lib/tests/test_email_utils.py @@ -2,8 +2,6 @@ """Tests for email_utils.""" -from __future__ import unicode_literals - import os from django.test import SimpleTestCase diff --git a/modoboa/lib/tests/test_u2u_decode.py b/modoboa/lib/tests/test_u2u_decode.py index 9c64cae46..e84aa498c 100644 --- a/modoboa/lib/tests/test_u2u_decode.py +++ b/modoboa/lib/tests/test_u2u_decode.py @@ -2,8 +2,6 @@ """Tests for u2u_decode.""" -from __future__ import unicode_literals - from django.test import TestCase from .. import u2u_decode diff --git a/modoboa/lib/u2u_decode.py b/modoboa/lib/u2u_decode.py index 5d9367557..cd8403223 100644 --- a/modoboa/lib/u2u_decode.py +++ b/modoboa/lib/u2u_decode.py @@ -7,8 +7,6 @@ A stupid (and not accurate) answer to https://bugs.python.org/issue1079. """ -from __future__ import unicode_literals - import re from email.header import decode_header, make_header from email.utils import parseaddr diff --git a/modoboa/lib/validators.py b/modoboa/lib/validators.py index 80bd95ca2..5699fa9ed 100644 --- a/modoboa/lib/validators.py +++ b/modoboa/lib/validators.py @@ -2,8 +2,6 @@ """Field validators.""" -from __future__ import unicode_literals - import re from django.core.exceptions import ValidationError diff --git a/modoboa/lib/web_utils.py b/modoboa/lib/web_utils.py index de54f63df..0b0ca4861 100644 --- a/modoboa/lib/web_utils.py +++ b/modoboa/lib/web_utils.py @@ -4,8 +4,6 @@ This module contains extra functions/shortcuts used to render HTML. """ -from __future__ import unicode_literals - import json import re import sys diff --git a/modoboa/limits/__init__.py b/modoboa/limits/__init__.py index 01758a791..1ea55179c 100644 --- a/modoboa/limits/__init__.py +++ b/modoboa/limits/__init__.py @@ -1,5 +1,3 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - default_app_config = "modoboa.limits.apps.LimitsConfig" diff --git a/modoboa/limits/app_settings.py b/modoboa/limits/app_settings.py index 070a38f23..e34c8a9a1 100644 --- a/modoboa/limits/app_settings.py +++ b/modoboa/limits/app_settings.py @@ -2,8 +2,6 @@ """Custom settings.""" -from __future__ import unicode_literals - from django import forms from django.utils.translation import ugettext_lazy as _ diff --git a/modoboa/limits/apps.py b/modoboa/limits/apps.py index 7f066caf0..f578d63a2 100644 --- a/modoboa/limits/apps.py +++ b/modoboa/limits/apps.py @@ -2,8 +2,6 @@ """App config for limits.""" -from __future__ import unicode_literals - from django.apps import AppConfig from django.utils.translation import ugettext as _ diff --git a/modoboa/limits/constants.py b/modoboa/limits/constants.py index 570d961aa..e6cc2be03 100644 --- a/modoboa/limits/constants.py +++ b/modoboa/limits/constants.py @@ -2,8 +2,6 @@ """Modoboa limits constants.""" -from __future__ import unicode_literals - import collections from django.utils.translation import ugettext_lazy as _ diff --git a/modoboa/limits/forms.py b/modoboa/limits/forms.py index 7b91c377d..3c1a4fe50 100644 --- a/modoboa/limits/forms.py +++ b/modoboa/limits/forms.py @@ -2,8 +2,6 @@ """Custom forms.""" -from __future__ import unicode_literals - from django import forms from django.utils.translation import ugettext as _ diff --git a/modoboa/limits/handlers.py b/modoboa/limits/handlers.py index 57309b405..05d419b09 100644 --- a/modoboa/limits/handlers.py +++ b/modoboa/limits/handlers.py @@ -2,8 +2,6 @@ """Django signal handlers for limits.""" -from __future__ import unicode_literals - from django.contrib.contenttypes.models import ContentType from django.db.models import signals from django.dispatch import receiver diff --git a/modoboa/limits/lib.py b/modoboa/limits/lib.py index 68dcb734a..c4f7c50ed 100644 --- a/modoboa/limits/lib.py +++ b/modoboa/limits/lib.py @@ -6,8 +6,6 @@ """ -from __future__ import unicode_literals - from django.utils.translation import ugettext as _ from modoboa.lib.exceptions import ModoboaException diff --git a/modoboa/limits/migrations/0001_initial.py b/modoboa/limits/migrations/0001_initial.py index 2c1d96230..a7c57de3a 100644 --- a/modoboa/limits/migrations/0001_initial.py +++ b/modoboa/limits/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations from django.conf import settings diff --git a/modoboa/limits/migrations/0002_auto_20151114_1518.py b/modoboa/limits/migrations/0002_auto_20151114_1518.py index a6ed7714f..9da2249d9 100644 --- a/modoboa/limits/migrations/0002_auto_20151114_1518.py +++ b/modoboa/limits/migrations/0002_auto_20151114_1518.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/limits/migrations/0003_auto_20160413_1046.py b/modoboa/limits/migrations/0003_auto_20160413_1046.py index 625a90568..188780bd7 100644 --- a/modoboa/limits/migrations/0003_auto_20160413_1046.py +++ b/modoboa/limits/migrations/0003_auto_20160413_1046.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models from django.conf import settings diff --git a/modoboa/limits/migrations/0004_auto_20160413_1312.py b/modoboa/limits/migrations/0004_auto_20160413_1312.py index fe085dd35..71850e7ba 100644 --- a/modoboa/limits/migrations/0004_auto_20160413_1312.py +++ b/modoboa/limits/migrations/0004_auto_20160413_1312.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/limits/migrations/0005_auto_20160415_1654.py b/modoboa/limits/migrations/0005_auto_20160415_1654.py index 9b05b9f08..5eae6f8ff 100644 --- a/modoboa/limits/migrations/0005_auto_20160415_1654.py +++ b/modoboa/limits/migrations/0005_auto_20160415_1654.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import migrations, models import modoboa.limits.models diff --git a/modoboa/limits/migrations/0006_auto_20170216_1112.py b/modoboa/limits/migrations/0006_auto_20170216_1112.py index d195d54b1..0ce9ea60c 100644 --- a/modoboa/limits/migrations/0006_auto_20170216_1112.py +++ b/modoboa/limits/migrations/0006_auto_20170216_1112.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-16 10:12 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/limits/migrations/__init__.py b/modoboa/limits/migrations/__init__.py index baffc4882..e69de29bb 100644 --- a/modoboa/limits/migrations/__init__.py +++ b/modoboa/limits/migrations/__init__.py @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/modoboa/limits/models.py b/modoboa/limits/models.py index ce62d9bfc..638229a2b 100644 --- a/modoboa/limits/models.py +++ b/modoboa/limits/models.py @@ -2,8 +2,6 @@ """Models for the limits extensions.""" -from __future__ import unicode_literals - from django.conf import settings from django.db import models from django.utils.encoding import python_2_unicode_compatible diff --git a/modoboa/limits/serializers.py b/modoboa/limits/serializers.py index 9fa0cbd00..dcabc1e9c 100644 --- a/modoboa/limits/serializers.py +++ b/modoboa/limits/serializers.py @@ -2,8 +2,6 @@ """Limits serializers.""" -from __future__ import unicode_literals - from rest_framework import serializers from . import lib diff --git a/modoboa/limits/tests/test_api.py b/modoboa/limits/tests/test_api.py index 890c05556..252a4205a 100644 --- a/modoboa/limits/tests/test_api.py +++ b/modoboa/limits/tests/test_api.py @@ -2,8 +2,6 @@ """Test cases for the limits extension.""" -from __future__ import unicode_literals - from testfixtures import compare from django.urls import reverse diff --git a/modoboa/limits/tests/test_domain_limits.py b/modoboa/limits/tests/test_domain_limits.py index 9442cda99..052d5534b 100644 --- a/modoboa/limits/tests/test_domain_limits.py +++ b/modoboa/limits/tests/test_domain_limits.py @@ -2,8 +2,6 @@ """Test cases for the limits extension.""" -from __future__ import unicode_literals - from django.urls import reverse from modoboa.admin import factories as admin_factories diff --git a/modoboa/limits/tests/test_import.py b/modoboa/limits/tests/test_import.py index 109021f45..4f6eb3a3b 100644 --- a/modoboa/limits/tests/test_import.py +++ b/modoboa/limits/tests/test_import.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.core.files.base import ContentFile from django.urls import reverse diff --git a/modoboa/limits/tests/test_user_limits.py b/modoboa/limits/tests/test_user_limits.py index 41bb40706..9915e4abe 100644 --- a/modoboa/limits/tests/test_user_limits.py +++ b/modoboa/limits/tests/test_user_limits.py @@ -2,8 +2,6 @@ """Test cases for the limits extension.""" -from __future__ import unicode_literals - from django.urls import reverse from modoboa.admin.factories import populate_database diff --git a/modoboa/limits/urls_api.py b/modoboa/limits/urls_api.py index 39c2e4f03..a7f6c1753 100644 --- a/modoboa/limits/urls_api.py +++ b/modoboa/limits/urls_api.py @@ -2,8 +2,6 @@ """Limits API urls.""" -from __future__ import unicode_literals - from rest_framework import routers from . import viewsets diff --git a/modoboa/limits/utils.py b/modoboa/limits/utils.py index ebbb11972..cf6c47bbf 100644 --- a/modoboa/limits/utils.py +++ b/modoboa/limits/utils.py @@ -2,8 +2,6 @@ """Modoboa limits utilities.""" -from __future__ import unicode_literals - from . import constants diff --git a/modoboa/limits/viewsets.py b/modoboa/limits/viewsets.py index 7cb8b3e55..76e4f5000 100644 --- a/modoboa/limits/viewsets.py +++ b/modoboa/limits/viewsets.py @@ -2,8 +2,6 @@ """Limits API.""" -from __future__ import unicode_literals - from django.contrib.contenttypes.models import ContentType from rest_framework import mixins, viewsets diff --git a/modoboa/parameters/apps.py b/modoboa/parameters/apps.py index f60d64f47..407aac5be 100644 --- a/modoboa/parameters/apps.py +++ b/modoboa/parameters/apps.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/modoboa/parameters/forms.py b/modoboa/parameters/forms.py index 19243c7b0..736253a5c 100644 --- a/modoboa/parameters/forms.py +++ b/modoboa/parameters/forms.py @@ -2,8 +2,6 @@ """Parameters forms.""" -from __future__ import unicode_literals - from django import forms from modoboa.lib import db_utils, form_utils diff --git a/modoboa/parameters/tools.py b/modoboa/parameters/tools.py index 5187ec0a5..58df27d47 100644 --- a/modoboa/parameters/tools.py +++ b/modoboa/parameters/tools.py @@ -2,8 +2,6 @@ """Parameters management.""" -from __future__ import unicode_literals - import copy from modoboa.lib import exceptions, form_utils, signals diff --git a/modoboa/relaydomains/__init__.py b/modoboa/relaydomains/__init__.py index 05dc26897..2e61ad8ae 100644 --- a/modoboa/relaydomains/__init__.py +++ b/modoboa/relaydomains/__init__.py @@ -1,5 +1,3 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - default_app_config = "modoboa.relaydomains.apps.RelayDomainsConfig" diff --git a/modoboa/relaydomains/apps.py b/modoboa/relaydomains/apps.py index cfdb726b3..ab56d701b 100644 --- a/modoboa/relaydomains/apps.py +++ b/modoboa/relaydomains/apps.py @@ -2,8 +2,6 @@ """AppConfig for relaydomains.""" -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/modoboa/relaydomains/forms.py b/modoboa/relaydomains/forms.py index f9b40e6d6..8bb3ba159 100644 --- a/modoboa/relaydomains/forms.py +++ b/modoboa/relaydomains/forms.py @@ -2,8 +2,6 @@ """Postfix relay domains extension forms.""" -from __future__ import unicode_literals - from django.db.models.signals import pre_save, post_save from modoboa.lib.form_utils import WizardStep diff --git a/modoboa/relaydomains/handlers.py b/modoboa/relaydomains/handlers.py index b06effa28..ec38b6b93 100644 --- a/modoboa/relaydomains/handlers.py +++ b/modoboa/relaydomains/handlers.py @@ -2,8 +2,6 @@ """Django signal handlers for relaydomains.""" -from __future__ import unicode_literals - from django.db.models import signals from django.dispatch import receiver from django.utils.translation import ugettext as _ diff --git a/modoboa/relaydomains/lib.py b/modoboa/relaydomains/lib.py index bcebef70b..fedd51616 100644 --- a/modoboa/relaydomains/lib.py +++ b/modoboa/relaydomains/lib.py @@ -2,8 +2,6 @@ """Internal library.""" -from __future__ import unicode_literals - from django.utils.translation import ugettext as _ from modoboa.admin import models as admin_models diff --git a/modoboa/relaydomains/migrations/0001_initial.py b/modoboa/relaydomains/migrations/0001_initial.py index 84cf66c6a..b233b67d9 100644 --- a/modoboa/relaydomains/migrations/0001_initial.py +++ b/modoboa/relaydomains/migrations/0001_initial.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py b/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py index e100533fc..aa32af599 100644 --- a/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py +++ b/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py @@ -1,6 +1,4 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.db import models, migrations diff --git a/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py b/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py index 19c94ce5b..ab092c3ff 100644 --- a/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py +++ b/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.12 on 2017-01-16 14:08 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py b/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py index 7c0320a81..b0700c8a6 100644 --- a/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py +++ b/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-05 13:24 -from __future__ import unicode_literals - from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py b/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py index a056781d5..8e1d65143 100644 --- a/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py +++ b/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-05 13:26 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py b/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py index 6f0ed989d..76b34c521 100644 --- a/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py +++ b/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 08:48 -from __future__ import unicode_literals - from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/relaydomains/migrations/0007_recipientaccess.py b/modoboa/relaydomains/migrations/0007_recipientaccess.py index 4c86b5099..99c3324e5 100644 --- a/modoboa/relaydomains/migrations/0007_recipientaccess.py +++ b/modoboa/relaydomains/migrations/0007_recipientaccess.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 14:06 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py b/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py index e92b8e3af..a4f177483 100644 --- a/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py +++ b/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-23 15:53 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py b/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py index 2c4a0f9c7..d8aa4268d 100644 --- a/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py +++ b/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 14:08 -from __future__ import unicode_literals - from django.db import migrations diff --git a/modoboa/relaydomains/migrations/__init__.py b/modoboa/relaydomains/migrations/__init__.py index baffc4882..e69de29bb 100644 --- a/modoboa/relaydomains/migrations/__init__.py +++ b/modoboa/relaydomains/migrations/__init__.py @@ -1 +0,0 @@ -from __future__ import unicode_literals diff --git a/modoboa/relaydomains/models.py b/modoboa/relaydomains/models.py index 5e3700c78..0adc20c42 100644 --- a/modoboa/relaydomains/models.py +++ b/modoboa/relaydomains/models.py @@ -2,8 +2,6 @@ """Relay domain related models.""" -from __future__ import unicode_literals - from django.db import models diff --git a/modoboa/relaydomains/postfix_maps.py b/modoboa/relaydomains/postfix_maps.py index 77c5904e0..bbb3d0c63 100644 --- a/modoboa/relaydomains/postfix_maps.py +++ b/modoboa/relaydomains/postfix_maps.py @@ -2,9 +2,6 @@ """Map file definitions for postfix.""" -from __future__ import unicode_literals - - class RelayDomainsMap(object): """Map file to list all relay domains.""" diff --git a/modoboa/relaydomains/serializers.py b/modoboa/relaydomains/serializers.py index 8887f2714..604052ad3 100644 --- a/modoboa/relaydomains/serializers.py +++ b/modoboa/relaydomains/serializers.py @@ -2,8 +2,6 @@ """RelayDomain serializers.""" -from __future__ import unicode_literals - import json from django.utils.translation import ugettext as _ diff --git a/modoboa/relaydomains/tests.py b/modoboa/relaydomains/tests.py index ca828e5ce..ddc3d6169 100644 --- a/modoboa/relaydomains/tests.py +++ b/modoboa/relaydomains/tests.py @@ -2,8 +2,6 @@ """relaydomains unit tests.""" -from __future__ import unicode_literals - import json from django.core.files.base import ContentFile diff --git a/modoboa/relaydomains/transport.py b/modoboa/relaydomains/transport.py index 641b66897..4946bb279 100644 --- a/modoboa/relaydomains/transport.py +++ b/modoboa/relaydomains/transport.py @@ -2,8 +2,6 @@ """Transport backend definition.""" -from __future__ import unicode_literals - from django.utils.translation import ugettext_lazy as _ from modoboa.transport import backends diff --git a/modoboa/relaydomains/urls_api.py b/modoboa/relaydomains/urls_api.py index 275a160dc..78e81cfc2 100644 --- a/modoboa/relaydomains/urls_api.py +++ b/modoboa/relaydomains/urls_api.py @@ -2,8 +2,6 @@ """Transport API urls.""" -from __future__ import unicode_literals - from rest_framework import routers from . import viewsets diff --git a/modoboa/relaydomains/viewsets.py b/modoboa/relaydomains/viewsets.py index 8f75e266b..183818339 100644 --- a/modoboa/relaydomains/viewsets.py +++ b/modoboa/relaydomains/viewsets.py @@ -2,8 +2,6 @@ """RelayDomain viewsets.""" -from __future__ import unicode_literals - from rest_framework import viewsets from rest_framework.permissions import DjangoModelPermissions, IsAuthenticated diff --git a/modoboa/test_settings.py b/modoboa/test_settings.py index 535b8c3c1..cd41389b7 100644 --- a/modoboa/test_settings.py +++ b/modoboa/test_settings.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - import os # Database diff --git a/modoboa/transport/__init__.py b/modoboa/transport/__init__.py index 96b626725..63503991a 100644 --- a/modoboa/transport/__init__.py +++ b/modoboa/transport/__init__.py @@ -1,5 +1,3 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - default_app_config = "modoboa.transport.apps.TransportConfig" diff --git a/modoboa/transport/apps.py b/modoboa/transport/apps.py index 7d27b0001..55851bb67 100644 --- a/modoboa/transport/apps.py +++ b/modoboa/transport/apps.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from django.apps import AppConfig diff --git a/modoboa/transport/backends.py b/modoboa/transport/backends.py index dc2ae5500..29bd6d4bb 100644 --- a/modoboa/transport/backends.py +++ b/modoboa/transport/backends.py @@ -2,8 +2,6 @@ """Transport backend.""" -from __future__ import unicode_literals - from django import forms from django.core import validators from django.utils.translation import ugettext_lazy as _ diff --git a/modoboa/transport/constants.py b/modoboa/transport/constants.py index b1786c081..87286d302 100644 --- a/modoboa/transport/constants.py +++ b/modoboa/transport/constants.py @@ -2,8 +2,6 @@ """Transport constants.""" -from __future__ import unicode_literals - PERMISSIONS = { } diff --git a/modoboa/transport/factories.py b/modoboa/transport/factories.py index 7e08e0b34..547fddad8 100644 --- a/modoboa/transport/factories.py +++ b/modoboa/transport/factories.py @@ -2,8 +2,6 @@ """Transport factories.""" -from __future__ import unicode_literals - import factory from . import models diff --git a/modoboa/transport/forms.py b/modoboa/transport/forms.py index 9309e0413..dd077b67f 100644 --- a/modoboa/transport/forms.py +++ b/modoboa/transport/forms.py @@ -2,8 +2,6 @@ """Transport forms.""" -from __future__ import unicode_literals - from django import forms from . import backends, models diff --git a/modoboa/transport/handlers.py b/modoboa/transport/handlers.py index 455b1030b..9d52d24d9 100644 --- a/modoboa/transport/handlers.py +++ b/modoboa/transport/handlers.py @@ -2,8 +2,6 @@ """Transport handlers.""" -from __future__ import unicode_literals - from django.db.models import signals from django.dispatch import receiver diff --git a/modoboa/transport/migrations/0001_initial.py b/modoboa/transport/migrations/0001_initial.py index 771b6a1ad..201f92cb4 100644 --- a/modoboa/transport/migrations/0001_initial.py +++ b/modoboa/transport/migrations/0001_initial.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 11:16 -from __future__ import unicode_literals - from django.db import migrations, models import jsonfield.fields diff --git a/modoboa/transport/migrations/0002_auto_20180928_1520.py b/modoboa/transport/migrations/0002_auto_20180928_1520.py index af5a49641..b8e7d31ca 100644 --- a/modoboa/transport/migrations/0002_auto_20180928_1520.py +++ b/modoboa/transport/migrations/0002_auto_20180928_1520.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-28 13:20 -from __future__ import unicode_literals - from django.db import migrations, models diff --git a/modoboa/transport/models.py b/modoboa/transport/models.py index 0db5e59cf..fb3fee181 100644 --- a/modoboa/transport/models.py +++ b/modoboa/transport/models.py @@ -2,8 +2,6 @@ """Transport models.""" -from __future__ import unicode_literals - import jsonfield from reversion import revisions as reversion diff --git a/modoboa/transport/postfix_maps.py b/modoboa/transport/postfix_maps.py index a756fd57d..a526f38b3 100644 --- a/modoboa/transport/postfix_maps.py +++ b/modoboa/transport/postfix_maps.py @@ -2,9 +2,6 @@ """Map file definitions for postfix.""" -from __future__ import unicode_literals - - class TransportMap(object): """A transport map.""" diff --git a/modoboa/urls.py b/modoboa/urls.py index e8fe24b79..c6a771996 100644 --- a/modoboa/urls.py +++ b/modoboa/urls.py @@ -1,7 +1,5 @@ # -*- coding: utf-8 -*- -from __future__ import unicode_literals - from functools import reduce from ckeditor_uploader import views as cku_views diff --git a/modoboa/urls_api.py b/modoboa/urls_api.py index ea1770cda..4df5320b1 100644 --- a/modoboa/urls_api.py +++ b/modoboa/urls_api.py @@ -2,8 +2,6 @@ """External API urls.""" -from __future__ import unicode_literals - from django.conf.urls import include, url from modoboa.core.extensions import exts_pool diff --git a/tests.py b/tests.py index 5177a3ec3..2fac9cd9b 100644 --- a/tests.py +++ b/tests.py @@ -1,5 +1,4 @@ # coding: utf-8 -from __future__ import unicode_literals import os import tempfile From 369d05e1c3b5a9babae789fe99e95ad9f6a4297a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 12:23:53 +0100 Subject: [PATCH 05/10] Remove the UTF-8 coding header --- bin/modoboa-admin.py | 1 - modoboa/__init__.py | 2 -- modoboa/admin/__init__.py | 2 -- modoboa/admin/api.py | 2 -- modoboa/admin/app_settings.py | 2 -- modoboa/admin/apps.py | 2 -- modoboa/admin/constants.py | 2 -- modoboa/admin/factories.py | 2 -- modoboa/admin/forms/__init__.py | 2 -- modoboa/admin/forms/account.py | 2 -- modoboa/admin/forms/alias.py | 2 -- modoboa/admin/forms/domain.py | 2 -- modoboa/admin/forms/export.py | 2 -- modoboa/admin/forms/forward.py | 2 -- modoboa/admin/forms/import_.py | 2 -- modoboa/admin/handlers.py | 2 -- modoboa/admin/lib.py | 2 -- modoboa/admin/management/commands/handle_mailbox_operations.py | 2 -- modoboa/admin/management/commands/modo.py | 2 -- modoboa/admin/management/commands/subcommands/_export.py | 2 -- modoboa/admin/management/commands/subcommands/_import.py | 2 -- .../admin/management/commands/subcommands/_manage_dkim_keys.py | 2 -- modoboa/admin/management/commands/subcommands/_mx.py | 2 -- modoboa/admin/management/commands/subcommands/_repair.py | 2 -- modoboa/admin/migrations/0001_initial.py | 1 - modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py | 1 - modoboa/admin/migrations/0003_auto_20151118_1215.py | 1 - modoboa/admin/migrations/0004_auto_20160914_0907.py | 1 - modoboa/admin/migrations/0005_auto_20161026_1003.py | 1 - modoboa/admin/migrations/0006_auto_20161104_1900.py | 1 - modoboa/admin/migrations/0007_auto_20161104_1915.py | 1 - modoboa/admin/migrations/0008_domain_enable_dns_checks.py | 1 - modoboa/admin/migrations/0009_auto_20170215_0948.py | 1 - modoboa/admin/migrations/0010_auto_20170215_1328.py | 1 - modoboa/admin/migrations/0011_domain_transport.py | 1 - modoboa/admin/migrations/0012_auto_20180112_1658.py | 1 - modoboa/admin/migrations/0013_auto_20180124_2311.py | 1 - modoboa/admin/migrations/0014_auto_20181017_1628.py | 1 - modoboa/admin/models/__init__.py | 2 -- modoboa/admin/models/alias.py | 2 -- modoboa/admin/models/base.py | 2 -- modoboa/admin/models/domain.py | 2 -- modoboa/admin/models/domain_alias.py | 2 -- modoboa/admin/models/mailbox.py | 2 -- modoboa/admin/models/mxrecord.py | 2 -- modoboa/admin/postfix_maps.py | 2 -- modoboa/admin/serializers.py | 2 -- modoboa/admin/signals.py | 2 -- modoboa/admin/templatetags/admin_tags.py | 2 -- modoboa/admin/tests/test_account.py | 2 -- modoboa/admin/tests/test_alias.py | 2 -- modoboa/admin/tests/test_api.py | 2 -- modoboa/admin/tests/test_domain.py | 2 -- modoboa/admin/tests/test_domain_alias.py | 2 -- modoboa/admin/tests/test_export.py | 2 -- modoboa/admin/tests/test_import_.py | 2 -- modoboa/admin/tests/test_mailbox_operations.py | 2 -- modoboa/admin/tests/test_mapfiles.py | 2 -- modoboa/admin/tests/test_mx.py | 2 -- modoboa/admin/tests/test_password_schemes.py | 2 -- modoboa/admin/tests/test_repair.py | 2 -- modoboa/admin/tests/test_user.py | 2 -- modoboa/admin/tests/utils.py | 2 -- modoboa/admin/urls.py | 2 -- modoboa/admin/urls_api.py | 2 -- modoboa/admin/views/__init__.py | 2 -- modoboa/admin/views/alias.py | 2 -- modoboa/admin/views/dns.py | 2 -- modoboa/admin/views/domain.py | 2 -- modoboa/admin/views/export.py | 2 -- modoboa/admin/views/identity.py | 2 -- modoboa/admin/views/import_.py | 2 -- modoboa/admin/views/user.py | 2 -- modoboa/core/__init__.py | 2 -- modoboa/core/app_settings.py | 2 -- modoboa/core/apps.py | 2 -- modoboa/core/checks/__init__.py | 2 -- modoboa/core/checks/settings_checks.py | 2 -- modoboa/core/commands/__init__.py | 2 -- modoboa/core/commands/deploy.py | 2 -- modoboa/core/commands/help.py | 2 -- modoboa/core/constants.py | 2 -- modoboa/core/context_processors.py | 2 -- modoboa/core/dev_settings.py | 2 -- modoboa/core/extensions.py | 2 -- modoboa/core/factories.py | 2 -- modoboa/core/forms.py | 2 -- modoboa/core/handlers.py | 2 -- modoboa/core/loggers.py | 2 -- modoboa/core/management/commands/clean_inactive_accounts.py | 2 -- modoboa/core/management/commands/cleanlogs.py | 2 -- .../core/management/commands/communicate_with_public_api.py | 2 -- modoboa/core/management/commands/generate_postfix_maps.py | 2 -- modoboa/core/management/commands/load_initial_data.py | 2 -- modoboa/core/management/commands/set_default_site.py | 2 -- modoboa/core/middleware.py | 2 -- modoboa/core/migrations/0001_initial.py | 1 - modoboa/core/migrations/0002_delete_extension.py | 1 - modoboa/core/migrations/0003_user_master_user.py | 1 - modoboa/core/migrations/0004_auto_20150728_1228.py | 1 - modoboa/core/migrations/0005_user_language.py | 1 - modoboa/core/migrations/0006_auto_20151114_1518.py | 1 - modoboa/core/migrations/0007_auto_20151116_1349.py | 1 - modoboa/core/migrations/0008_localconfig.py | 1 - modoboa/core/migrations/0009_auto_20161026_1003.py | 1 - modoboa/core/migrations/0010_auto_20161026_1011.py | 1 - modoboa/core/migrations/0011_auto_20161104_2217.py | 1 - modoboa/core/migrations/0012_auto_20170215_1034.py | 1 - modoboa/core/migrations/0013_auto_20170707_1058.py | 1 - modoboa/core/migrations/0014_auto_20171010_1746.py | 1 - modoboa/core/migrations/0015_auto_20180112_1642.py | 1 - modoboa/core/migrations/0016_auto_20180713_1014.py | 1 - modoboa/core/migrations/0017_auto_20190705_1045.py | 1 - modoboa/core/mocks.py | 2 -- modoboa/core/models.py | 2 -- modoboa/core/password_hashers/__init__.py | 2 -- modoboa/core/password_hashers/advanced.py | 2 -- modoboa/core/password_hashers/base.py | 2 -- modoboa/core/password_validation.py | 2 -- modoboa/core/signals.py | 2 -- modoboa/core/templatetags/core_tags.py | 2 -- modoboa/core/tests/stupid_extension_1/modo_extension.py | 2 -- modoboa/core/tests/stupid_extension_2/modo_extension.py | 2 -- modoboa/core/tests/stupid_extension_2/urls.py | 2 -- modoboa/core/tests/stupid_extension_2/views.py | 2 -- modoboa/core/tests/test_authentication.py | 2 -- modoboa/core/tests/test_checks.py | 2 -- modoboa/core/tests/test_core.py | 2 -- modoboa/core/tests/test_extensions.py | 2 -- modoboa/core/tests/test_ldap.py | 2 -- modoboa/core/tests/test_views.py | 2 -- modoboa/core/urls.py | 2 -- modoboa/core/utils.py | 2 -- modoboa/core/views/__init__.py | 2 -- modoboa/core/views/admin.py | 2 -- modoboa/core/views/auth.py | 2 -- modoboa/core/views/base.py | 2 -- modoboa/core/views/dashboard.py | 2 -- modoboa/core/views/user.py | 2 -- modoboa/dnstools/migrations/0001_initial.py | 1 - modoboa/lib/api_client.py | 2 -- modoboa/lib/authbackends.py | 2 -- modoboa/lib/connections.py | 2 -- modoboa/lib/cryptutils.py | 2 -- modoboa/lib/db_utils.py | 2 -- modoboa/lib/email_utils.py | 2 -- modoboa/lib/exceptions.py | 2 -- modoboa/lib/fields.py | 2 -- modoboa/lib/form_utils.py | 2 -- modoboa/lib/ldap_utils.py | 2 -- modoboa/lib/listing.py | 2 -- modoboa/lib/middleware.py | 2 -- modoboa/lib/migrations/0001_initial.py | 1 - modoboa/lib/migrations/0002_rename_parameters.py | 1 - modoboa/lib/migrations/0003_rename_parameters.py | 1 - modoboa/lib/migrations/0004_auto_20151114_1409.py | 1 - modoboa/lib/migrations/0005_auto_20160416_1449.py | 1 - modoboa/lib/migrations/0006_auto_20161104_2206.py | 1 - modoboa/lib/paginator.py | 2 -- modoboa/lib/permissions.py | 2 -- modoboa/lib/signals.py | 2 -- modoboa/lib/singleton.py | 3 --- modoboa/lib/sysutils.py | 2 -- modoboa/lib/templatetags/form_tags.py | 2 -- modoboa/lib/templatetags/lib_tags.py | 2 -- modoboa/lib/test_utils.py | 2 -- modoboa/lib/tests/__init__.py | 2 -- modoboa/lib/tests/test_cryptutils.py | 2 -- modoboa/lib/tests/test_email_utils.py | 2 -- modoboa/lib/tests/test_u2u_decode.py | 2 -- modoboa/lib/u2u_decode.py | 2 -- modoboa/lib/validators.py | 2 -- modoboa/lib/web_utils.py | 2 -- modoboa/limits/__init__.py | 2 -- modoboa/limits/app_settings.py | 2 -- modoboa/limits/apps.py | 2 -- modoboa/limits/constants.py | 2 -- modoboa/limits/forms.py | 2 -- modoboa/limits/handlers.py | 2 -- modoboa/limits/lib.py | 2 -- modoboa/limits/migrations/0001_initial.py | 1 - modoboa/limits/migrations/0002_auto_20151114_1518.py | 1 - modoboa/limits/migrations/0003_auto_20160413_1046.py | 1 - modoboa/limits/migrations/0004_auto_20160413_1312.py | 1 - modoboa/limits/migrations/0005_auto_20160415_1654.py | 1 - modoboa/limits/migrations/0006_auto_20170216_1112.py | 1 - modoboa/limits/models.py | 2 -- modoboa/limits/serializers.py | 2 -- modoboa/limits/tests/test_api.py | 2 -- modoboa/limits/tests/test_domain_limits.py | 2 -- modoboa/limits/tests/test_import.py | 2 -- modoboa/limits/tests/test_user_limits.py | 2 -- modoboa/limits/urls_api.py | 2 -- modoboa/limits/utils.py | 2 -- modoboa/limits/viewsets.py | 2 -- modoboa/parameters/apps.py | 2 -- modoboa/parameters/forms.py | 2 -- modoboa/parameters/tools.py | 2 -- modoboa/relaydomains/__init__.py | 2 -- modoboa/relaydomains/apps.py | 2 -- modoboa/relaydomains/forms.py | 2 -- modoboa/relaydomains/handlers.py | 2 -- modoboa/relaydomains/lib.py | 2 -- modoboa/relaydomains/migrations/0001_initial.py | 1 - .../migrations/0002_migrate_from_modoboa_admin_relaydomains.py | 1 - modoboa/relaydomains/migrations/0003_auto_20170116_1508.py | 1 - modoboa/relaydomains/migrations/0004_auto_20161105_1424.py | 1 - modoboa/relaydomains/migrations/0005_auto_20161105_1426.py | 1 - modoboa/relaydomains/migrations/0006_auto_20170215_0948.py | 1 - modoboa/relaydomains/migrations/0007_recipientaccess.py | 1 - modoboa/relaydomains/migrations/0008_auto_20171123_1653.py | 1 - modoboa/relaydomains/migrations/0009_auto_20171124_1508.py | 1 - modoboa/relaydomains/models.py | 2 -- modoboa/relaydomains/postfix_maps.py | 2 -- modoboa/relaydomains/serializers.py | 2 -- modoboa/relaydomains/tests.py | 2 -- modoboa/relaydomains/transport.py | 2 -- modoboa/relaydomains/urls_api.py | 2 -- modoboa/relaydomains/viewsets.py | 2 -- modoboa/test_settings.py | 2 -- modoboa/transport/__init__.py | 2 -- modoboa/transport/apps.py | 2 -- modoboa/transport/backends.py | 2 -- modoboa/transport/constants.py | 2 -- modoboa/transport/factories.py | 2 -- modoboa/transport/forms.py | 2 -- modoboa/transport/handlers.py | 2 -- modoboa/transport/migrations/0001_initial.py | 1 - modoboa/transport/migrations/0002_auto_20180928_1520.py | 1 - modoboa/transport/models.py | 2 -- modoboa/transport/postfix_maps.py | 2 -- modoboa/urls.py | 2 -- modoboa/urls_api.py | 2 -- tests.py | 2 -- 234 files changed, 413 deletions(-) diff --git a/bin/modoboa-admin.py b/bin/modoboa-admin.py index 9c2a31270..53bf9ac8e 100644 --- a/bin/modoboa-admin.py +++ b/bin/modoboa-admin.py @@ -1,5 +1,4 @@ #!/usr/bin/env python -# coding: utf-8 from modoboa.core.commands import handle_command_line diff --git a/modoboa/__init__.py b/modoboa/__init__.py index c9c4a76e9..4044639f7 100644 --- a/modoboa/__init__.py +++ b/modoboa/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa - Mail hosting made simple.""" from pkg_resources import DistributionNotFound, get_distribution diff --git a/modoboa/admin/__init__.py b/modoboa/admin/__init__.py index 8413b80d9..4002eb9dd 100644 --- a/modoboa/admin/__init__.py +++ b/modoboa/admin/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - default_app_config = "modoboa.admin.apps.AdminConfig" diff --git a/modoboa/admin/api.py b/modoboa/admin/api.py index 151a5bc9a..dd74ecf10 100644 --- a/modoboa/admin/api.py +++ b/modoboa/admin/api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin API.""" from django import http diff --git a/modoboa/admin/app_settings.py b/modoboa/admin/app_settings.py index 6b3425557..c2618e64e 100644 --- a/modoboa/admin/app_settings.py +++ b/modoboa/admin/app_settings.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa admin settings.""" import os diff --git a/modoboa/admin/apps.py b/modoboa/admin/apps.py index a35b17974..e39753524 100644 --- a/modoboa/admin/apps.py +++ b/modoboa/admin/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """AppConfig for admin.""" from django.apps import AppConfig diff --git a/modoboa/admin/constants.py b/modoboa/admin/constants.py index 5526d1bf2..bfedf1eed 100644 --- a/modoboa/admin/constants.py +++ b/modoboa/admin/constants.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin constants.""" from django.utils.translation import ugettext_lazy as _ diff --git a/modoboa/admin/factories.py b/modoboa/admin/factories.py index 8e5a2cdb0..cadd4907f 100644 --- a/modoboa/admin/factories.py +++ b/modoboa/admin/factories.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Fixtures factories. """ diff --git a/modoboa/admin/forms/__init__.py b/modoboa/admin/forms/__init__.py index e5b5ee334..e5cc34c9d 100644 --- a/modoboa/admin/forms/__init__.py +++ b/modoboa/admin/forms/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from .account import ( AccountForm, AccountFormGeneral, AccountFormMail, AccountPermissionsForm, AccountWizard diff --git a/modoboa/admin/forms/account.py b/modoboa/admin/forms/account.py index abbb0d183..66935db14 100644 --- a/modoboa/admin/forms/account.py +++ b/modoboa/admin/forms/account.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Forms related to accounts management.""" from collections import OrderedDict diff --git a/modoboa/admin/forms/alias.py b/modoboa/admin/forms/alias.py index a7b874310..3a5238ac6 100644 --- a/modoboa/admin/forms/alias.py +++ b/modoboa/admin/forms/alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Forms related to aliases management.""" from collections import OrderedDict diff --git a/modoboa/admin/forms/domain.py b/modoboa/admin/forms/domain.py index 69b2e1d69..7e2a6a95d 100644 --- a/modoboa/admin/forms/domain.py +++ b/modoboa/admin/forms/domain.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Forms related to domains management.""" from functools import reduce diff --git a/modoboa/admin/forms/export.py b/modoboa/admin/forms/export.py index 90d3cdef9..ca1a46c14 100644 --- a/modoboa/admin/forms/export.py +++ b/modoboa/admin/forms/export.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django import forms from django.utils.translation import ugettext_lazy diff --git a/modoboa/admin/forms/forward.py b/modoboa/admin/forms/forward.py index a1c93d883..5cd7b1b7c 100644 --- a/modoboa/admin/forms/forward.py +++ b/modoboa/admin/forms/forward.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Forms related to forwards management.""" from django import forms diff --git a/modoboa/admin/forms/import_.py b/modoboa/admin/forms/import_.py index b0741a894..e598658e7 100644 --- a/modoboa/admin/forms/import_.py +++ b/modoboa/admin/forms/import_.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Forms related to import operations.""" from django import forms diff --git a/modoboa/admin/handlers.py b/modoboa/admin/handlers.py index 4e4b91be7..f73996c71 100644 --- a/modoboa/admin/handlers.py +++ b/modoboa/admin/handlers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Django signal handlers for admin.""" from django.contrib.contenttypes.models import ContentType diff --git a/modoboa/admin/lib.py b/modoboa/admin/lib.py index 59b4cf403..3fe459e66 100644 --- a/modoboa/admin/lib.py +++ b/modoboa/admin/lib.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Internal library for admin.""" import ipaddress diff --git a/modoboa/admin/management/commands/handle_mailbox_operations.py b/modoboa/admin/management/commands/handle_mailbox_operations.py index fead62ddc..b7d9c3b99 100644 --- a/modoboa/admin/management/commands/handle_mailbox_operations.py +++ b/modoboa/admin/management/commands/handle_mailbox_operations.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A management command to apply mailbox operations.""" import logging diff --git a/modoboa/admin/management/commands/modo.py b/modoboa/admin/management/commands/modo.py index 5d6785428..94c7e6482 100644 --- a/modoboa/admin/management/commands/modo.py +++ b/modoboa/admin/management/commands/modo.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa main management command.""" from subcommand.base import SubcommandCommand diff --git a/modoboa/admin/management/commands/subcommands/_export.py b/modoboa/admin/management/commands/subcommands/_export.py index 717ce2256..02fb35800 100644 --- a/modoboa/admin/management/commands/subcommands/_export.py +++ b/modoboa/admin/management/commands/subcommands/_export.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Django management command to export admin objects.""" import sys diff --git a/modoboa/admin/management/commands/subcommands/_import.py b/modoboa/admin/management/commands/subcommands/_import.py index 256ed36b3..eafec60d0 100644 --- a/modoboa/admin/management/commands/subcommands/_import.py +++ b/modoboa/admin/management/commands/subcommands/_import.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Django management command to import admin objects.""" import io diff --git a/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py b/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py index 6fb58729b..0bc9e6f4e 100644 --- a/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py +++ b/modoboa/admin/management/commands/subcommands/_manage_dkim_keys.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command to create DKIM keys.""" import os diff --git a/modoboa/admin/management/commands/subcommands/_mx.py b/modoboa/admin/management/commands/subcommands/_mx.py index f669eb525..93189a140 100644 --- a/modoboa/admin/management/commands/subcommands/_mx.py +++ b/modoboa/admin/management/commands/subcommands/_mx.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command to check defined domains.""" import ipaddress diff --git a/modoboa/admin/management/commands/subcommands/_repair.py b/modoboa/admin/management/commands/subcommands/_repair.py index 2ef4f9431..7cc8178a6 100644 --- a/modoboa/admin/management/commands/subcommands/_repair.py +++ b/modoboa/admin/management/commands/subcommands/_repair.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command to check and fix known problems.""" from django.conf import settings diff --git a/modoboa/admin/migrations/0001_initial.py b/modoboa/admin/migrations/0001_initial.py index de9b7f214..afa54f6ba 100644 --- a/modoboa/admin/migrations/0001_initial.py +++ b/modoboa/admin/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations from django.conf import settings diff --git a/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py b/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py index 3ffa6fc06..301a6406b 100644 --- a/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py +++ b/modoboa/admin/migrations/0002_migrate_from_modoboa_admin.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/admin/migrations/0003_auto_20151118_1215.py b/modoboa/admin/migrations/0003_auto_20151118_1215.py index a10568514..df92da9f4 100644 --- a/modoboa/admin/migrations/0003_auto_20151118_1215.py +++ b/modoboa/admin/migrations/0003_auto_20151118_1215.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations, models diff --git a/modoboa/admin/migrations/0004_auto_20160914_0907.py b/modoboa/admin/migrations/0004_auto_20160914_0907.py index 7d9a56fdb..6427b4439 100644 --- a/modoboa/admin/migrations/0004_auto_20160914_0907.py +++ b/modoboa/admin/migrations/0004_auto_20160914_0907.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.9 on 2016-09-14 09:07 from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/admin/migrations/0005_auto_20161026_1003.py b/modoboa/admin/migrations/0005_auto_20161026_1003.py index 23888a98f..a6c94f83c 100644 --- a/modoboa/admin/migrations/0005_auto_20161026_1003.py +++ b/modoboa/admin/migrations/0005_auto_20161026_1003.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:03 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0006_auto_20161104_1900.py b/modoboa/admin/migrations/0006_auto_20161104_1900.py index d1ed561d6..9b48d6b1a 100644 --- a/modoboa/admin/migrations/0006_auto_20161104_1900.py +++ b/modoboa/admin/migrations/0006_auto_20161104_1900.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 18:00 from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/admin/migrations/0007_auto_20161104_1915.py b/modoboa/admin/migrations/0007_auto_20161104_1915.py index 1a2061bed..318e265a4 100644 --- a/modoboa/admin/migrations/0007_auto_20161104_1915.py +++ b/modoboa/admin/migrations/0007_auto_20161104_1915.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 18:15 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0008_domain_enable_dns_checks.py b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py index 0377bf17c..974d05025 100644 --- a/modoboa/admin/migrations/0008_domain_enable_dns_checks.py +++ b/modoboa/admin/migrations/0008_domain_enable_dns_checks.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.12 on 2017-02-06 06:13 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0009_auto_20170215_0948.py b/modoboa/admin/migrations/0009_auto_20170215_0948.py index c5a7dd820..262549b50 100644 --- a/modoboa/admin/migrations/0009_auto_20170215_0948.py +++ b/modoboa/admin/migrations/0009_auto_20170215_0948.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 08:48 from django.db import migrations diff --git a/modoboa/admin/migrations/0010_auto_20170215_1328.py b/modoboa/admin/migrations/0010_auto_20170215_1328.py index 5128c7e17..bc4535930 100644 --- a/modoboa/admin/migrations/0010_auto_20170215_1328.py +++ b/modoboa/admin/migrations/0010_auto_20170215_1328.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 12:28 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0011_domain_transport.py b/modoboa/admin/migrations/0011_domain_transport.py index 168242c92..001b23761 100644 --- a/modoboa/admin/migrations/0011_domain_transport.py +++ b/modoboa/admin/migrations/0011_domain_transport.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-12-20 14:17 from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/admin/migrations/0012_auto_20180112_1658.py b/modoboa/admin/migrations/0012_auto_20180112_1658.py index f67dfa3c3..24bc6f938 100644 --- a/modoboa/admin/migrations/0012_auto_20180112_1658.py +++ b/modoboa/admin/migrations/0012_auto_20180112_1658.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-12 15:58 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0013_auto_20180124_2311.py b/modoboa/admin/migrations/0013_auto_20180124_2311.py index 02194ff4b..c5bd1d3b5 100644 --- a/modoboa/admin/migrations/0013_auto_20180124_2311.py +++ b/modoboa/admin/migrations/0013_auto_20180124_2311.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-24 23:11 from django.db import migrations, models diff --git a/modoboa/admin/migrations/0014_auto_20181017_1628.py b/modoboa/admin/migrations/0014_auto_20181017_1628.py index ae0fe2714..73b47d5b8 100644 --- a/modoboa/admin/migrations/0014_auto_20181017_1628.py +++ b/modoboa/admin/migrations/0014_auto_20181017_1628.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-10-17 14:28 from django.db import migrations, models diff --git a/modoboa/admin/models/__init__.py b/modoboa/admin/models/__init__.py index 70b16999f..29ac0b270 100644 --- a/modoboa/admin/models/__init__.py +++ b/modoboa/admin/models/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin models.""" from .alias import Alias, AliasRecipient diff --git a/modoboa/admin/models/alias.py b/modoboa/admin/models/alias.py index e76fb1c2a..fb2d959b4 100644 --- a/modoboa/admin/models/alias.py +++ b/modoboa/admin/models/alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Models related to aliases management.""" import hashlib diff --git a/modoboa/admin/models/base.py b/modoboa/admin/models/base.py index 2ccf4638a..8394c3c0d 100644 --- a/modoboa/admin/models/base.py +++ b/modoboa/admin/models/base.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Base admin models.""" from django.contrib.contenttypes.fields import GenericRelation diff --git a/modoboa/admin/models/domain.py b/modoboa/admin/models/domain.py index fcd231538..c040ad260 100644 --- a/modoboa/admin/models/domain.py +++ b/modoboa/admin/models/domain.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Models related to domains management.""" import datetime diff --git a/modoboa/admin/models/domain_alias.py b/modoboa/admin/models/domain_alias.py index 17186446e..055f0ff1e 100644 --- a/modoboa/admin/models/domain_alias.py +++ b/modoboa/admin/models/domain_alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Models related to domain aliases management.""" from reversion import revisions as reversion diff --git a/modoboa/admin/models/mailbox.py b/modoboa/admin/models/mailbox.py index eacd2c7a3..21ede9a5f 100644 --- a/modoboa/admin/models/mailbox.py +++ b/modoboa/admin/models/mailbox.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Models related to mailboxes management.""" import os diff --git a/modoboa/admin/models/mxrecord.py b/modoboa/admin/models/mxrecord.py index 66e3c1285..a6f1f518e 100644 --- a/modoboa/admin/models/mxrecord.py +++ b/modoboa/admin/models/mxrecord.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """MX records storage.""" import datetime diff --git a/modoboa/admin/postfix_maps.py b/modoboa/admin/postfix_maps.py index 6923ce8a6..026649070 100644 --- a/modoboa/admin/postfix_maps.py +++ b/modoboa/admin/postfix_maps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Map file definitions for postfix.""" class DomainsMap(object): diff --git a/modoboa/admin/serializers.py b/modoboa/admin/serializers.py index 65c30e54d..c91382c9a 100644 --- a/modoboa/admin/serializers.py +++ b/modoboa/admin/serializers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin serializers.""" from django.conf import settings diff --git a/modoboa/admin/signals.py b/modoboa/admin/signals.py index 78d369f55..d7e59ba9b 100644 --- a/modoboa/admin/signals.py +++ b/modoboa/admin/signals.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa admin signals.""" import django.dispatch diff --git a/modoboa/admin/templatetags/admin_tags.py b/modoboa/admin/templatetags/admin_tags.py index 29aa0c459..cc2d36aed 100644 --- a/modoboa/admin/templatetags/admin_tags.py +++ b/modoboa/admin/templatetags/admin_tags.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin extension tags.""" from functools import reduce diff --git a/modoboa/admin/tests/test_account.py b/modoboa/admin/tests/test_account.py index 7d816c46c..86775f6f1 100644 --- a/modoboa/admin/tests/test_account.py +++ b/modoboa/admin/tests/test_account.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from unittest import skipIf from django.test import override_settings diff --git a/modoboa/admin/tests/test_alias.py b/modoboa/admin/tests/test_alias.py index 3da7fc20b..9bdaf62cd 100644 --- a/modoboa/admin/tests/test_alias.py +++ b/modoboa/admin/tests/test_alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.urls import reverse from modoboa.core.models import User diff --git a/modoboa/admin/tests/test_api.py b/modoboa/admin/tests/test_api.py index e0a35823a..0baf0be38 100644 --- a/modoboa/admin/tests/test_api.py +++ b/modoboa/admin/tests/test_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin API related tests.""" import copy diff --git a/modoboa/admin/tests/test_domain.py b/modoboa/admin/tests/test_domain.py index fe1b3e260..b8a8e9b15 100644 --- a/modoboa/admin/tests/test_domain.py +++ b/modoboa/admin/tests/test_domain.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Domain related test cases.""" import os diff --git a/modoboa/admin/tests/test_domain_alias.py b/modoboa/admin/tests/test_domain_alias.py index cb3165f03..7559c7d8a 100644 --- a/modoboa/admin/tests/test_domain_alias.py +++ b/modoboa/admin/tests/test_domain_alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.urls import reverse from modoboa.lib.tests import ModoTestCase diff --git a/modoboa/admin/tests/test_export.py b/modoboa/admin/tests/test_export.py index 2d0ece78a..fa2c70303 100644 --- a/modoboa/admin/tests/test_export.py +++ b/modoboa/admin/tests/test_export.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Export related test cases.""" import sys diff --git a/modoboa/admin/tests/test_import_.py b/modoboa/admin/tests/test_import_.py index e062e1032..9ce2e5d88 100644 --- a/modoboa/admin/tests/test_import_.py +++ b/modoboa/admin/tests/test_import_.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import os from unittest import mock diff --git a/modoboa/admin/tests/test_mailbox_operations.py b/modoboa/admin/tests/test_mailbox_operations.py index 101bf3e12..fb2462987 100644 --- a/modoboa/admin/tests/test_mailbox_operations.py +++ b/modoboa/admin/tests/test_mailbox_operations.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command tests.""" import os diff --git a/modoboa/admin/tests/test_mapfiles.py b/modoboa/admin/tests/test_mapfiles.py index 8b43a0016..ecc51951d 100644 --- a/modoboa/admin/tests/test_mapfiles.py +++ b/modoboa/admin/tests/test_mapfiles.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Test map files generation.""" import os diff --git a/modoboa/admin/tests/test_mx.py b/modoboa/admin/tests/test_mx.py index 08e1ff33e..32e7119f4 100644 --- a/modoboa/admin/tests/test_mx.py +++ b/modoboa/admin/tests/test_mx.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """DNSBL related tests.""" from unittest import mock diff --git a/modoboa/admin/tests/test_password_schemes.py b/modoboa/admin/tests/test_password_schemes.py index 0718cf76c..26ecbe41c 100644 --- a/modoboa/admin/tests/test_password_schemes.py +++ b/modoboa/admin/tests/test_password_schemes.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.urls import reverse from modoboa.core.models import User diff --git a/modoboa/admin/tests/test_repair.py b/modoboa/admin/tests/test_repair.py index 1cedf23c3..4a12b6876 100644 --- a/modoboa/admin/tests/test_repair.py +++ b/modoboa/admin/tests/test_repair.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Repair command tests""" from django.core import management diff --git a/modoboa/admin/tests/test_user.py b/modoboa/admin/tests/test_user.py index cfaf5fd53..312a6c804 100644 --- a/modoboa/admin/tests/test_user.py +++ b/modoboa/admin/tests/test_user.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """User related tests.""" from django.urls import reverse diff --git a/modoboa/admin/tests/utils.py b/modoboa/admin/tests/utils.py index 0f604196d..e85f3c41d 100644 --- a/modoboa/admin/tests/utils.py +++ b/modoboa/admin/tests/utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Test utilities.""" import socket diff --git a/modoboa/admin/urls.py b/modoboa/admin/urls.py index 1545855e3..0df5a6705 100644 --- a/modoboa/admin/urls.py +++ b/modoboa/admin/urls.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin urls.""" from django.conf.urls import url diff --git a/modoboa/admin/urls_api.py b/modoboa/admin/urls_api.py index 9c3889bb8..f0c61b428 100644 --- a/modoboa/admin/urls_api.py +++ b/modoboa/admin/urls_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Admin API urls.""" from rest_framework import routers diff --git a/modoboa/admin/views/__init__.py b/modoboa/admin/views/__init__.py index 694d83979..eb2db5aa2 100644 --- a/modoboa/admin/views/__init__.py +++ b/modoboa/admin/views/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Shortcuts.""" from .alias import AliasDetailView diff --git a/modoboa/admin/views/alias.py b/modoboa/admin/views/alias.py index 4246fdb05..68eeeeeb4 100644 --- a/modoboa/admin/views/alias.py +++ b/modoboa/admin/views/alias.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Alias related views.""" from reversion import revisions as reversion diff --git a/modoboa/admin/views/dns.py b/modoboa/admin/views/dns.py index 6dc373b82..42d1738de 100644 --- a/modoboa/admin/views/dns.py +++ b/modoboa/admin/views/dns.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """DNSBL related views.""" from django.contrib.auth import mixins as auth_mixins diff --git a/modoboa/admin/views/domain.py b/modoboa/admin/views/domain.py index c83b1f036..29550c8fc 100644 --- a/modoboa/admin/views/domain.py +++ b/modoboa/admin/views/domain.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Domain related views.""" from functools import reduce diff --git a/modoboa/admin/views/export.py b/modoboa/admin/views/export.py index d28fcac6c..62f91880e 100644 --- a/modoboa/admin/views/export.py +++ b/modoboa/admin/views/export.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Export related views.""" from rfc6266 import build_header diff --git a/modoboa/admin/views/identity.py b/modoboa/admin/views/identity.py index f223944ec..1b8b3cf0d 100644 --- a/modoboa/admin/views/identity.py +++ b/modoboa/admin/views/identity.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Identity related views.""" from reversion import revisions as reversion diff --git a/modoboa/admin/views/import_.py b/modoboa/admin/views/import_.py index 61800bce1..1a2bd2711 100644 --- a/modoboa/admin/views/import_.py +++ b/modoboa/admin/views/import_.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Import related views.""" import io diff --git a/modoboa/admin/views/user.py b/modoboa/admin/views/user.py index 483154492..308cdf268 100644 --- a/modoboa/admin/views/user.py +++ b/modoboa/admin/views/user.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """SimpleUsers views.""" from reversion import revisions as reversion diff --git a/modoboa/core/__init__.py b/modoboa/core/__init__.py index b6722abab..0f5234285 100644 --- a/modoboa/core/__init__.py +++ b/modoboa/core/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """App config for core.""" default_app_config = "modoboa.core.apps.CoreConfig" diff --git a/modoboa/core/app_settings.py b/modoboa/core/app_settings.py index 5388f13e1..fa254a47d 100644 --- a/modoboa/core/app_settings.py +++ b/modoboa/core/app_settings.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django import forms from django.conf import settings from django.contrib.auth import password_validation diff --git a/modoboa/core/apps.py b/modoboa/core/apps.py index 997550481..266394abb 100644 --- a/modoboa/core/apps.py +++ b/modoboa/core/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core config for admin.""" from django.apps import AppConfig diff --git a/modoboa/core/checks/__init__.py b/modoboa/core/checks/__init__.py index e41b8f04b..9b716b17c 100644 --- a/modoboa/core/checks/__init__.py +++ b/modoboa/core/checks/__init__.py @@ -1,4 +1,2 @@ -# -*- coding: utf-8 -*- - # Import these to force registration of checks from . import settings_checks # NOQA:F401 diff --git a/modoboa/core/checks/settings_checks.py b/modoboa/core/checks/settings_checks.py index 39f82e2c9..a1efe49d7 100644 --- a/modoboa/core/checks/settings_checks.py +++ b/modoboa/core/checks/settings_checks.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.conf import settings from django.core.checks import Warning, register from django.utils.translation import ugettext as _ diff --git a/modoboa/core/commands/__init__.py b/modoboa/core/commands/__init__.py index 04fb4640a..2f73d5ae6 100644 --- a/modoboa/core/commands/__init__.py +++ b/modoboa/core/commands/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import argparse import os import sys diff --git a/modoboa/core/commands/deploy.py b/modoboa/core/commands/deploy.py index 5c82803f9..2ff0cbfef 100644 --- a/modoboa/core/commands/deploy.py +++ b/modoboa/core/commands/deploy.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A shortcut to deploy a fresh modoboa instance.""" import codecs diff --git a/modoboa/core/commands/help.py b/modoboa/core/commands/help.py index d1c6d387f..bbfea1916 100644 --- a/modoboa/core/commands/help.py +++ b/modoboa/core/commands/help.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import sys from . import Command diff --git a/modoboa/core/constants.py b/modoboa/core/constants.py index 007a549d2..c0db2af39 100644 --- a/modoboa/core/constants.py +++ b/modoboa/core/constants.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core application constants.""" from django.utils.translation import ugettext_lazy diff --git a/modoboa/core/context_processors.py b/modoboa/core/context_processors.py index ba348fe3b..3bd8a3c92 100644 --- a/modoboa/core/context_processors.py +++ b/modoboa/core/context_processors.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom context processors.""" from functools import reduce diff --git a/modoboa/core/dev_settings.py b/modoboa/core/dev_settings.py index eb5ae7c09..5d46afd95 100644 --- a/modoboa/core/dev_settings.py +++ b/modoboa/core/dev_settings.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - # Development settings import os diff --git a/modoboa/core/extensions.py b/modoboa/core/extensions.py index 95207cec1..03190dc2f 100644 --- a/modoboa/core/extensions.py +++ b/modoboa/core/extensions.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Extension management.""" from django.conf import settings diff --git a/modoboa/core/factories.py b/modoboa/core/factories.py index 136c29c96..c375d09c5 100644 --- a/modoboa/core/factories.py +++ b/modoboa/core/factories.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Factories for core application.""" import factory diff --git a/modoboa/core/forms.py b/modoboa/core/forms.py index a7b2b764a..74e0150bc 100644 --- a/modoboa/core/forms.py +++ b/modoboa/core/forms.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core forms.""" from django import forms diff --git a/modoboa/core/handlers.py b/modoboa/core/handlers.py index ed1bce204..4f2b063c6 100644 --- a/modoboa/core/handlers.py +++ b/modoboa/core/handlers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa core signal handlers.""" import logging diff --git a/modoboa/core/loggers.py b/modoboa/core/loggers.py index 889f721f7..35efe0397 100644 --- a/modoboa/core/loggers.py +++ b/modoboa/core/loggers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import logging diff --git a/modoboa/core/management/commands/clean_inactive_accounts.py b/modoboa/core/management/commands/clean_inactive_accounts.py index 1891905b3..dd151e882 100644 --- a/modoboa/core/management/commands/clean_inactive_accounts.py +++ b/modoboa/core/management/commands/clean_inactive_accounts.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Inactive accounts cleanup tool.""" from dateutil.relativedelta import relativedelta diff --git a/modoboa/core/management/commands/cleanlogs.py b/modoboa/core/management/commands/cleanlogs.py index f198e1a67..179aa0262 100644 --- a/modoboa/core/management/commands/cleanlogs.py +++ b/modoboa/core/management/commands/cleanlogs.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import datetime import logging diff --git a/modoboa/core/management/commands/communicate_with_public_api.py b/modoboa/core/management/commands/communicate_with_public_api.py index 10f37a4e8..eb1bc59d5 100644 --- a/modoboa/core/management/commands/communicate_with_public_api.py +++ b/modoboa/core/management/commands/communicate_with_public_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command to communicate with public API.""" from django.core.management.base import BaseCommand, CommandError diff --git a/modoboa/core/management/commands/generate_postfix_maps.py b/modoboa/core/management/commands/generate_postfix_maps.py index c5f692cbd..8f8f11295 100644 --- a/modoboa/core/management/commands/generate_postfix_maps.py +++ b/modoboa/core/management/commands/generate_postfix_maps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Management command to generate/update postfix map files.""" import copy diff --git a/modoboa/core/management/commands/load_initial_data.py b/modoboa/core/management/commands/load_initial_data.py index 36ba54bc0..6d9778349 100644 --- a/modoboa/core/management/commands/load_initial_data.py +++ b/modoboa/core/management/commands/load_initial_data.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A management command to load Modoboa initial data: * Create a default super admin if none exists diff --git a/modoboa/core/management/commands/set_default_site.py b/modoboa/core/management/commands/set_default_site.py index 02c66e6fb..3c77cf2f9 100644 --- a/modoboa/core/management/commands/set_default_site.py +++ b/modoboa/core/management/commands/set_default_site.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ A simple managemenent command to update the default site. diff --git a/modoboa/core/middleware.py b/modoboa/core/middleware.py index b80bf6a1b..042bd1a7e 100644 --- a/modoboa/core/middleware.py +++ b/modoboa/core/middleware.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core middlewares.""" from django.utils.deprecation import MiddlewareMixin diff --git a/modoboa/core/migrations/0001_initial.py b/modoboa/core/migrations/0001_initial.py index b937f896b..b8a7ea543 100644 --- a/modoboa/core/migrations/0001_initial.py +++ b/modoboa/core/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations import django.utils.timezone from django.conf import settings diff --git a/modoboa/core/migrations/0002_delete_extension.py b/modoboa/core/migrations/0002_delete_extension.py index 23ad4ba2e..06ea4b5f1 100644 --- a/modoboa/core/migrations/0002_delete_extension.py +++ b/modoboa/core/migrations/0002_delete_extension.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/core/migrations/0003_user_master_user.py b/modoboa/core/migrations/0003_user_master_user.py index ed5316dc1..b31578867 100644 --- a/modoboa/core/migrations/0003_user_master_user.py +++ b/modoboa/core/migrations/0003_user_master_user.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/core/migrations/0004_auto_20150728_1228.py b/modoboa/core/migrations/0004_auto_20150728_1228.py index 36856458f..ffa20cf95 100644 --- a/modoboa/core/migrations/0004_auto_20150728_1228.py +++ b/modoboa/core/migrations/0004_auto_20150728_1228.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/core/migrations/0005_user_language.py b/modoboa/core/migrations/0005_user_language.py index 55bbec01d..849940b58 100644 --- a/modoboa/core/migrations/0005_user_language.py +++ b/modoboa/core/migrations/0005_user_language.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/core/migrations/0006_auto_20151114_1518.py b/modoboa/core/migrations/0006_auto_20151114_1518.py index 36acdbbdf..40c125697 100644 --- a/modoboa/core/migrations/0006_auto_20151114_1518.py +++ b/modoboa/core/migrations/0006_auto_20151114_1518.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/core/migrations/0007_auto_20151116_1349.py b/modoboa/core/migrations/0007_auto_20151116_1349.py index 94ceca391..e36ddaf1e 100644 --- a/modoboa/core/migrations/0007_auto_20151116_1349.py +++ b/modoboa/core/migrations/0007_auto_20151116_1349.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations, models import django.contrib.auth.models diff --git a/modoboa/core/migrations/0008_localconfig.py b/modoboa/core/migrations/0008_localconfig.py index 4923bd055..9dae77efb 100644 --- a/modoboa/core/migrations/0008_localconfig.py +++ b/modoboa/core/migrations/0008_localconfig.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-06-15 18:12 from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/core/migrations/0009_auto_20161026_1003.py b/modoboa/core/migrations/0009_auto_20161026_1003.py index 37f0b47f4..c65124efe 100644 --- a/modoboa/core/migrations/0009_auto_20161026_1003.py +++ b/modoboa/core/migrations/0009_auto_20161026_1003.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:03 from django.db import migrations, models diff --git a/modoboa/core/migrations/0010_auto_20161026_1011.py b/modoboa/core/migrations/0010_auto_20161026_1011.py index ed0bb5346..e681c79b8 100644 --- a/modoboa/core/migrations/0010_auto_20161026_1011.py +++ b/modoboa/core/migrations/0010_auto_20161026_1011.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-10-26 08:11 from django.db import migrations import jsonfield.fields diff --git a/modoboa/core/migrations/0011_auto_20161104_2217.py b/modoboa/core/migrations/0011_auto_20161104_2217.py index b3680de4f..f64b2f545 100644 --- a/modoboa/core/migrations/0011_auto_20161104_2217.py +++ b/modoboa/core/migrations/0011_auto_20161104_2217.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 21:17 from django.db import migrations import jsonfield.fields diff --git a/modoboa/core/migrations/0012_auto_20170215_1034.py b/modoboa/core/migrations/0012_auto_20170215_1034.py index 0134f15f8..0adfd9a97 100644 --- a/modoboa/core/migrations/0012_auto_20170215_1034.py +++ b/modoboa/core/migrations/0012_auto_20170215_1034.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 09:34 from django.db import migrations diff --git a/modoboa/core/migrations/0013_auto_20170707_1058.py b/modoboa/core/migrations/0013_auto_20170707_1058.py index edccb37c7..c6ecee2dc 100644 --- a/modoboa/core/migrations/0013_auto_20170707_1058.py +++ b/modoboa/core/migrations/0013_auto_20170707_1058.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-07-07 08:58 from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/core/migrations/0014_auto_20171010_1746.py b/modoboa/core/migrations/0014_auto_20171010_1746.py index aa00a9b60..5d7fd85af 100644 --- a/modoboa/core/migrations/0014_auto_20171010_1746.py +++ b/modoboa/core/migrations/0014_auto_20171010_1746.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-10-10 15:46 from django.db import migrations diff --git a/modoboa/core/migrations/0015_auto_20180112_1642.py b/modoboa/core/migrations/0015_auto_20180112_1642.py index b2ad1956d..a3aaea97b 100644 --- a/modoboa/core/migrations/0015_auto_20180112_1642.py +++ b/modoboa/core/migrations/0015_auto_20180112_1642.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.8 on 2018-01-12 15:42 from django.db import migrations, models diff --git a/modoboa/core/migrations/0016_auto_20180713_1014.py b/modoboa/core/migrations/0016_auto_20180713_1014.py index 58b36bd7a..9a98017a0 100644 --- a/modoboa/core/migrations/0016_auto_20180713_1014.py +++ b/modoboa/core/migrations/0016_auto_20180713_1014.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.11 on 2018-07-13 08:14 from django.db import migrations, models diff --git a/modoboa/core/migrations/0017_auto_20190705_1045.py b/modoboa/core/migrations/0017_auto_20190705_1045.py index fe2a24d31..530abdd41 100644 --- a/modoboa/core/migrations/0017_auto_20190705_1045.py +++ b/modoboa/core/migrations/0017_auto_20190705_1045.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.18 on 2019-07-05 08:45 from django.db import migrations, models diff --git a/modoboa/core/mocks.py b/modoboa/core/mocks.py index e2414591a..5637ac21e 100644 --- a/modoboa/core/mocks.py +++ b/modoboa/core/mocks.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Mocks used for testing.""" import httmock diff --git a/modoboa/core/models.py b/modoboa/core/models.py index 2f3fb6bc2..e7d2743f2 100644 --- a/modoboa/core/models.py +++ b/modoboa/core/models.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core models.""" import re diff --git a/modoboa/core/password_hashers/__init__.py b/modoboa/core/password_hashers/__init__.py index 4104cb749..dbb399731 100644 --- a/modoboa/core/password_hashers/__init__.py +++ b/modoboa/core/password_hashers/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Password hashers for Modoboa. """ diff --git a/modoboa/core/password_hashers/advanced.py b/modoboa/core/password_hashers/advanced.py index f42c13423..75edbf4d8 100644 --- a/modoboa/core/password_hashers/advanced.py +++ b/modoboa/core/password_hashers/advanced.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Advanced (ie. stronger) password hashers. diff --git a/modoboa/core/password_hashers/base.py b/modoboa/core/password_hashers/base.py index 4cce37e5e..d91bd9be6 100644 --- a/modoboa/core/password_hashers/base.py +++ b/modoboa/core/password_hashers/base.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Base password hashers. diff --git a/modoboa/core/password_validation.py b/modoboa/core/password_validation.py index de5df3f97..3cb944fd7 100644 --- a/modoboa/core/password_validation.py +++ b/modoboa/core/password_validation.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom password validators.""" from django.core.exceptions import ValidationError diff --git a/modoboa/core/signals.py b/modoboa/core/signals.py index a52809352..409dc2e0b 100644 --- a/modoboa/core/signals.py +++ b/modoboa/core/signals.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa core signals.""" import django.dispatch diff --git a/modoboa/core/templatetags/core_tags.py b/modoboa/core/templatetags/core_tags.py index a160e62fc..bc829031e 100644 --- a/modoboa/core/templatetags/core_tags.py +++ b/modoboa/core/templatetags/core_tags.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom tags for Core application.""" import os diff --git a/modoboa/core/tests/stupid_extension_1/modo_extension.py b/modoboa/core/tests/stupid_extension_1/modo_extension.py index c35c87937..ad8748192 100644 --- a/modoboa/core/tests/stupid_extension_1/modo_extension.py +++ b/modoboa/core/tests/stupid_extension_1/modo_extension.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A stupid extension used for tests.""" from modoboa.core import extensions diff --git a/modoboa/core/tests/stupid_extension_2/modo_extension.py b/modoboa/core/tests/stupid_extension_2/modo_extension.py index f44a359ee..896ee949a 100644 --- a/modoboa/core/tests/stupid_extension_2/modo_extension.py +++ b/modoboa/core/tests/stupid_extension_2/modo_extension.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A stupid extension used for tests.""" from modoboa.core import extensions diff --git a/modoboa/core/tests/stupid_extension_2/urls.py b/modoboa/core/tests/stupid_extension_2/urls.py index b0a58d9b5..a7996a92b 100644 --- a/modoboa/core/tests/stupid_extension_2/urls.py +++ b/modoboa/core/tests/stupid_extension_2/urls.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom urls.""" from django.conf.urls import url diff --git a/modoboa/core/tests/stupid_extension_2/views.py b/modoboa/core/tests/stupid_extension_2/views.py index 127ace10b..4a5f6dd70 100644 --- a/modoboa/core/tests/stupid_extension_2/views.py +++ b/modoboa/core/tests/stupid_extension_2/views.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django import http diff --git a/modoboa/core/tests/test_authentication.py b/modoboa/core/tests/test_authentication.py index 3c5fe0c2f..1aec44c21 100644 --- a/modoboa/core/tests/test_authentication.py +++ b/modoboa/core/tests/test_authentication.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for core application.""" import os diff --git a/modoboa/core/tests/test_checks.py b/modoboa/core/tests/test_checks.py index da4d1977e..06ab8ad58 100644 --- a/modoboa/core/tests/test_checks.py +++ b/modoboa/core/tests/test_checks.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.test import SimpleTestCase from django.test.utils import override_settings diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index 95772de16..82a3e42a8 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for core application.""" import httmock diff --git a/modoboa/core/tests/test_extensions.py b/modoboa/core/tests/test_extensions.py index 74116b87b..abdc1baed 100644 --- a/modoboa/core/tests/test_extensions.py +++ b/modoboa/core/tests/test_extensions.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Extensions management related test cases.""" import os diff --git a/modoboa/core/tests/test_ldap.py b/modoboa/core/tests/test_ldap.py index 8e4bdf410..1b8cfdf56 100644 --- a/modoboa/core/tests/test_ldap.py +++ b/modoboa/core/tests/test_ldap.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for core application.""" from unittest import skipIf diff --git a/modoboa/core/tests/test_views.py b/modoboa/core/tests/test_views.py index 877f524ab..838182a81 100644 --- a/modoboa/core/tests/test_views.py +++ b/modoboa/core/tests/test_views.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core views test cases.""" from testfixtures import compare diff --git a/modoboa/core/urls.py b/modoboa/core/urls.py index 5d4e69d15..1d086effd 100644 --- a/modoboa/core/urls.py +++ b/modoboa/core/urls.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core urls.""" from django.conf.urls import url diff --git a/modoboa/core/utils.py b/modoboa/core/utils.py index d5ad42fe4..1630f150d 100644 --- a/modoboa/core/utils.py +++ b/modoboa/core/utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Utility functions.""" from pkg_resources import parse_version diff --git a/modoboa/core/views/__init__.py b/modoboa/core/views/__init__.py index c5aa51ea0..c59caeeed 100644 --- a/modoboa/core/views/__init__.py +++ b/modoboa/core/views/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core views.""" from .admin import ( diff --git a/modoboa/core/views/admin.py b/modoboa/core/views/admin.py index e85a30c8d..ee4a8b5c9 100644 --- a/modoboa/core/views/admin.py +++ b/modoboa/core/views/admin.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Views available to super administrators only.""" from functools import reduce diff --git a/modoboa/core/views/auth.py b/modoboa/core/views/auth.py index bd0e19c4f..cecb7f493 100644 --- a/modoboa/core/views/auth.py +++ b/modoboa/core/views/auth.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core authentication views.""" import logging diff --git a/modoboa/core/views/base.py b/modoboa/core/views/base.py index f907e80f2..33f893f41 100644 --- a/modoboa/core/views/base.py +++ b/modoboa/core/views/base.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Base core views.""" from django.contrib.auth import mixins as auth_mixins diff --git a/modoboa/core/views/dashboard.py b/modoboa/core/views/dashboard.py index 46901dac3..054c1ad3a 100644 --- a/modoboa/core/views/dashboard.py +++ b/modoboa/core/views/dashboard.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Core dashboard views.""" import feedparser diff --git a/modoboa/core/views/user.py b/modoboa/core/views/user.py index c311bf778..11f51a02a 100644 --- a/modoboa/core/views/user.py +++ b/modoboa/core/views/user.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Simple user views.""" from django.contrib.auth.decorators import login_required, user_passes_test diff --git a/modoboa/dnstools/migrations/0001_initial.py b/modoboa/dnstools/migrations/0001_initial.py index a3624d8c7..794895dbb 100644 --- a/modoboa/dnstools/migrations/0001_initial.py +++ b/modoboa/dnstools/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.16 on 2018-11-19 10:07 from django.db import migrations, models import django.db.models.deletion diff --git a/modoboa/lib/api_client.py b/modoboa/lib/api_client.py index 46d3f8ebf..504d0cf07 100644 --- a/modoboa/lib/api_client.py +++ b/modoboa/lib/api_client.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """A client for Modoboa's public API.""" import os diff --git a/modoboa/lib/authbackends.py b/modoboa/lib/authbackends.py index e11980531..87bfd676d 100644 --- a/modoboa/lib/authbackends.py +++ b/modoboa/lib/authbackends.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom authentication backends.""" import smtplib diff --git a/modoboa/lib/connections.py b/modoboa/lib/connections.py index 1f7daa6bb..fcc1b51eb 100644 --- a/modoboa/lib/connections.py +++ b/modoboa/lib/connections.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from modoboa.lib.cryptutils import decrypt diff --git a/modoboa/lib/cryptutils.py b/modoboa/lib/cryptutils.py index 4c41ab143..8ba6b36b6 100644 --- a/modoboa/lib/cryptutils.py +++ b/modoboa/lib/cryptutils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Crypto related utilities.""" import base64 diff --git a/modoboa/lib/db_utils.py b/modoboa/lib/db_utils.py index 248f0060d..569bc8e9f 100644 --- a/modoboa/lib/db_utils.py +++ b/modoboa/lib/db_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.conf import settings from django.db import connection from django.utils.translation import ugettext as _ diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index 572f41cbb..b9d09ae8f 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import email import re import smtplib diff --git a/modoboa/lib/exceptions.py b/modoboa/lib/exceptions.py index 6ce42739e..2e740597d 100644 --- a/modoboa/lib/exceptions.py +++ b/modoboa/lib/exceptions.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ :mod:`exceptions` --- Custom Modoboa exceptions ----------------------------------------------- diff --git a/modoboa/lib/fields.py b/modoboa/lib/fields.py index afe75d845..c5e81ff11 100644 --- a/modoboa/lib/fields.py +++ b/modoboa/lib/fields.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom form fields.""" from django import forms diff --git a/modoboa/lib/form_utils.py b/modoboa/lib/form_utils.py index 87ea007f3..c98036884 100644 --- a/modoboa/lib/form_utils.py +++ b/modoboa/lib/form_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Form management utilities.""" import abc diff --git a/modoboa/lib/ldap_utils.py b/modoboa/lib/ldap_utils.py index 35374c007..32d3272dd 100644 --- a/modoboa/lib/ldap_utils.py +++ b/modoboa/lib/ldap_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ A collection of LDAP based classes/functions. diff --git a/modoboa/lib/listing.py b/modoboa/lib/listing.py index a66f85d1f..3e5f432d1 100644 --- a/modoboa/lib/listing.py +++ b/modoboa/lib/listing.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from modoboa.parameters import tools as param_tools diff --git a/modoboa/lib/middleware.py b/modoboa/lib/middleware.py index 4ed071de9..5262af691 100644 --- a/modoboa/lib/middleware.py +++ b/modoboa/lib/middleware.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom middlewares.""" from django.http import HttpResponseRedirect diff --git a/modoboa/lib/migrations/0001_initial.py b/modoboa/lib/migrations/0001_initial.py index c1f59bbb3..7ffa0a642 100644 --- a/modoboa/lib/migrations/0001_initial.py +++ b/modoboa/lib/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations from django.conf import settings diff --git a/modoboa/lib/migrations/0002_rename_parameters.py b/modoboa/lib/migrations/0002_rename_parameters.py index c7c85d519..90dcb9647 100644 --- a/modoboa/lib/migrations/0002_rename_parameters.py +++ b/modoboa/lib/migrations/0002_rename_parameters.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations APPLICATIONS = [ diff --git a/modoboa/lib/migrations/0003_rename_parameters.py b/modoboa/lib/migrations/0003_rename_parameters.py index 193206bb9..4dd10cdff 100644 --- a/modoboa/lib/migrations/0003_rename_parameters.py +++ b/modoboa/lib/migrations/0003_rename_parameters.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations APPS = ( diff --git a/modoboa/lib/migrations/0004_auto_20151114_1409.py b/modoboa/lib/migrations/0004_auto_20151114_1409.py index fe5fa0d61..5c62719ba 100644 --- a/modoboa/lib/migrations/0004_auto_20151114_1409.py +++ b/modoboa/lib/migrations/0004_auto_20151114_1409.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/lib/migrations/0005_auto_20160416_1449.py b/modoboa/lib/migrations/0005_auto_20160416_1449.py index 1a10f9519..250bc6be7 100644 --- a/modoboa/lib/migrations/0005_auto_20160416_1449.py +++ b/modoboa/lib/migrations/0005_auto_20160416_1449.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations diff --git a/modoboa/lib/migrations/0006_auto_20161104_2206.py b/modoboa/lib/migrations/0006_auto_20161104_2206.py index b937f2131..10bf96658 100644 --- a/modoboa/lib/migrations/0006_auto_20161104_2206.py +++ b/modoboa/lib/migrations/0006_auto_20161104_2206.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-04 21:06 from django.db import migrations diff --git a/modoboa/lib/paginator.py b/modoboa/lib/paginator.py index d3e3a4690..3dfc8f54a 100644 --- a/modoboa/lib/paginator.py +++ b/modoboa/lib/paginator.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Custom pagination tools. """ diff --git a/modoboa/lib/permissions.py b/modoboa/lib/permissions.py index 292fd37fe..5f7d27af6 100644 --- a/modoboa/lib/permissions.py +++ b/modoboa/lib/permissions.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Object level permissions.""" from django.contrib.auth.models import Group, Permission diff --git a/modoboa/lib/signals.py b/modoboa/lib/signals.py index 692e4d102..2a114e8c3 100644 --- a/modoboa/lib/signals.py +++ b/modoboa/lib/signals.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom signals.""" from threading import local diff --git a/modoboa/lib/singleton.py b/modoboa/lib/singleton.py index db4ab223a..977a8590b 100644 --- a/modoboa/lib/singleton.py +++ b/modoboa/lib/singleton.py @@ -1,6 +1,3 @@ -# -*- coding: utf-8 -*- - - # works in Python 2 & 3 class _Singleton(type): _instances = {} diff --git a/modoboa/lib/sysutils.py b/modoboa/lib/sysutils.py index fec12846f..05e84c41f 100644 --- a/modoboa/lib/sysutils.py +++ b/modoboa/lib/sysutils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ This module extra functions/shortcuts to communicate with the system (executing commands, etc.) diff --git a/modoboa/lib/templatetags/form_tags.py b/modoboa/lib/templatetags/form_tags.py index 49d823ff3..b7d7e3e4b 100644 --- a/modoboa/lib/templatetags/form_tags.py +++ b/modoboa/lib/templatetags/form_tags.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Form rendering tags. """ diff --git a/modoboa/lib/templatetags/lib_tags.py b/modoboa/lib/templatetags/lib_tags.py index 4682fea23..22cf15146 100644 --- a/modoboa/lib/templatetags/lib_tags.py +++ b/modoboa/lib/templatetags/lib_tags.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom template tags.""" from datetime import datetime diff --git a/modoboa/lib/test_utils.py b/modoboa/lib/test_utils.py index 7b0b9deaf..e4bb1e4d9 100644 --- a/modoboa/lib/test_utils.py +++ b/modoboa/lib/test_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tools for top level testing (ie. when ran by Travis).""" import os diff --git a/modoboa/lib/tests/__init__.py b/modoboa/lib/tests/__init__.py index 254c1f2c4..0441301d5 100644 --- a/modoboa/lib/tests/__init__.py +++ b/modoboa/lib/tests/__init__.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Testing utilities.""" import socket diff --git a/modoboa/lib/tests/test_cryptutils.py b/modoboa/lib/tests/test_cryptutils.py index 0bac68a92..e50c3adac 100644 --- a/modoboa/lib/tests/test_cryptutils.py +++ b/modoboa/lib/tests/test_cryptutils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for crypto utility functions.""" from django.test import SimpleTestCase diff --git a/modoboa/lib/tests/test_email_utils.py b/modoboa/lib/tests/test_email_utils.py index 12361dc61..b64007d3b 100644 --- a/modoboa/lib/tests/test_email_utils.py +++ b/modoboa/lib/tests/test_email_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for email_utils.""" import os diff --git a/modoboa/lib/tests/test_u2u_decode.py b/modoboa/lib/tests/test_u2u_decode.py index e84aa498c..464aa4a24 100644 --- a/modoboa/lib/tests/test_u2u_decode.py +++ b/modoboa/lib/tests/test_u2u_decode.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Tests for u2u_decode.""" from django.test import TestCase diff --git a/modoboa/lib/u2u_decode.py b/modoboa/lib/u2u_decode.py index cd8403223..34a89e917 100644 --- a/modoboa/lib/u2u_decode.py +++ b/modoboa/lib/u2u_decode.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ Unstructured rfc2047 header to unicode. diff --git a/modoboa/lib/validators.py b/modoboa/lib/validators.py index 5699fa9ed..fd7e4b91f 100644 --- a/modoboa/lib/validators.py +++ b/modoboa/lib/validators.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Field validators.""" import re diff --git a/modoboa/lib/web_utils.py b/modoboa/lib/web_utils.py index 0b0ca4861..443da7f81 100644 --- a/modoboa/lib/web_utils.py +++ b/modoboa/lib/web_utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ This module contains extra functions/shortcuts used to render HTML. """ diff --git a/modoboa/limits/__init__.py b/modoboa/limits/__init__.py index 1ea55179c..1816137f6 100644 --- a/modoboa/limits/__init__.py +++ b/modoboa/limits/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - default_app_config = "modoboa.limits.apps.LimitsConfig" diff --git a/modoboa/limits/app_settings.py b/modoboa/limits/app_settings.py index e34c8a9a1..cf77296b3 100644 --- a/modoboa/limits/app_settings.py +++ b/modoboa/limits/app_settings.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom settings.""" from django import forms diff --git a/modoboa/limits/apps.py b/modoboa/limits/apps.py index f578d63a2..f4de69920 100644 --- a/modoboa/limits/apps.py +++ b/modoboa/limits/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """App config for limits.""" from django.apps import AppConfig diff --git a/modoboa/limits/constants.py b/modoboa/limits/constants.py index e6cc2be03..c916b2b93 100644 --- a/modoboa/limits/constants.py +++ b/modoboa/limits/constants.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa limits constants.""" import collections diff --git a/modoboa/limits/forms.py b/modoboa/limits/forms.py index 3c1a4fe50..ac6842505 100644 --- a/modoboa/limits/forms.py +++ b/modoboa/limits/forms.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Custom forms.""" from django import forms diff --git a/modoboa/limits/handlers.py b/modoboa/limits/handlers.py index 05d419b09..a73bb8d19 100644 --- a/modoboa/limits/handlers.py +++ b/modoboa/limits/handlers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Django signal handlers for limits.""" from django.contrib.contenttypes.models import ContentType diff --git a/modoboa/limits/lib.py b/modoboa/limits/lib.py index c4f7c50ed..7da7b97e8 100644 --- a/modoboa/limits/lib.py +++ b/modoboa/limits/lib.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """ :mod:`lib` --- public functions ------------------------------- diff --git a/modoboa/limits/migrations/0001_initial.py b/modoboa/limits/migrations/0001_initial.py index a7c57de3a..c40f69b92 100644 --- a/modoboa/limits/migrations/0001_initial.py +++ b/modoboa/limits/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations from django.conf import settings diff --git a/modoboa/limits/migrations/0002_auto_20151114_1518.py b/modoboa/limits/migrations/0002_auto_20151114_1518.py index 9da2249d9..7982519e0 100644 --- a/modoboa/limits/migrations/0002_auto_20151114_1518.py +++ b/modoboa/limits/migrations/0002_auto_20151114_1518.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/limits/migrations/0003_auto_20160413_1046.py b/modoboa/limits/migrations/0003_auto_20160413_1046.py index 188780bd7..941802bb6 100644 --- a/modoboa/limits/migrations/0003_auto_20160413_1046.py +++ b/modoboa/limits/migrations/0003_auto_20160413_1046.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations, models from django.conf import settings diff --git a/modoboa/limits/migrations/0004_auto_20160413_1312.py b/modoboa/limits/migrations/0004_auto_20160413_1312.py index 71850e7ba..1ec5502f7 100644 --- a/modoboa/limits/migrations/0004_auto_20160413_1312.py +++ b/modoboa/limits/migrations/0004_auto_20160413_1312.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations, models diff --git a/modoboa/limits/migrations/0005_auto_20160415_1654.py b/modoboa/limits/migrations/0005_auto_20160415_1654.py index 5eae6f8ff..63d8c760d 100644 --- a/modoboa/limits/migrations/0005_auto_20160415_1654.py +++ b/modoboa/limits/migrations/0005_auto_20160415_1654.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import migrations, models import modoboa.limits.models diff --git a/modoboa/limits/migrations/0006_auto_20170216_1112.py b/modoboa/limits/migrations/0006_auto_20170216_1112.py index 0ce9ea60c..a2ac72b32 100644 --- a/modoboa/limits/migrations/0006_auto_20170216_1112.py +++ b/modoboa/limits/migrations/0006_auto_20170216_1112.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-16 10:12 from django.db import migrations diff --git a/modoboa/limits/models.py b/modoboa/limits/models.py index 638229a2b..9e9f58f70 100644 --- a/modoboa/limits/models.py +++ b/modoboa/limits/models.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Models for the limits extensions.""" from django.conf import settings diff --git a/modoboa/limits/serializers.py b/modoboa/limits/serializers.py index dcabc1e9c..ed9c85e73 100644 --- a/modoboa/limits/serializers.py +++ b/modoboa/limits/serializers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Limits serializers.""" from rest_framework import serializers diff --git a/modoboa/limits/tests/test_api.py b/modoboa/limits/tests/test_api.py index 252a4205a..63aa057f2 100644 --- a/modoboa/limits/tests/test_api.py +++ b/modoboa/limits/tests/test_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Test cases for the limits extension.""" from testfixtures import compare diff --git a/modoboa/limits/tests/test_domain_limits.py b/modoboa/limits/tests/test_domain_limits.py index 052d5534b..545105f0b 100644 --- a/modoboa/limits/tests/test_domain_limits.py +++ b/modoboa/limits/tests/test_domain_limits.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Test cases for the limits extension.""" from django.urls import reverse diff --git a/modoboa/limits/tests/test_import.py b/modoboa/limits/tests/test_import.py index 4f6eb3a3b..e59002b01 100644 --- a/modoboa/limits/tests/test_import.py +++ b/modoboa/limits/tests/test_import.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.core.files.base import ContentFile from django.urls import reverse diff --git a/modoboa/limits/tests/test_user_limits.py b/modoboa/limits/tests/test_user_limits.py index 9915e4abe..4e514ffc7 100644 --- a/modoboa/limits/tests/test_user_limits.py +++ b/modoboa/limits/tests/test_user_limits.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Test cases for the limits extension.""" from django.urls import reverse diff --git a/modoboa/limits/urls_api.py b/modoboa/limits/urls_api.py index a7f6c1753..621a83286 100644 --- a/modoboa/limits/urls_api.py +++ b/modoboa/limits/urls_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Limits API urls.""" from rest_framework import routers diff --git a/modoboa/limits/utils.py b/modoboa/limits/utils.py index cf6c47bbf..89fe797ff 100644 --- a/modoboa/limits/utils.py +++ b/modoboa/limits/utils.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Modoboa limits utilities.""" from . import constants diff --git a/modoboa/limits/viewsets.py b/modoboa/limits/viewsets.py index 76e4f5000..6e6c6ad3f 100644 --- a/modoboa/limits/viewsets.py +++ b/modoboa/limits/viewsets.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Limits API.""" from django.contrib.contenttypes.models import ContentType diff --git a/modoboa/parameters/apps.py b/modoboa/parameters/apps.py index 407aac5be..b3ed16382 100644 --- a/modoboa/parameters/apps.py +++ b/modoboa/parameters/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.apps import AppConfig diff --git a/modoboa/parameters/forms.py b/modoboa/parameters/forms.py index 736253a5c..20e16aa85 100644 --- a/modoboa/parameters/forms.py +++ b/modoboa/parameters/forms.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Parameters forms.""" from django import forms diff --git a/modoboa/parameters/tools.py b/modoboa/parameters/tools.py index 58df27d47..9c792ffc6 100644 --- a/modoboa/parameters/tools.py +++ b/modoboa/parameters/tools.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Parameters management.""" import copy diff --git a/modoboa/relaydomains/__init__.py b/modoboa/relaydomains/__init__.py index 2e61ad8ae..0b2987e99 100644 --- a/modoboa/relaydomains/__init__.py +++ b/modoboa/relaydomains/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - default_app_config = "modoboa.relaydomains.apps.RelayDomainsConfig" diff --git a/modoboa/relaydomains/apps.py b/modoboa/relaydomains/apps.py index ab56d701b..49ffe5fc8 100644 --- a/modoboa/relaydomains/apps.py +++ b/modoboa/relaydomains/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """AppConfig for relaydomains.""" from django.apps import AppConfig diff --git a/modoboa/relaydomains/forms.py b/modoboa/relaydomains/forms.py index 8bb3ba159..9b52086b4 100644 --- a/modoboa/relaydomains/forms.py +++ b/modoboa/relaydomains/forms.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Postfix relay domains extension forms.""" from django.db.models.signals import pre_save, post_save diff --git a/modoboa/relaydomains/handlers.py b/modoboa/relaydomains/handlers.py index ec38b6b93..14102bdd4 100644 --- a/modoboa/relaydomains/handlers.py +++ b/modoboa/relaydomains/handlers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Django signal handlers for relaydomains.""" from django.db.models import signals diff --git a/modoboa/relaydomains/lib.py b/modoboa/relaydomains/lib.py index fedd51616..41d28eb40 100644 --- a/modoboa/relaydomains/lib.py +++ b/modoboa/relaydomains/lib.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Internal library.""" from django.utils.translation import ugettext as _ diff --git a/modoboa/relaydomains/migrations/0001_initial.py b/modoboa/relaydomains/migrations/0001_initial.py index b233b67d9..cd708a483 100644 --- a/modoboa/relaydomains/migrations/0001_initial.py +++ b/modoboa/relaydomains/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py b/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py index aa32af599..5fd89c6a3 100644 --- a/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py +++ b/modoboa/relaydomains/migrations/0002_migrate_from_modoboa_admin_relaydomains.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- from django.db import models, migrations diff --git a/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py b/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py index ab092c3ff..bec153bd8 100644 --- a/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py +++ b/modoboa/relaydomains/migrations/0003_auto_20170116_1508.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.12 on 2017-01-16 14:08 from django.db import migrations, models diff --git a/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py b/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py index b0700c8a6..e426a035d 100644 --- a/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py +++ b/modoboa/relaydomains/migrations/0004_auto_20161105_1424.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-05 13:24 from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py b/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py index 8e1d65143..e51a96764 100644 --- a/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py +++ b/modoboa/relaydomains/migrations/0005_auto_20161105_1426.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.9.5 on 2016-11-05 13:26 from django.db import migrations diff --git a/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py b/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py index 76b34c521..5f7ffd1ca 100644 --- a/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py +++ b/modoboa/relaydomains/migrations/0006_auto_20170215_0948.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.5 on 2017-02-15 08:48 from django.db import migrations, models import django.utils.timezone diff --git a/modoboa/relaydomains/migrations/0007_recipientaccess.py b/modoboa/relaydomains/migrations/0007_recipientaccess.py index 99c3324e5..aa2f81198 100644 --- a/modoboa/relaydomains/migrations/0007_recipientaccess.py +++ b/modoboa/relaydomains/migrations/0007_recipientaccess.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 14:06 from django.db import migrations, models diff --git a/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py b/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py index a4f177483..1bc2fdda2 100644 --- a/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py +++ b/modoboa/relaydomains/migrations/0008_auto_20171123_1653.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-23 15:53 from django.db import migrations diff --git a/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py b/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py index d8aa4268d..11e03c988 100644 --- a/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py +++ b/modoboa/relaydomains/migrations/0009_auto_20171124_1508.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 14:08 from django.db import migrations diff --git a/modoboa/relaydomains/models.py b/modoboa/relaydomains/models.py index 0adc20c42..8e20b225c 100644 --- a/modoboa/relaydomains/models.py +++ b/modoboa/relaydomains/models.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Relay domain related models.""" from django.db import models diff --git a/modoboa/relaydomains/postfix_maps.py b/modoboa/relaydomains/postfix_maps.py index bbb3d0c63..074ba9e97 100644 --- a/modoboa/relaydomains/postfix_maps.py +++ b/modoboa/relaydomains/postfix_maps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Map file definitions for postfix.""" class RelayDomainsMap(object): diff --git a/modoboa/relaydomains/serializers.py b/modoboa/relaydomains/serializers.py index 604052ad3..26cfbede1 100644 --- a/modoboa/relaydomains/serializers.py +++ b/modoboa/relaydomains/serializers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """RelayDomain serializers.""" import json diff --git a/modoboa/relaydomains/tests.py b/modoboa/relaydomains/tests.py index ddc3d6169..2c610814c 100644 --- a/modoboa/relaydomains/tests.py +++ b/modoboa/relaydomains/tests.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """relaydomains unit tests.""" import json diff --git a/modoboa/relaydomains/transport.py b/modoboa/relaydomains/transport.py index 4946bb279..8c1c77aeb 100644 --- a/modoboa/relaydomains/transport.py +++ b/modoboa/relaydomains/transport.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport backend definition.""" from django.utils.translation import ugettext_lazy as _ diff --git a/modoboa/relaydomains/urls_api.py b/modoboa/relaydomains/urls_api.py index 78e81cfc2..e11e61e64 100644 --- a/modoboa/relaydomains/urls_api.py +++ b/modoboa/relaydomains/urls_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport API urls.""" from rest_framework import routers diff --git a/modoboa/relaydomains/viewsets.py b/modoboa/relaydomains/viewsets.py index 183818339..d7de1b82d 100644 --- a/modoboa/relaydomains/viewsets.py +++ b/modoboa/relaydomains/viewsets.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """RelayDomain viewsets.""" from rest_framework import viewsets diff --git a/modoboa/test_settings.py b/modoboa/test_settings.py index cd41389b7..0ad16752e 100644 --- a/modoboa/test_settings.py +++ b/modoboa/test_settings.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - import os # Database diff --git a/modoboa/transport/__init__.py b/modoboa/transport/__init__.py index 63503991a..ba19ffc3c 100644 --- a/modoboa/transport/__init__.py +++ b/modoboa/transport/__init__.py @@ -1,3 +1 @@ -# -*- coding: utf-8 -*- - default_app_config = "modoboa.transport.apps.TransportConfig" diff --git a/modoboa/transport/apps.py b/modoboa/transport/apps.py index 55851bb67..5beae6d6d 100644 --- a/modoboa/transport/apps.py +++ b/modoboa/transport/apps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from django.apps import AppConfig diff --git a/modoboa/transport/backends.py b/modoboa/transport/backends.py index 29bd6d4bb..b6923b16d 100644 --- a/modoboa/transport/backends.py +++ b/modoboa/transport/backends.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport backend.""" from django import forms diff --git a/modoboa/transport/constants.py b/modoboa/transport/constants.py index 87286d302..80c50d66b 100644 --- a/modoboa/transport/constants.py +++ b/modoboa/transport/constants.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport constants.""" PERMISSIONS = { diff --git a/modoboa/transport/factories.py b/modoboa/transport/factories.py index 547fddad8..332bd400a 100644 --- a/modoboa/transport/factories.py +++ b/modoboa/transport/factories.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport factories.""" import factory diff --git a/modoboa/transport/forms.py b/modoboa/transport/forms.py index dd077b67f..9d7ec1787 100644 --- a/modoboa/transport/forms.py +++ b/modoboa/transport/forms.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport forms.""" from django import forms diff --git a/modoboa/transport/handlers.py b/modoboa/transport/handlers.py index 9d52d24d9..cb4e3f44c 100644 --- a/modoboa/transport/handlers.py +++ b/modoboa/transport/handlers.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport handlers.""" from django.db.models import signals diff --git a/modoboa/transport/migrations/0001_initial.py b/modoboa/transport/migrations/0001_initial.py index 201f92cb4..cd34ad3bd 100644 --- a/modoboa/transport/migrations/0001_initial.py +++ b/modoboa/transport/migrations/0001_initial.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.10.7 on 2017-11-24 11:16 from django.db import migrations, models diff --git a/modoboa/transport/migrations/0002_auto_20180928_1520.py b/modoboa/transport/migrations/0002_auto_20180928_1520.py index b8e7d31ca..c44052197 100644 --- a/modoboa/transport/migrations/0002_auto_20180928_1520.py +++ b/modoboa/transport/migrations/0002_auto_20180928_1520.py @@ -1,4 +1,3 @@ -# -*- coding: utf-8 -*- # Generated by Django 1.11.15 on 2018-09-28 13:20 from django.db import migrations, models diff --git a/modoboa/transport/models.py b/modoboa/transport/models.py index fb3fee181..e92166f21 100644 --- a/modoboa/transport/models.py +++ b/modoboa/transport/models.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Transport models.""" import jsonfield diff --git a/modoboa/transport/postfix_maps.py b/modoboa/transport/postfix_maps.py index a526f38b3..0be6fdcc2 100644 --- a/modoboa/transport/postfix_maps.py +++ b/modoboa/transport/postfix_maps.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """Map file definitions for postfix.""" class TransportMap(object): diff --git a/modoboa/urls.py b/modoboa/urls.py index c6a771996..082da04f8 100644 --- a/modoboa/urls.py +++ b/modoboa/urls.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - from functools import reduce from ckeditor_uploader import views as cku_views diff --git a/modoboa/urls_api.py b/modoboa/urls_api.py index 4df5320b1..6c223f539 100644 --- a/modoboa/urls_api.py +++ b/modoboa/urls_api.py @@ -1,5 +1,3 @@ -# -*- coding: utf-8 -*- - """External API urls.""" from django.conf.urls import include, url diff --git a/tests.py b/tests.py index 2fac9cd9b..d34d331d3 100644 --- a/tests.py +++ b/tests.py @@ -1,5 +1,3 @@ -# coding: utf-8 - import os import tempfile import unittest From 09434afd9ece2aa0832ad4cf242368c290c6f907 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 13:41:21 +0100 Subject: [PATCH 06/10] Remove usage of six --- .../commands/subcommands/_export.py | 8 +--- .../commands/subcommands/_import.py | 22 ++++------ modoboa/admin/tests/test_export.py | 3 +- modoboa/admin/views/export.py | 13 +++--- modoboa/admin/views/import_.py | 7 +--- modoboa/core/commands/deploy.py | 1 - .../commands/clean_inactive_accounts.py | 1 - modoboa/core/password_hashers/base.py | 4 +- modoboa/core/tests/test_core.py | 3 +- modoboa/ldapsync/tests.py | 4 +- modoboa/lib/email_utils.py | 41 ++++++++----------- modoboa/lib/ldap_utils.py | 3 +- 12 files changed, 37 insertions(+), 73 deletions(-) diff --git a/modoboa/admin/management/commands/subcommands/_export.py b/modoboa/admin/management/commands/subcommands/_export.py index 02fb35800..91c40d929 100644 --- a/modoboa/admin/management/commands/subcommands/_export.py +++ b/modoboa/admin/management/commands/subcommands/_export.py @@ -1,20 +1,14 @@ """Django management command to export admin objects.""" -import sys +import csv from django.core.management.base import BaseCommand -from django.utils import six from django.utils.encoding import smart_text from modoboa.core.extensions import exts_pool from modoboa.core.models import User from .... import models -if six.PY2: - from backports import csv -else: - import csv - class ExportCommand(BaseCommand): """Command class.""" diff --git a/modoboa/admin/management/commands/subcommands/_import.py b/modoboa/admin/management/commands/subcommands/_import.py index eafec60d0..d4b7054db 100644 --- a/modoboa/admin/management/commands/subcommands/_import.py +++ b/modoboa/admin/management/commands/subcommands/_import.py @@ -1,5 +1,6 @@ """Django management command to import admin objects.""" +import csv import io import os @@ -8,7 +9,6 @@ from chardet.universaldetector import UniversalDetector from django.core.management.base import BaseCommand, CommandError from django.db import transaction -from django.utils import six from django.utils.translation import ugettext as _ from modoboa.core import models as core_models @@ -16,11 +16,6 @@ from modoboa.core.extensions import exts_pool from modoboa.lib.exceptions import Conflict from .... import signals -if six.PY2: - from backports import csv -else: - import csv - class ImportCommand(BaseCommand): """Command class.""" @@ -31,7 +26,7 @@ class ImportCommand(BaseCommand): def add_arguments(self, parser): """Add extra arguments to command.""" parser.add_argument( - "--sepchar", type=six.text_type, default=";", + "--sepchar", type=str, default=";", help="Separator used in file.") parser.add_argument( "--continue-if-exists", action="store_true", @@ -41,7 +36,7 @@ class ImportCommand(BaseCommand): "--crypt-password", action="store_true", default=False, help="Encrypt provided passwords.") parser.add_argument( - "files", type=six.text_type, nargs="+", help="CSV files to import.") + "files", type=str, nargs="+", help="CSV files to import.") def _import(self, filename, options, encoding="utf-8"): """Import domains or identities.""" @@ -117,10 +112,7 @@ class ImportCommand(BaseCommand): encoding=detector.result["encoding"] ) except UnicodeDecodeError as exc: - six.raise_from( - CommandError( - _("Unable to decode CSV file using %(encoding)s " - "encoding") % detector.result - ), - exc - ) + raise CommandError( + _("Unable to decode CSV file using %(encoding)s " + "encoding") % detector.result + ) from exc diff --git a/modoboa/admin/tests/test_export.py b/modoboa/admin/tests/test_export.py index fa2c70303..830dd6eab 100644 --- a/modoboa/admin/tests/test_export.py +++ b/modoboa/admin/tests/test_export.py @@ -1,8 +1,7 @@ """Export related test cases.""" import sys - -from six.moves import StringIO +from io import StringIO from django.core.management import call_command from django.urls import reverse diff --git a/modoboa/admin/views/export.py b/modoboa/admin/views/export.py index 62f91880e..5d1764a87 100644 --- a/modoboa/admin/views/export.py +++ b/modoboa/admin/views/export.py @@ -1,5 +1,8 @@ """Export related views.""" +import csv +from io import StringIO + from rfc6266 import build_header from django.contrib.auth.decorators import ( @@ -8,17 +11,11 @@ from django.contrib.auth.decorators import ( from django.http import HttpResponse from django.shortcuts import render from django.urls import reverse -from django.utils import six from django.utils.translation import ugettext as _ from ..forms import ExportDomainsForm, ExportIdentitiesForm from ..lib import get_domains, get_identities -if six.PY2: - from backports import csv -else: - import csv - def _export(content, filename): """Export a csv file's content @@ -50,7 +47,7 @@ def export_identities(request): if request.method == "POST": form = ExportIdentitiesForm(request.POST) form.is_valid() - fp = six.StringIO() + fp = StringIO() csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"]) identities = get_identities( request.user, **request.session["identities_filters"]) @@ -78,7 +75,7 @@ def export_domains(request): if request.method == "POST": form = ExportDomainsForm(request.POST) form.is_valid() - fp = six.StringIO() + fp = StringIO() csvwriter = csv.writer(fp, delimiter=form.cleaned_data["sepchar"]) for dom in get_domains(request.user, **request.session["domains_filters"]): diff --git a/modoboa/admin/views/import_.py b/modoboa/admin/views/import_.py index 1a2bd2711..b40e4ce28 100644 --- a/modoboa/admin/views/import_.py +++ b/modoboa/admin/views/import_.py @@ -1,5 +1,6 @@ """Import related views.""" +import csv import io from reversion import revisions as reversion @@ -10,7 +11,6 @@ from django.contrib.auth.decorators import ( from django.db import transaction from django.shortcuts import render from django.urls import reverse -from django.utils import six from django.utils.encoding import smart_text from django.utils.translation import ugettext as _ @@ -18,11 +18,6 @@ from modoboa.lib.exceptions import Conflict, ModoboaException from .. import signals from ..forms import ImportDataForm, ImportIdentitiesForm -if six.PY2: - from backports import csv -else: - import csv - @reversion.create_revision() def importdata(request, formclass=ImportDataForm): diff --git a/modoboa/core/commands/deploy.py b/modoboa/core/commands/deploy.py index 2ff0cbfef..d750616a6 100644 --- a/modoboa/core/commands/deploy.py +++ b/modoboa/core/commands/deploy.py @@ -14,7 +14,6 @@ import django from django.core import management from django.template import Context, Template from django.utils.encoding import smart_str -from django.utils.six.moves import input from modoboa.core.commands import Command from modoboa.lib.api_client import ModoAPIClient diff --git a/modoboa/core/management/commands/clean_inactive_accounts.py b/modoboa/core/management/commands/clean_inactive_accounts.py index dd151e882..eb5e58778 100644 --- a/modoboa/core/management/commands/clean_inactive_accounts.py +++ b/modoboa/core/management/commands/clean_inactive_accounts.py @@ -1,7 +1,6 @@ """Inactive accounts cleanup tool.""" from dateutil.relativedelta import relativedelta -from six.moves import input from django.core.management.base import BaseCommand from django.utils import timezone diff --git a/modoboa/core/password_hashers/base.py b/modoboa/core/password_hashers/base.py index d91bd9be6..689ffb82a 100644 --- a/modoboa/core/password_hashers/base.py +++ b/modoboa/core/password_hashers/base.py @@ -13,8 +13,6 @@ from random import Random from django.utils.crypto import constant_time_compare from django.utils.encoding import force_bytes, force_text -from six import with_metaclass - class MetaHasher(type): """ @@ -32,7 +30,7 @@ class MetaHasher(type): return cls.name if not cls._weak else "{} (weak)".format(cls.name) -class PasswordHasher(with_metaclass(MetaHasher, object)): +class PasswordHasher(metaclass=MetaHasher): """ Base class of all hashers. """ diff --git a/modoboa/core/tests/test_core.py b/modoboa/core/tests/test_core.py index 82a3e42a8..14a04e50a 100644 --- a/modoboa/core/tests/test_core.py +++ b/modoboa/core/tests/test_core.py @@ -1,8 +1,9 @@ """Tests for core application.""" +from io import StringIO + import httmock from dateutil.relativedelta import relativedelta -from six import StringIO from django.core import management from django.test import TestCase diff --git a/modoboa/ldapsync/tests.py b/modoboa/ldapsync/tests.py index 2e975a09b..e5a633307 100644 --- a/modoboa/ldapsync/tests.py +++ b/modoboa/ldapsync/tests.py @@ -2,7 +2,6 @@ from unittest import skipIf -from django.utils import six from django.utils.encoding import force_bytes, force_str from modoboa.core import factories as core_factories @@ -36,8 +35,7 @@ class LDAPSyncTestCase(ModoTestCase): def reset_ldap_directory(self): try: - tmp_dn = force_bytes(self.dn) if six.PY2 else self.dn - self.conn.delete_s(tmp_dn) + self.conn.delete_s(self.dn) except ldap.NO_SUCH_OBJECT: pass diff --git a/modoboa/lib/email_utils.py b/modoboa/lib/email_utils.py index b9d09ae8f..8e0d3c544 100644 --- a/modoboa/lib/email_utils.py +++ b/modoboa/lib/email_utils.py @@ -12,7 +12,6 @@ from lxml.html import defs from lxml.html.clean import Cleaner from django.template.loader import render_to_string -from django.utils import six from django.utils.encoding import smart_str, smart_text from django.utils.html import conditional_escape, escape from django.utils.translation import ugettext as _ @@ -130,7 +129,7 @@ class Email(object): continue if encoding: value = smart_text(value, encoding=encoding) - elif isinstance(value, six.binary_type): + elif isinstance(value, bytes): # SMTPUTF8 fallback (most of the time) # Address contains non ASCII chars but is not RFC2047 # encoded... @@ -138,12 +137,9 @@ class Email(object): try: value = value.decode(encoding["encoding"], "replace") except (TypeError, UnicodeDecodeError) as exc: - six.raise_from( - InternalError( - _("unable to determine encoding of string") - ), - exc - ) + raise InternalError( + _("unable to determine encoding of string") + ) from exc decoded_values.append(value) return "".join(decoded_values) return "" @@ -289,8 +285,8 @@ class Email(object): def split_address(address): """Split an e-mail address into local part and domain.""" - assert isinstance(address, six.text_type),\ - "address should be of type %s" % six.text_type.__name__ + assert isinstance(address, str),\ + "address should be of type str" if "@" not in address: local_part = address domain = None @@ -301,10 +297,10 @@ def split_address(address): def split_local_part(local_part, delimiter=None): """Split a local part into local part and extension.""" - assert isinstance(local_part, six.text_type),\ - "local_part should be of type %s" % six.text_type.__name__ - assert isinstance(delimiter, six.text_type) or delimiter is None,\ - "delimiter should be of type %s" % six.text_type.__name__ + assert isinstance(local_part, str),\ + "local_part should be of type str" + assert isinstance(delimiter, str) or delimiter is None,\ + "delimiter should be of type str" extension = None if local_part.lower() in ["mailer-daemon", "double-bounce"]: # never split these special addresses @@ -346,8 +342,8 @@ def split_mailbox(mailbox, return_extension=False): def decode(value_bytes, encoding, append_to_error=""): """Try to decode the given string.""" - assert isinstance(value_bytes, six.binary_type),\ - "value_bytes should be of type %s" % six.binary_type.__name__ + assert isinstance(value_bytes, bytes),\ + "value_bytes should be of type bytes" if len(value_bytes) == 0: # short circuit for empty strings return "" @@ -360,13 +356,10 @@ def decode(value_bytes, encoding, append_to_error=""): encoding["encoding"], "replace" ) except (TypeError, UnicodeDecodeError) as exc: - six.raise_from( - InternalError( - _("unable to determine encoding of string") + - append_to_error - ), - exc - ) + raise InternalError( + _("unable to determine encoding of string") + + append_to_error + ) from exc return value @@ -378,7 +371,7 @@ def prepare_addresses(addresses, usage="header"): :return: a string or a list depending on usage value """ result = [] - if isinstance(addresses, six.text_type): + if isinstance(addresses, str): addresses = [addresses] for name, address in getaddresses(addresses): if not address: diff --git a/modoboa/lib/ldap_utils.py b/modoboa/lib/ldap_utils.py index 32d3272dd..c981c25ab 100644 --- a/modoboa/lib/ldap_utils.py +++ b/modoboa/lib/ldap_utils.py @@ -34,7 +34,6 @@ Extracted from `this blog import ldap from django.conf import settings -from django.utils import six from django.utils.encoding import force_bytes, force_str from django.utils.translation import ugettext as _ @@ -66,7 +65,7 @@ class LDAPAuthBackend(object): def _get_conn(self, dn, password): """Get a connection from the server.""" - conn = ldap.initialize(self.server_uri, bytes_mode=six.PY2) + conn = ldap.initialize(self.server_uri) conn.set_option(ldap.OPT_X_TLS_DEMAND, True) conn.set_option(ldap.OPT_DEBUG_LEVEL, 255) conn.simple_bind_s( From b665cc442d6d85803e8775f6034b1e531b3588e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 13:49:07 +0100 Subject: [PATCH 07/10] Update setup.py and add python_requires --- setup.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 3eb2f2d80..fba4f5548 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,4 @@ #!/usr/bin/env python -# -*- coding: utf-8 -*- """ A setuptools based setup module. @@ -8,9 +7,6 @@ See: https://packaging.python.org/en/latest/distributing.html """ -from __future__ import unicode_literals - -import io from os import path try: @@ -42,7 +38,7 @@ if __name__ == "__main__": path.join(HERE, "postgresql-requirements.txt")) LDAP_REQUIRES = get_requirements(path.join(HERE, "ldap-requirements.txt")) - with io.open(path.join(HERE, "README.rst"), encoding="utf-8") as readme: + with open(path.join(HERE, "README.rst")) as readme: LONG_DESCRIPTION = readme.read() setup( @@ -74,6 +70,7 @@ if __name__ == "__main__": scripts=["bin/modoboa-admin.py"], install_requires=INSTALL_REQUIRES, use_scm_version=True, + python_requires=">=3.4", setup_requires=["setuptools_scm"], extras_require={ "ldap": LDAP_REQUIRES, From 0823d1ae77d01d70445e68ec091913ec0ba64a73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 13:56:10 +0100 Subject: [PATCH 08/10] Remove [bdist_wheel] section from setup.cfg --- setup.cfg | 3 --- 1 file changed, 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index 6f8d0cca9..427c34916 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,3 @@ -[bdist_wheel] -universal = 1 - [isort] atomic = true combine_as_imports = true From 605ad1a7bca94b74fba5b792be16204cf050693b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 14:03:35 +0100 Subject: [PATCH 09/10] Specify the Python version in README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index bd6bdde52..90bd2416f 100644 --- a/README.rst +++ b/README.rst @@ -17,7 +17,7 @@ is used as a central point of communication between all components. Modoboa is developed with modularity in mind, expanding it is really easy. Actually, all current features are extensions. -It is written in Python and uses the `Django +It is written in Python 3 and uses the `Django `_, `jQuery `_ and `Bootstrap `_ frameworks. @@ -68,4 +68,4 @@ The following external libraries are provided with Modoboa: .. |codecov| image:: http://codecov.io/github/modoboa/modoboa/coverage.svg?branch=master :target: http://codecov.io/github/modoboa/modoboa?branch=master .. |codacy| image:: https://api.codacy.com/project/badge/Grade/82fd10127ac3468899ca75f04e9862b6 - :target: https://www.codacy.com/app/modoboa/modoboa?utm_source=github.com&utm_medium=referral&utm_content=modoboa/modoboa&utm_campaign=Badge_Grade \ No newline at end of file + :target: https://www.codacy.com/app/modoboa/modoboa?utm_source=github.com&utm_medium=referral&utm_content=modoboa/modoboa&utm_campaign=Badge_Grade From a9ef9b7e5dddf07a0fe2063d08c98e94f30bbbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Lebleu?= Date: Thu, 2 Jan 2020 14:21:19 +0100 Subject: [PATCH 10/10] Remove usage of codecs.open --- modoboa/core/commands/deploy.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/modoboa/core/commands/deploy.py b/modoboa/core/commands/deploy.py index d750616a6..ec2b88f66 100644 --- a/modoboa/core/commands/deploy.py +++ b/modoboa/core/commands/deploy.py @@ -1,6 +1,5 @@ """A shortcut to deploy a fresh modoboa instance.""" -import codecs import getpass import os import shutil @@ -245,7 +244,7 @@ class DeployCommand(Command): "extra_settings": extra_settings } ) - with codecs.open("%s/settings.py" % path, "w", "utf-8") as fp: + with open("%s/settings.py" % path, "w") as fp: fp.write(tpl) shutil.copyfile( "%s/urls.py.tpl" % self._templates_dir, "%s/urls.py" % path