diff --git a/combo/apps/assets/api_views.py b/combo/apps/assets/api_views.py
index f0f9a7f5..c440d058 100644
--- a/combo/apps/assets/api_views.py
+++ b/combo/apps/assets/api_views.py
@@ -18,8 +18,7 @@ import base64
from django.core.files import File
from django.utils.six import BytesIO
-
-from rest_framework import serializers, permissions, status
+from rest_framework import permissions, serializers, status
from rest_framework.generics import GenericAPIView
from rest_framework.response import Response
diff --git a/combo/apps/assets/templatetags/assets.py b/combo/apps/assets/templatetags/assets.py
index 6f2e31e6..4c08efdf 100644
--- a/combo/apps/assets/templatetags/assets.py
+++ b/combo/apps/assets/templatetags/assets.py
@@ -19,7 +19,6 @@ import os
from django import template
from django.db.models.fields.files import ImageFieldFile
from django.utils import six
-
from sorl.thumbnail.shortcuts import get_thumbnail
from ..models import Asset
diff --git a/combo/apps/assets/urls.py b/combo/apps/assets/urls.py
index d1eb7834..914b8b8b 100644
--- a/combo/apps/assets/urls.py
+++ b/combo/apps/assets/urls.py
@@ -14,12 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+from django.conf.urls import include, url
from combo.urls_utils import decorated_includes, manager_required
-from . import views
-from . import api_views
+from . import api_views, views
assets_manager_urls = [
url(r'^$', views.assets, name='combo-manager-assets'),
diff --git a/combo/apps/assets/views.py b/combo/apps/assets/views.py
index a2b0639c..9864b5dd 100644
--- a/combo/apps/assets/views.py
+++ b/combo/apps/assets/views.py
@@ -15,29 +15,27 @@
# along with this program. If not, see .
import json
-import tarfile
import os
+import tarfile
+import ckeditor
from django.conf import settings
from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.core.files.storage import default_storage
-from django.urls import reverse, reverse_lazy
from django.http import Http404, HttpResponse
-from django.shortcuts import get_object_or_404
-from django.shortcuts import redirect
+from django.shortcuts import get_object_or_404, redirect
+from django.urls import reverse, reverse_lazy
from django.utils.six import BytesIO
from django.utils.translation import ugettext_lazy as _
-from django.views.generic import TemplateView, ListView, FormView
-
-import ckeditor
+from django.views.generic import FormView, ListView, TemplateView
from sorl.thumbnail.shortcuts import get_thumbnail
-from combo.data.models import CellBase
-from combo.apps.assets.utils import import_assets, export_assets
+from combo.apps.assets.utils import export_assets, import_assets
from combo.apps.maps.models import MapLayer
+from combo.data.models import CellBase
-from .forms import AssetUploadForm, AssetsImportForm
+from .forms import AssetsImportForm, AssetUploadForm
from .models import Asset
diff --git a/combo/apps/calendar/forms.py b/combo/apps/calendar/forms.py
index 33610bef..e17d876b 100644
--- a/combo/apps/calendar/forms.py
+++ b/combo/apps/calendar/forms.py
@@ -15,12 +15,13 @@
# along with this program. If not, see .
from django import forms
-from django.utils.translation import ugettext_lazy as _
from django.utils.dateparse import parse_datetime, parse_time
+from django.utils.translation import ugettext_lazy as _
+
+from combo.apps.wcs.utils import get_wcs_options
from .models import BookingCalendar
from .utils import get_agendas
-from combo.apps.wcs.utils import get_wcs_options
class BookingCalendarForm(forms.ModelForm):
diff --git a/combo/apps/calendar/migrations/0001_initial.py b/combo/apps/calendar/migrations/0001_initial.py
index 85d5dc83..a7891da0 100644
--- a/combo/apps/calendar/migrations/0001_initial.py
+++ b/combo/apps/calendar/migrations/0001_initial.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+from django.db import migrations, models
+
class Migration(migrations.Migration):
diff --git a/combo/apps/calendar/models.py b/combo/apps/calendar/models.py
index 688481ed..79aac451 100644
--- a/combo/apps/calendar/models.py
+++ b/combo/apps/calendar/models.py
@@ -20,10 +20,10 @@ from django.conf import settings
from django.db import models
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
-from .utils import is_chrono_enabled, is_wcs_enabled, get_chrono_events, get_calendar_context_vars
+from .utils import get_calendar_context_vars, get_chrono_events, is_chrono_enabled, is_wcs_enabled
@register_cell_class
diff --git a/combo/apps/calendar/utils.py b/combo/apps/calendar/utils.py
index c909b185..f2431a2b 100644
--- a/combo/apps/calendar/utils.py
+++ b/combo/apps/calendar/utils.py
@@ -18,7 +18,7 @@ import datetime
import math
from django.conf import settings
-from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
+from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator
from django.utils.dateparse import parse_datetime
from django.utils.http import urlencode
from django.utils.timezone import localtime, make_aware
diff --git a/combo/apps/calendar/views.py b/combo/apps/calendar/views.py
index d1a093a8..13fce662 100644
--- a/combo/apps/calendar/views.py
+++ b/combo/apps/calendar/views.py
@@ -17,12 +17,12 @@
from django.contrib import messages
from django.http import HttpResponseRedirect
from django.utils.encoding import force_text
-from django.views.generic import View, DetailView
+from django.views.generic import DetailView, View
from django.views.generic.detail import SingleObjectMixin
from .forms import BookingForm
from .models import BookingCalendar
-from .utils import get_form_url_with_params, get_chrono_events, get_calendar_context_vars
+from .utils import get_calendar_context_vars, get_chrono_events, get_form_url_with_params
class BookingView(SingleObjectMixin, View):
diff --git a/combo/apps/dashboard/migrations/0001_initial.py b/combo/apps/dashboard/migrations/0001_initial.py
index 0c275384..a7601d44 100644
--- a/combo/apps/dashboard/migrations/0001_initial.py
+++ b/combo/apps/dashboard/migrations/0001_initial.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dashboard/models.py b/combo/apps/dashboard/models.py
index a0bc09db..9adcffd9 100644
--- a/combo/apps/dashboard/models.py
+++ b/combo/apps/dashboard/models.py
@@ -17,14 +17,14 @@
import datetime
from django.conf import settings
-from django.contrib.contenttypes.models import ContentType
from django.contrib.contenttypes import fields
+from django.contrib.contenttypes.models import ContentType
from django.db import models
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import CellBase, ValidityInfo
from combo.data.library import register_cell_class
+from combo.data.models import CellBase, ValidityInfo
@register_cell_class
diff --git a/combo/apps/dashboard/views.py b/combo/apps/dashboard/views.py
index 8caa6112..ece4146f 100644
--- a/combo/apps/dashboard/views.py
+++ b/combo/apps/dashboard/views.py
@@ -19,21 +19,21 @@ import json
from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import PermissionDenied
-from django.urls import reverse
from django.db.models import Max, Min
from django.http import (
Http404,
HttpResponse,
HttpResponseBadRequest,
- HttpResponseRedirect,
HttpResponseNotAllowed,
+ HttpResponseRedirect,
)
+from django.urls import reverse
from django.utils.encoding import force_text
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import View
-from combo.data.models import CellBase, ConfigJsonCell
from combo.data.library import get_cell_class
+from combo.data.models import CellBase, ConfigJsonCell
from combo.public.views import render_cell
from .models import DashboardCell, Tile
diff --git a/combo/apps/dataviz/forms.py b/combo/apps/dataviz/forms.py
index 7888c9cc..18761856 100644
--- a/combo/apps/dataviz/forms.py
+++ b/combo/apps/dataviz/forms.py
@@ -22,7 +22,7 @@ from django.conf import settings
from django.db import transaction
from django.db.models import Q
-from combo.utils import requests, cache_during_request, spooler
+from combo.utils import cache_during_request, requests, spooler
from .models import ChartCell, ChartNgCell
diff --git a/combo/apps/dataviz/migrations/0001_initial.py b/combo/apps/dataviz/migrations/0001_initial.py
index 957e8020..b35e7137 100644
--- a/combo/apps/dataviz/migrations/0001_initial.py
+++ b/combo/apps/dataviz/migrations/0001_initial.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0002_gauge_jsonp_data_source.py b/combo/apps/dataviz/migrations/0002_gauge_jsonp_data_source.py
index c90aaa3d..6f70bd17 100644
--- a/combo/apps/dataviz/migrations/0002_gauge_jsonp_data_source.py
+++ b/combo/apps/dataviz/migrations/0002_gauge_jsonp_data_source.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0003_cubesbarchart_cubestable.py b/combo/apps/dataviz/migrations/0003_cubesbarchart_cubestable.py
index 42695238..9660760e 100644
--- a/combo/apps/dataviz/migrations/0003_cubesbarchart_cubestable.py
+++ b/combo/apps/dataviz/migrations/0003_cubesbarchart_cubestable.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0004_auto_20160108_1048.py b/combo/apps/dataviz/migrations/0004_auto_20160108_1048.py
index 2eb8c921..2d3c85f5 100644
--- a/combo/apps/dataviz/migrations/0004_auto_20160108_1048.py
+++ b/combo/apps/dataviz/migrations/0004_auto_20160108_1048.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0007_auto_20170214_2006.py b/combo/apps/dataviz/migrations/0007_auto_20170214_2006.py
index c04c67bc..ed19c432 100644
--- a/combo/apps/dataviz/migrations/0007_auto_20170214_2006.py
+++ b/combo/apps/dataviz/migrations/0007_auto_20170214_2006.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/dataviz/migrations/0010_auto_20190328_1111.py b/combo/apps/dataviz/migrations/0010_auto_20190328_1111.py
index 6bdd6347..808cdbed 100644
--- a/combo/apps/dataviz/migrations/0010_auto_20190328_1111.py
+++ b/combo/apps/dataviz/migrations/0010_auto_20190328_1111.py
@@ -2,9 +2,9 @@
# Generated by Django 1.11.12 on 2019-03-28 10:11
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0012_auto_20201126_1557.py b/combo/apps/dataviz/migrations/0012_auto_20201126_1557.py
index ae26f458..08745c73 100644
--- a/combo/apps/dataviz/migrations/0012_auto_20201126_1557.py
+++ b/combo/apps/dataviz/migrations/0012_auto_20201126_1557.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.29 on 2020-11-26 14:57
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/migrations/0015_auto_20201202_1424.py b/combo/apps/dataviz/migrations/0015_auto_20201202_1424.py
index 7537d0fe..f578abda 100644
--- a/combo/apps/dataviz/migrations/0015_auto_20201202_1424.py
+++ b/combo/apps/dataviz/migrations/0015_auto_20201202_1424.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.29 on 2020-12-02 13:24
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/apps/dataviz/models.py b/combo/apps/dataviz/models.py
index a04e8d5b..d6f7322d 100644
--- a/combo/apps/dataviz/models.py
+++ b/combo/apps/dataviz/models.py
@@ -18,22 +18,22 @@ import copy
import os
import sys
from datetime import date
-from requests.exceptions import RequestException
-from django.urls import reverse
-from django.db import models, transaction
-from django.utils import timezone
-from django.utils.encoding import force_text
-from django.utils.translation import ugettext_lazy as _, ungettext, gettext
-from django.conf import settings
-
-from jsonfield import JSONField
-from requests.exceptions import HTTPError
import pygal
import pygal.util
+from django.conf import settings
+from django.db import models, transaction
+from django.urls import reverse
+from django.utils import timezone
+from django.utils.encoding import force_text
+from django.utils.translation import gettext
+from django.utils.translation import ugettext_lazy as _
+from django.utils.translation import ungettext
+from jsonfield import JSONField
+from requests.exceptions import HTTPError, RequestException
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
from combo.utils import get_templated_url, requests, spooler
diff --git a/combo/apps/dataviz/views.py b/combo/apps/dataviz/views.py
index c652608a..7d4cb55b 100644
--- a/combo/apps/dataviz/views.py
+++ b/combo/apps/dataviz/views.py
@@ -15,13 +15,13 @@
# along with this program. If not, see .
from django.core.exceptions import PermissionDenied
-from django.http import HttpResponse, Http404
+from django.http import Http404, HttpResponse
from django.utils.translation import ugettext_lazy as _
-
from requests.exceptions import HTTPError
from combo.utils import get_templated_url, requests
-from .models import Gauge, ChartNgCell, UnsupportedDataSet
+
+from .models import ChartNgCell, Gauge, UnsupportedDataSet
def ajax_gauge_count(request, *args, **kwargs):
diff --git a/combo/apps/family/migrations/0001_initial.py b/combo/apps/family/migrations/0001_initial.py
index 5d8f0f77..f3acb5e9 100644
--- a/combo/apps/family/migrations/0001_initial.py
+++ b/combo/apps/family/migrations/0001_initial.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/family/migrations/0002_familyinfoscell_restricted_to_unlogged.py b/combo/apps/family/migrations/0002_familyinfoscell_restricted_to_unlogged.py
index a3c6a370..1340d93a 100644
--- a/combo/apps/family/migrations/0002_familyinfoscell_restricted_to_unlogged.py
+++ b/combo/apps/family/migrations/0002_familyinfoscell_restricted_to_unlogged.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/family/migrations/0004_familyinfoscell_last_update_timestamp.py b/combo/apps/family/migrations/0004_familyinfoscell_last_update_timestamp.py
index a53412d1..c90f450d 100644
--- a/combo/apps/family/migrations/0004_familyinfoscell_last_update_timestamp.py
+++ b/combo/apps/family/migrations/0004_familyinfoscell_last_update_timestamp.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/family/models.py b/combo/apps/family/models.py
index 74129cb7..fb7e7fbe 100644
--- a/combo/apps/family/models.py
+++ b/combo/apps/family/models.py
@@ -16,10 +16,10 @@
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
-from .utils import is_family_enabled, get_family
+from .utils import get_family, is_family_enabled
@register_cell_class
diff --git a/combo/apps/family/views.py b/combo/apps/family/views.py
index 50fbaaea..5f460b11 100644
--- a/combo/apps/family/views.py
+++ b/combo/apps/family/views.py
@@ -15,10 +15,10 @@
# along with this program. If not, see .
-from django.views.generic import FormView, TemplateView
-from django.utils.translation import ugettext_lazy as _
-from django.http import HttpResponseRedirect
from django.contrib import messages
+from django.http import HttpResponseRedirect
+from django.utils.translation import ugettext_lazy as _
+from django.views.generic import FormView, TemplateView
from .forms import FamilyLinkForm
from .utils import link_family, unlink_family
diff --git a/combo/apps/fargo/migrations/0001_initial.py b/combo/apps/fargo/migrations/0001_initial.py
index 78d3e6ed..7a7627d8 100644
--- a/combo/apps/fargo/migrations/0001_initial.py
+++ b/combo/apps/fargo/migrations/0001_initial.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/fargo/migrations/0003_recentdocumentscell_last_update_timestamp.py b/combo/apps/fargo/migrations/0003_recentdocumentscell_last_update_timestamp.py
index dbaa1401..e2bb6926 100644
--- a/combo/apps/fargo/migrations/0003_recentdocumentscell_last_update_timestamp.py
+++ b/combo/apps/fargo/migrations/0003_recentdocumentscell_last_update_timestamp.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/fargo/models.py b/combo/apps/fargo/models.py
index 8a766ac6..418eafe2 100644
--- a/combo/apps/fargo/models.py
+++ b/combo/apps/fargo/models.py
@@ -18,14 +18,13 @@ import logging
from django.conf import settings
from django.db import models
-from django.forms import models as model_forms
from django.forms import Select
+from django.forms import models as model_forms
from django.utils.translation import ugettext_lazy as _
+from requests import HTTPError, RequestException
-from requests import RequestException, HTTPError
-
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
from combo.utils import requests
logger = logging.getLogger(__name__)
diff --git a/combo/apps/gallery/migrations/0001_initial.py b/combo/apps/gallery/migrations/0001_initial.py
index b87c02bc..1a6dfb60 100644
--- a/combo/apps/gallery/migrations/0001_initial.py
+++ b/combo/apps/gallery/migrations/0001_initial.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/gallery/migrations/0002_image_title.py b/combo/apps/gallery/migrations/0002_image_title.py
index 32bd732e..51e0898c 100644
--- a/combo/apps/gallery/migrations/0002_image_title.py
+++ b/combo/apps/gallery/migrations/0002_image_title.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/gallery/migrations/0003_gallerycell_title.py b/combo/apps/gallery/migrations/0003_gallerycell_title.py
index 57cb09c3..23b0be6c 100644
--- a/combo/apps/gallery/migrations/0003_gallerycell_title.py
+++ b/combo/apps/gallery/migrations/0003_gallerycell_title.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/gallery/models.py b/combo/apps/gallery/models.py
index b943a086..bfb1dadf 100644
--- a/combo/apps/gallery/models.py
+++ b/combo/apps/gallery/models.py
@@ -17,13 +17,13 @@
import json
from django import template
-from django.db import models
from django.core import serializers
+from django.db import models
from django.forms import models as model_forms
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
@register_cell_class
diff --git a/combo/apps/gallery/views.py b/combo/apps/gallery/views.py
index e378b032..6742a958 100644
--- a/combo/apps/gallery/views.py
+++ b/combo/apps/gallery/views.py
@@ -14,21 +14,21 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.urls import reverse, reverse_lazy
from django.shortcuts import redirect
+from django.urls import reverse, reverse_lazy
from django.views.generic import (
- TemplateView,
- RedirectView,
- DetailView,
CreateView,
- UpdateView,
- ListView,
DeleteView,
+ DetailView,
FormView,
+ ListView,
+ RedirectView,
+ TemplateView,
+ UpdateView,
)
-from .models import Image, GalleryCell
from .forms import ImageAddForm, ImageEditForm
+from .models import GalleryCell, Image
class ImageAddView(CreateView):
diff --git a/combo/apps/kb/migrations/0001_initial.py b/combo/apps/kb/migrations/0001_initial.py
index 94c7c3e6..92dfab97 100644
--- a/combo/apps/kb/migrations/0001_initial.py
+++ b/combo/apps/kb/migrations/0001_initial.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.18 on 2020-01-31 15:40
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/kb/models.py b/combo/apps/kb/models.py
index 2d2cfad8..490f4974 100644
--- a/combo/apps/kb/models.py
+++ b/combo/apps/kb/models.py
@@ -21,8 +21,8 @@ from django.db import models
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import CellBase, Page
from combo.data.library import register_cell_class
+from combo.data.models import CellBase, Page
@register_cell_class
diff --git a/combo/apps/lingo/__init__.py b/combo/apps/lingo/__init__.py
index 7bb25728..400a3036 100644
--- a/combo/apps/lingo/__init__.py
+++ b/combo/apps/lingo/__init__.py
@@ -18,12 +18,11 @@ import datetime
import logging
import django.apps
+import eopayment
from django.urls import reverse
from django.utils import timezone
from django.utils.translation import ugettext_lazy as _
-import eopayment
-
class AppConfig(django.apps.AppConfig):
name = 'combo.apps.lingo'
@@ -42,7 +41,7 @@ class AppConfig(django.apps.AppConfig):
self.notify_payments()
def update_transactions(self):
- from .models import Transaction, EXPIRED
+ from .models import EXPIRED, Transaction
logger = logging.getLogger(__name__)
now = timezone.now()
diff --git a/combo/apps/lingo/forms.py b/combo/apps/lingo/forms.py
index 759c0b39..078e93bd 100644
--- a/combo/apps/lingo/forms.py
+++ b/combo/apps/lingo/forms.py
@@ -16,12 +16,11 @@
import datetime
-
from django import forms
from django.core.exceptions import ValidationError
from django.utils.translation import ugettext_lazy as _
-from .models import Regie, PaymentBackend
+from .models import PaymentBackend, Regie
TYPE_FIELD_MAPPING = {
str: forms.CharField,
diff --git a/combo/apps/lingo/manager_views.py b/combo/apps/lingo/manager_views.py
index b2777918..b194b18c 100644
--- a/combo/apps/lingo/manager_views.py
+++ b/combo/apps/lingo/manager_views.py
@@ -16,26 +16,22 @@
import csv
import datetime
-from dateutil import parser as date_parser
-from django.urls import reverse
-from django.urls import reverse_lazy
+import eopayment
+from dateutil import parser as date_parser
from django.contrib import messages
-from django.db.models import Q, Prefetch
+from django.db.models import Prefetch, Q
from django.db.models.expressions import RawSQL
+from django.http import HttpResponse, HttpResponseRedirect
+from django.shortcuts import get_object_or_404
+from django.template.response import TemplateResponse
+from django.urls import reverse, reverse_lazy
from django.utils import six
from django.utils.timezone import make_aware, now
from django.utils.translation import ugettext_lazy as _
-from django.views.generic import CreateView, UpdateView, ListView, DeleteView, View
-from django.http import HttpResponse
-from django.http import HttpResponseRedirect
-from django.shortcuts import get_object_or_404
-from django.template.response import TemplateResponse
+from django.views.generic import CreateView, DeleteView, ListView, UpdateView, View
-import eopayment
-
-from .forms import RegieForm, PaymentBackendForm
-from .forms import TransactionExportForm
+from .forms import PaymentBackendForm, RegieForm, TransactionExportForm
from .models import BasketItem, PaymentBackend, Regie, Transaction
diff --git a/combo/apps/lingo/migrations/0001_initial.py b/combo/apps/lingo/migrations/0001_initial.py
index 393010f1..3daaf8b1 100644
--- a/combo/apps/lingo/migrations/0001_initial.py
+++ b/combo/apps/lingo/migrations/0001_initial.py
@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import jsonfield.fields
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0002_transaction.py b/combo/apps/lingo/migrations/0002_transaction.py
index 0520cb50..b770560c 100644
--- a/combo/apps/lingo/migrations/0002_transaction.py
+++ b/combo/apps/lingo/migrations/0002_transaction.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0003_auto_20150306_1047.py b/combo/apps/lingo/migrations/0003_auto_20150306_1047.py
index da7226c0..10d5bf94 100644
--- a/combo/apps/lingo/migrations/0003_auto_20150306_1047.py
+++ b/combo/apps/lingo/migrations/0003_auto_20150306_1047.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0004_basketitem_notification_date.py b/combo/apps/lingo/migrations/0004_basketitem_notification_date.py
index a9f4bc12..d29e21d5 100644
--- a/combo/apps/lingo/migrations/0004_basketitem_notification_date.py
+++ b/combo/apps/lingo/migrations/0004_basketitem_notification_date.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0005_auto_20150307_1242.py b/combo/apps/lingo/migrations/0005_auto_20150307_1242.py
index 1942e295..ba83873a 100644
--- a/combo/apps/lingo/migrations/0005_auto_20150307_1242.py
+++ b/combo/apps/lingo/migrations/0005_auto_20150307_1242.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0006_transaction_status.py b/combo/apps/lingo/migrations/0006_transaction_status.py
index 4d81b6c0..81b2c392 100644
--- a/combo/apps/lingo/migrations/0006_transaction_status.py
+++ b/combo/apps/lingo/migrations/0006_transaction_status.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0007_lingobasketlinkcell.py b/combo/apps/lingo/migrations/0007_lingobasketlinkcell.py
index 24e6144e..68819d2f 100644
--- a/combo/apps/lingo/migrations/0007_lingobasketlinkcell.py
+++ b/combo/apps/lingo/migrations/0007_lingobasketlinkcell.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0008_auto_20150908_1538.py b/combo/apps/lingo/migrations/0008_auto_20150908_1538.py
index c6f87066..7fefb93d 100644
--- a/combo/apps/lingo/migrations/0008_auto_20150908_1538.py
+++ b/combo/apps/lingo/migrations/0008_auto_20150908_1538.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0009_auto_20150917_1456.py b/combo/apps/lingo/migrations/0009_auto_20150917_1456.py
index f67ad490..4772b836 100644
--- a/combo/apps/lingo/migrations/0009_auto_20150917_1456.py
+++ b/combo/apps/lingo/migrations/0009_auto_20150917_1456.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0010_regie_payment_min_amount.py b/combo/apps/lingo/migrations/0010_regie_payment_min_amount.py
index 619a751a..3522dd76 100644
--- a/combo/apps/lingo/migrations/0010_regie_payment_min_amount.py
+++ b/combo/apps/lingo/migrations/0010_regie_payment_min_amount.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0011_auto_20151029_1535.py b/combo/apps/lingo/migrations/0011_auto_20151029_1535.py
index e01c42dc..7a29a6fc 100644
--- a/combo/apps/lingo/migrations/0011_auto_20151029_1535.py
+++ b/combo/apps/lingo/migrations/0011_auto_20151029_1535.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0012_auto_20151130_1047.py b/combo/apps/lingo/migrations/0012_auto_20151130_1047.py
index 92c9d809..c9a8efd0 100644
--- a/combo/apps/lingo/migrations/0012_auto_20151130_1047.py
+++ b/combo/apps/lingo/migrations/0012_auto_20151130_1047.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0013_transaction_amount.py b/combo/apps/lingo/migrations/0013_transaction_amount.py
index f1afda8c..02e653fa 100644
--- a/combo/apps/lingo/migrations/0013_transaction_amount.py
+++ b/combo/apps/lingo/migrations/0013_transaction_amount.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0014_auto_20160218_1455.py b/combo/apps/lingo/migrations/0014_auto_20160218_1455.py
index ceddf9b4..b1c9154a 100644
--- a/combo/apps/lingo/migrations/0014_auto_20160218_1455.py
+++ b/combo/apps/lingo/migrations/0014_auto_20160218_1455.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0015_auto_20160309_2150.py b/combo/apps/lingo/migrations/0015_auto_20160309_2150.py
index bb3eae42..1ea74382 100644
--- a/combo/apps/lingo/migrations/0015_auto_20160309_2150.py
+++ b/combo/apps/lingo/migrations/0015_auto_20160309_2150.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0016_auto_20160319_2028.py b/combo/apps/lingo/migrations/0016_auto_20160319_2028.py
index 260fddaa..e6d618c5 100644
--- a/combo/apps/lingo/migrations/0016_auto_20160319_2028.py
+++ b/combo/apps/lingo/migrations/0016_auto_20160319_2028.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0017_auto_20160327_0831.py b/combo/apps/lingo/migrations/0017_auto_20160327_0831.py
index a6b3382a..b0cbaa9c 100644
--- a/combo/apps/lingo/migrations/0017_auto_20160327_0831.py
+++ b/combo/apps/lingo/migrations/0017_auto_20160327_0831.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0021_transactionoperation.py b/combo/apps/lingo/migrations/0021_transactionoperation.py
index a0c792e4..0773fb21 100644
--- a/combo/apps/lingo/migrations/0021_transactionoperation.py
+++ b/combo/apps/lingo/migrations/0021_transactionoperation.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0024_selfdeclaredinvoicepayment.py b/combo/apps/lingo/migrations/0024_selfdeclaredinvoicepayment.py
index bcbba4a4..29376662 100644
--- a/combo/apps/lingo/migrations/0024_selfdeclaredinvoicepayment.py
+++ b/combo/apps/lingo/migrations/0024_selfdeclaredinvoicepayment.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0025_auto_20161206_1713.py b/combo/apps/lingo/migrations/0025_auto_20161206_1713.py
index 6b01fc78..502de149 100644
--- a/combo/apps/lingo/migrations/0025_auto_20161206_1713.py
+++ b/combo/apps/lingo/migrations/0025_auto_20161206_1713.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0027_auto_20170214_2006.py b/combo/apps/lingo/migrations/0027_auto_20170214_2006.py
index b99359bd..d5151966 100644
--- a/combo/apps/lingo/migrations/0027_auto_20170214_2006.py
+++ b/combo/apps/lingo/migrations/0027_auto_20170214_2006.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/lingo/migrations/0028_tipipaymentformcell.py b/combo/apps/lingo/migrations/0028_tipipaymentformcell.py
index 35462458..c66b5430 100644
--- a/combo/apps/lingo/migrations/0028_tipipaymentformcell.py
+++ b/combo/apps/lingo/migrations/0028_tipipaymentformcell.py
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
+
import combo.data.fields
diff --git a/combo/apps/lingo/migrations/0029_auto_20170528_1334.py b/combo/apps/lingo/migrations/0029_auto_20170528_1334.py
index 92e05312..68accc08 100644
--- a/combo/apps/lingo/migrations/0029_auto_20170528_1334.py
+++ b/combo/apps/lingo/migrations/0029_auto_20170528_1334.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0030_transaction_to_be_paid_remote_items.py b/combo/apps/lingo/migrations/0030_transaction_to_be_paid_remote_items.py
index f8dc9cc8..8e733a84 100644
--- a/combo/apps/lingo/migrations/0030_transaction_to_be_paid_remote_items.py
+++ b/combo/apps/lingo/migrations/0030_transaction_to_be_paid_remote_items.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0034_auto_20190426_1159.py b/combo/apps/lingo/migrations/0034_auto_20190426_1159.py
index 34d26d15..356ac60f 100644
--- a/combo/apps/lingo/migrations/0034_auto_20190426_1159.py
+++ b/combo/apps/lingo/migrations/0034_auto_20190426_1159.py
@@ -2,9 +2,9 @@
# Generated by Django 1.11.18 on 2019-04-26 09:59
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0036_auto_20190426_1202.py b/combo/apps/lingo/migrations/0036_auto_20190426_1202.py
index 8eb4faa9..68e68c21 100644
--- a/combo/apps/lingo/migrations/0036_auto_20190426_1202.py
+++ b/combo/apps/lingo/migrations/0036_auto_20190426_1202.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.18 on 2019-04-26 10:02
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/lingo/migrations/0037_regie_transaction_options.py b/combo/apps/lingo/migrations/0037_regie_transaction_options.py
index 77530362..c84db461 100644
--- a/combo/apps/lingo/migrations/0037_regie_transaction_options.py
+++ b/combo/apps/lingo/migrations/0037_regie_transaction_options.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.18 on 2019-05-14 12:02
from __future__ import unicode_literals
-from django.db import migrations, models
import jsonfield.fields
+from django.db import migrations, models
from combo.apps.lingo.models import SERVICES
diff --git a/combo/apps/lingo/models.py b/combo/apps/lingo/models.py
index 6980a992..ee065b5f 100644
--- a/combo/apps/lingo/models.py
+++ b/combo/apps/lingo/models.py
@@ -17,40 +17,39 @@
# along with this program. If not, see .
import datetime
-from decimal import Decimal
import json
import logging
import re
+from decimal import Decimal
-from dateutil import parser
import eopayment
-from jsonfield import JSONField
-from requests import RequestException
-
+from dateutil import parser
from django import template
from django.conf import settings
+from django.contrib.auth.models import User
from django.core import serializers
-from django.db import models
-from django.forms import models as model_forms, Select
-from django.utils.translation import ugettext_lazy as _
-from django.utils import timezone, dateparse, six
-from django.core.mail import EmailMultiAlternatives
-from django.urls import reverse
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied, ValidationError
+from django.core.mail import EmailMultiAlternatives
+from django.db import models
+from django.forms import Select
+from django.forms import models as model_forms
+from django.template.loader import render_to_string
+from django.urls import reverse
+from django.utils import dateparse, six, timezone
from django.utils.encoding import force_bytes, python_2_unicode_compatible
from django.utils.formats import localize
from django.utils.http import urlencode
from django.utils.six.moves.urllib import parse as urlparse
from django.utils.timezone import make_aware, utc
+from django.utils.translation import ugettext_lazy as _
+from jsonfield import JSONField
+from requests import RequestException
-from django.contrib.auth.models import User
-from django.template.loader import render_to_string
-
-from combo.data.fields import RichTextField
-from combo.data.models import CellBase
-from combo.data.library import register_cell_class
-from combo.utils import NothingInCacheException, aes_hex_encrypt, requests
from combo.apps.notifications.models import Notification
+from combo.data.fields import RichTextField
+from combo.data.library import register_cell_class
+from combo.data.models import CellBase
+from combo.utils import NothingInCacheException, aes_hex_encrypt, requests
from .utils import signing_dumps
diff --git a/combo/apps/lingo/urls.py b/combo/apps/lingo/urls.py
index c89979e8..0363b13a 100644
--- a/combo/apps/lingo/urls.py
+++ b/combo/apps/lingo/urls.py
@@ -14,40 +14,40 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+from django.conf.urls import include, url
from combo.urls_utils import decorated_includes, manager_required
+from .manager_views import (
+ BasketItemErrorListView,
+ BasketItemMarkAsNotifiedView,
+ PaymentBackendCreateView,
+ PaymentBackendDeleteView,
+ PaymentBackendListView,
+ PaymentBackendUpdateView,
+ RegieCreateView,
+ RegieDeleteView,
+ RegieListView,
+ RegieUpdateView,
+ TransactionListView,
+ download_transactions_csv,
+)
from .views import (
- RegiesApiView,
AddBasketItemApiView,
- PayView,
+ BasketItemPayView,
CallbackView,
- ReturnView,
+ CancelItemView,
+ CancelTransactionApiView,
ItemDownloadView,
ItemView,
- CancelItemView,
- RemoveBasketItemApiView,
- ValidateTransactionApiView,
- CancelTransactionApiView,
- SelfInvoiceView,
- BasketItemPayView,
- TransactionStatusApiView,
PaymentStatusView,
-)
-from .manager_views import (
- RegieListView,
- RegieCreateView,
- RegieUpdateView,
- RegieDeleteView,
- TransactionListView,
- BasketItemErrorListView,
- download_transactions_csv,
- PaymentBackendListView,
- PaymentBackendCreateView,
- PaymentBackendUpdateView,
- PaymentBackendDeleteView,
- BasketItemMarkAsNotifiedView,
+ PayView,
+ RegiesApiView,
+ RemoveBasketItemApiView,
+ ReturnView,
+ SelfInvoiceView,
+ TransactionStatusApiView,
+ ValidateTransactionApiView,
)
lingo_manager_urls = [
diff --git a/combo/apps/lingo/views.py b/combo/apps/lingo/views.py
index 3bfcf7cf..e4a155f5 100644
--- a/combo/apps/lingo/views.py
+++ b/combo/apps/lingo/views.py
@@ -14,47 +14,52 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from decimal import Decimal, ROUND_HALF_UP
import json
import logging
-import requests
-
-from django.contrib.auth.models import User
-from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
-from django.urls import reverse
-from django.core import signing
-from django.http import HttpResponse, HttpResponseNotFound, HttpResponseRedirect, HttpResponseBadRequest
-from django.http import HttpResponseForbidden, Http404, JsonResponse
-from django.template.response import TemplateResponse
-from django.utils import timezone, dateparse, six
-from django.utils.encoding import force_text
-from django.utils.http import urlencode
-from django.views.decorators.csrf import csrf_exempt
-from django.views.generic import View, DetailView, ListView, TemplateView
-from django.conf import settings
-from django.contrib import messages
-from django.utils.translation import ugettext_lazy as _
-from django.db.transaction import atomic
-from django.shortcuts import get_object_or_404
-from django.utils.encoding import smart_text
+from decimal import ROUND_HALF_UP, Decimal
import eopayment
+import requests
+from django.conf import settings
+from django.contrib import messages
+from django.contrib.auth.models import User
+from django.core import signing
+from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
+from django.db.transaction import atomic
+from django.http import (
+ Http404,
+ HttpResponse,
+ HttpResponseBadRequest,
+ HttpResponseForbidden,
+ HttpResponseNotFound,
+ HttpResponseRedirect,
+ JsonResponse,
+)
+from django.shortcuts import get_object_or_404
+from django.template.response import TemplateResponse
+from django.urls import reverse
+from django.utils import dateparse, six, timezone
+from django.utils.encoding import force_text, smart_text
+from django.utils.http import urlencode
+from django.utils.translation import ugettext_lazy as _
+from django.views.decorators.csrf import csrf_exempt
+from django.views.generic import DetailView, ListView, TemplateView, View
from combo.data.models import Page
-from combo.utils import check_request_signature, aes_hex_decrypt, DecryptionError
from combo.profile.utils import get_user_from_name_id
from combo.public.views import publish_page
+from combo.utils import DecryptionError, aes_hex_decrypt, check_request_signature
from .models import (
- Regie,
+ EXPIRED,
BasketItem,
+ LingoBasketCell,
+ PaymentBackend,
+ Regie,
+ RemoteInvoiceException,
+ SelfDeclaredInvoicePayment,
Transaction,
TransactionOperation,
- LingoBasketCell,
- SelfDeclaredInvoicePayment,
- PaymentBackend,
- EXPIRED,
- RemoteInvoiceException,
)
from .utils import signing_dumps, signing_loads
diff --git a/combo/apps/maps/forms.py b/combo/apps/maps/forms.py
index d0ba6771..15b08e39 100644
--- a/combo/apps/maps/forms.py
+++ b/combo/apps/maps/forms.py
@@ -20,6 +20,7 @@ from django.utils.text import slugify
from django.utils.translation import ugettext_lazy as _
from combo.data.fields import TemplatableURLField
+
from .models import MapLayer, MapLayerOptions
diff --git a/combo/apps/maps/manager_views.py b/combo/apps/maps/manager_views.py
index 1473977d..b6165519 100644
--- a/combo/apps/maps/manager_views.py
+++ b/combo/apps/maps/manager_views.py
@@ -14,17 +14,16 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.urls import reverse, reverse_lazy
from django.http import Http404
from django.shortcuts import get_object_or_404
+from django.urls import reverse, reverse_lazy
from django.utils.translation import ugettext_lazy as _
-from django.views.generic import ListView, CreateView, UpdateView, DeleteView
+from django.views.generic import CreateView, DeleteView, ListView, UpdateView
from combo.data.models import CellBase, PageSnapshot
-from .models import Map
-from .models import MapLayer
-from .models import MapLayerOptions
+
from .forms import MapLayerForm, MapLayerOptionsForm
+from .models import Map, MapLayer, MapLayerOptions
class MapLayerMixin(object):
diff --git a/combo/apps/maps/migrations/0001_initial.py b/combo/apps/maps/migrations/0001_initial.py
index be3d160a..2a55f0db 100644
--- a/combo/apps/maps/migrations/0001_initial.py
+++ b/combo/apps/maps/migrations/0001_initial.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from combo.apps.maps.models import ICONS
from django.db import migrations, models
+from combo.apps.maps.models import ICONS
+
class Migration(migrations.Migration):
diff --git a/combo/apps/maps/migrations/0008_map_layer_options.py b/combo/apps/maps/migrations/0008_map_layer_options.py
index 2d92cd68..854f51af 100644
--- a/combo/apps/maps/migrations/0008_map_layer_options.py
+++ b/combo/apps/maps/migrations/0008_map_layer_options.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/maps/models.py b/combo/apps/maps/models.py
index 329585a7..9a3df1dc 100644
--- a/combo/apps/maps/models.py
+++ b/combo/apps/maps/models.py
@@ -16,25 +16,22 @@
import json
-from django.core import serializers
-from django.core import validators
+import pyproj
+from django import forms
+from django.conf import settings
+from django.core import serializers, validators
from django.db import models
+from django.urls import reverse
from django.utils import six
from django.utils.encoding import python_2_unicode_compatible
from django.utils.html import escape
from django.utils.text import slugify
from django.utils.translation import ugettext_lazy as _
-from django.urls import reverse
-from django import forms
-from django.conf import settings
-
-import pyproj
from requests.models import PreparedRequest
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
-from combo.utils import requests, get_templated_url
-
+from combo.data.models import CellBase
+from combo.utils import get_templated_url, requests
KIND = [
('tiles', _('Tiles')),
diff --git a/combo/apps/maps/urls.py b/combo/apps/maps/urls.py
index 6912ee7d..7a89418a 100644
--- a/combo/apps/maps/urls.py
+++ b/combo/apps/maps/urls.py
@@ -14,12 +14,11 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+from django.conf.urls import include, url
from combo.urls_utils import decorated_includes, manager_required
from . import manager_views
-
from .views import GeojsonView
maps_manager_urls = [
diff --git a/combo/apps/newsletters/migrations/0001_initial.py b/combo/apps/newsletters/migrations/0001_initial.py
index 621a1b11..bd8eb6cd 100644
--- a/combo/apps/newsletters/migrations/0001_initial.py
+++ b/combo/apps/newsletters/migrations/0001_initial.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/newsletters/migrations/0003_newsletterscell_last_update_timestamp.py b/combo/apps/newsletters/migrations/0003_newsletterscell_last_update_timestamp.py
index 65a84708..521484c8 100644
--- a/combo/apps/newsletters/migrations/0003_newsletterscell_last_update_timestamp.py
+++ b/combo/apps/newsletters/migrations/0003_newsletterscell_last_update_timestamp.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/newsletters/models.py b/combo/apps/newsletters/models.py
index ef4d4f57..a6d4f580 100644
--- a/combo/apps/newsletters/models.py
+++ b/combo/apps/newsletters/models.py
@@ -14,20 +14,19 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-import logging
import json
+import logging
-from requests.exceptions import RequestException, HTTPError
-
-from django.db import models
-from django.utils.translation import ugettext_lazy as _
-from django.template.defaultfilters import slugify
-from django.forms import models as model_forms
from django.conf import settings
+from django.db import models
+from django.forms import models as model_forms
+from django.template.defaultfilters import slugify
from django.utils.http import urlencode
+from django.utils.translation import ugettext_lazy as _
+from requests.exceptions import HTTPError, RequestException
-from combo.data.models import CellBase
from combo.data.library import register_cell_class
+from combo.data.models import CellBase
from combo.utils import requests
from .forms import NewslettersManageForm
diff --git a/combo/apps/newsletters/urls.py b/combo/apps/newsletters/urls.py
index a5509fc7..c53a0265 100644
--- a/combo/apps/newsletters/urls.py
+++ b/combo/apps/newsletters/urls.py
@@ -1,5 +1,5 @@
-from django.contrib.auth.decorators import login_required
from django.conf.urls import url
+from django.contrib.auth.decorators import login_required
from .views import NewslettersView
diff --git a/combo/apps/newsletters/views.py b/combo/apps/newsletters/views.py
index 805c7307..0e333065 100644
--- a/combo/apps/newsletters/views.py
+++ b/combo/apps/newsletters/views.py
@@ -14,10 +14,10 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.views.generic import FormView
-from django.utils.translation import ugettext_lazy as _
from django.contrib import messages
from django.http import HttpResponseRedirect
+from django.utils.translation import ugettext_lazy as _
+from django.views.generic import FormView
from .forms import NewslettersManageForm
from .models import NewslettersCell, SubscriptionsSaveError
diff --git a/combo/apps/notifications/api_views.py b/combo/apps/notifications/api_views.py
index 3d233ab1..8e82c913 100644
--- a/combo/apps/notifications/api_views.py
+++ b/combo/apps/notifications/api_views.py
@@ -15,8 +15,7 @@
# along with this program. If not, see .
from django.utils.encoding import force_text
-
-from rest_framework import authentication, serializers, permissions, status
+from rest_framework import authentication, permissions, serializers, status
from rest_framework.generics import GenericAPIView
from rest_framework.response import Response
diff --git a/combo/apps/notifications/migrations/0001_initial.py b/combo/apps/notifications/migrations/0001_initial.py
index 09aebf1c..ee2a2ee3 100644
--- a/combo/apps/notifications/migrations/0001_initial.py
+++ b/combo/apps/notifications/migrations/0001_initial.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/notifications/migrations/0002_notificationscell_last_update_timestamp.py b/combo/apps/notifications/migrations/0002_notificationscell_last_update_timestamp.py
index 20344111..243161db 100644
--- a/combo/apps/notifications/migrations/0002_notificationscell_last_update_timestamp.py
+++ b/combo/apps/notifications/migrations/0002_notificationscell_last_update_timestamp.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/notifications/models.py b/combo/apps/notifications/models.py
index 70546bce..cfc866db 100644
--- a/combo/apps/notifications/models.py
+++ b/combo/apps/notifications/models.py
@@ -18,16 +18,15 @@ import re
from django.conf import settings
from django.db import models
-from django.utils.encoding import force_text, python_2_unicode_compatible
-from django.utils.translation import ugettext_lazy as _
-from django.utils.timezone import now, timedelta
from django.db.models import Q
from django.db.models.query import QuerySet
-
-from combo.data.models import CellBase
-from combo.data.library import register_cell_class
+from django.utils.encoding import force_text, python_2_unicode_compatible
+from django.utils.timezone import now, timedelta
+from django.utils.translation import ugettext_lazy as _
from combo.apps.pwa.models import PwaSettings
+from combo.data.library import register_cell_class
+from combo.data.models import CellBase
class NotificationQuerySet(QuerySet):
diff --git a/combo/apps/notifications/urls.py b/combo/apps/notifications/urls.py
index 378ee492..cf098835 100644
--- a/combo/apps/notifications/urls.py
+++ b/combo/apps/notifications/urls.py
@@ -16,7 +16,7 @@
from django.conf.urls import url
-from .api_views import add, ack, forget, count
+from .api_views import ack, add, count, forget
urlpatterns = [
url('^api/notification/add/$', add, name='api-notification-add'),
diff --git a/combo/apps/pwa/manager_views.py b/combo/apps/pwa/manager_views.py
index 7f30c7ad..706beb33 100644
--- a/combo/apps/pwa/manager_views.py
+++ b/combo/apps/pwa/manager_views.py
@@ -14,17 +14,17 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.urls import reverse_lazy
-from django.db.models import Max
from django import forms
+from django.db.models import Max
from django.http import JsonResponse
+from django.urls import reverse_lazy
from django.utils.translation import ugettext_lazy as _
-from django.views.generic import CreateView, UpdateView, DeleteView
+from django.views.generic import CreateView, DeleteView, UpdateView
from combo.data.forms import get_page_choices
-from .models import PwaSettings, PwaNavigationEntry
from .forms import PwaSettingsForm
+from .models import PwaNavigationEntry, PwaSettings
class ManagerHomeView(UpdateView):
diff --git a/combo/apps/pwa/migrations/0001_initial.py b/combo/apps/pwa/migrations/0001_initial.py
index c12768d3..4e9c24a9 100644
--- a/combo/apps/pwa/migrations/0001_initial.py
+++ b/combo/apps/pwa/migrations/0001_initial.py
@@ -2,10 +2,10 @@
# Generated by Django 1.11.12 on 2018-11-29 09:45
from __future__ import unicode_literals
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
+from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/pwa/migrations/0002_pwasettings.py b/combo/apps/pwa/migrations/0002_pwasettings.py
index 0ae0cf0e..77de5200 100644
--- a/combo/apps/pwa/migrations/0002_pwasettings.py
+++ b/combo/apps/pwa/migrations/0002_pwasettings.py
@@ -2,9 +2,10 @@
# Generated by Django 1.11.12 on 2018-12-27 08:44
from __future__ import unicode_literals
-import combo.data.fields
from django.db import migrations, models
+import combo.data.fields
+
class Migration(migrations.Migration):
diff --git a/combo/apps/pwa/migrations/0003_pwanavigationentry.py b/combo/apps/pwa/migrations/0003_pwanavigationentry.py
index c188428d..900fd592 100644
--- a/combo/apps/pwa/migrations/0003_pwanavigationentry.py
+++ b/combo/apps/pwa/migrations/0003_pwanavigationentry.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.12 on 2018-12-27 14:27
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/pwa/migrations/0006_auto_20190628_1042.py b/combo/apps/pwa/migrations/0006_auto_20190628_1042.py
index 51ec481c..6f08763a 100644
--- a/combo/apps/pwa/migrations/0006_auto_20190628_1042.py
+++ b/combo/apps/pwa/migrations/0006_auto_20190628_1042.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.12 on 2019-06-28 08:42
from __future__ import unicode_literals
-from django.db import migrations, models
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/pwa/models.py b/combo/apps/pwa/models.py
index d4860d09..94bf1809 100644
--- a/combo/apps/pwa/models.py
+++ b/combo/apps/pwa/models.py
@@ -25,15 +25,14 @@ from django.core.files.base import ContentFile
from django.core.files.storage import default_storage
from django.db import models
from django.utils import six
-from django.utils.encoding import force_text, force_bytes
+from django.utils.encoding import force_bytes, force_text
from django.utils.six import BytesIO
from django.utils.translation import ugettext_lazy as _
-
+from jsonfield import JSONField
from py_vapid import Vapid
-from jsonfield import JSONField
-from combo.data.fields import RichTextField
from combo import utils
+from combo.data.fields import RichTextField
class PwaSettings(models.Model):
diff --git a/combo/apps/pwa/signals.py b/combo/apps/pwa/signals.py
index b6afe362..c0df8ffc 100644
--- a/combo/apps/pwa/signals.py
+++ b/combo/apps/pwa/signals.py
@@ -17,12 +17,11 @@
import json
import logging
+import pywebpush
from django.conf import settings
from django.db.models.signals import post_save
from django.dispatch import receiver
-
from py_vapid import Vapid
-import pywebpush
from combo.apps.notifications.models import Notification
diff --git a/combo/apps/pwa/templatetags/pwa.py b/combo/apps/pwa/templatetags/pwa.py
index 6a3e509f..ec339aa5 100644
--- a/combo/apps/pwa/templatetags/pwa.py
+++ b/combo/apps/pwa/templatetags/pwa.py
@@ -19,7 +19,6 @@ from django.conf import settings
from combo.apps.pwa.models import PwaNavigationEntry
-
register = template.Library()
diff --git a/combo/apps/pwa/urls.py b/combo/apps/pwa/urls.py
index 45a8a6b1..1e4d21d7 100644
--- a/combo/apps/pwa/urls.py
+++ b/combo/apps/pwa/urls.py
@@ -14,26 +14,25 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+from django.conf.urls import include, url
from combo.urls_utils import decorated_includes, manager_required
from .manager_views import (
- ManagerHomeView,
ManagerAddNavigationEntry,
- ManagerEditNavigationEntry,
ManagerDeleteNavigationEntry,
+ ManagerEditNavigationEntry,
+ ManagerHomeView,
manager_navigation_order,
)
from .views import (
manifest_json,
+ offline_page,
service_worker_js,
service_worker_registration_js,
subscribe_push,
- offline_page,
)
-
pwa_manager_urls = [
url('^$', ManagerHomeView.as_view(), name='pwa-manager-homepage'),
url('^navigation/add/$', ManagerAddNavigationEntry.as_view(), name='pwa-manager-navigation-add'),
diff --git a/combo/apps/pwa/views.py b/combo/apps/pwa/views.py
index 5f37994d..6d4cb098 100644
--- a/combo/apps/pwa/views.py
+++ b/combo/apps/pwa/views.py
@@ -17,20 +17,19 @@
import base64
import json
+from cryptography.hazmat.primitives import serialization
from django.conf import settings
-
-from django.http import HttpResponse, HttpResponseForbidden, Http404, JsonResponse, HttpResponseBadRequest
-from django.template.loader import get_template, TemplateDoesNotExist
-from django.utils.encoding import force_text, force_bytes
+from django.http import Http404, HttpResponse, HttpResponseBadRequest, HttpResponseForbidden, JsonResponse
+from django.template.loader import TemplateDoesNotExist, get_template
+from django.utils.encoding import force_bytes, force_text
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import TemplateView
-
-from cryptography.hazmat.primitives import serialization
from py_vapid import Vapid
-from .models import PushSubscription, PwaSettings
from combo import VERSION
+from .models import PushSubscription, PwaSettings
+
def manifest_json(request, *args, **kwargs):
try:
diff --git a/combo/apps/search/forms.py b/combo/apps/search/forms.py
index 15eb485b..f9e0eea0 100644
--- a/combo/apps/search/forms.py
+++ b/combo/apps/search/forms.py
@@ -18,8 +18,9 @@ from django import forms
from django.utils.translation import ugettext_lazy as _
from combo.data.models import Page
-from .models import SearchCell
+
from . import engines
+from .models import SearchCell
class SearchCellForm(forms.ModelForm):
diff --git a/combo/apps/search/manager_views.py b/combo/apps/search/manager_views.py
index 9f47a0cc..cce48e07 100644
--- a/combo/apps/search/manager_views.py
+++ b/combo/apps/search/manager_views.py
@@ -14,14 +14,12 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.http import HttpResponse
-from django.http import HttpResponseRedirect
-from django.shortcuts import get_object_or_404
-from django.shortcuts import render
+from django.http import HttpResponse, HttpResponseRedirect
+from django.shortcuts import get_object_or_404, render
from django.urls import reverse
from django.utils.translation import ugettext_lazy as _
-from combo.apps.search.forms import TextEngineSettingsForm, CardsEngineSettingsForm
+from combo.apps.search.forms import CardsEngineSettingsForm, TextEngineSettingsForm
from combo.apps.search.models import SearchCell
from combo.data.models import PageSnapshot
diff --git a/combo/apps/search/migrations/0002_auto_20180720_1511.py b/combo/apps/search/migrations/0002_auto_20180720_1511.py
index 64ccb278..73bc1669 100644
--- a/combo/apps/search/migrations/0002_auto_20180720_1511.py
+++ b/combo/apps/search/migrations/0002_auto_20180720_1511.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/apps/search/migrations/0006_indexedcell.py b/combo/apps/search/migrations/0006_indexedcell.py
index 5e172ad6..39f73e11 100644
--- a/combo/apps/search/migrations/0006_indexedcell.py
+++ b/combo/apps/search/migrations/0006_indexedcell.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.17 on 2020-01-20 15:30
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/search/models.py b/combo/apps/search/models.py
index cae1323e..0f8bc347 100644
--- a/combo/apps/search/models.py
+++ b/combo/apps/search/models.py
@@ -14,25 +14,23 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+from django import template
from django.contrib.auth.models import Group
from django.contrib.contenttypes import fields
from django.contrib.contenttypes.models import ContentType
-from django.db import models
-from django.utils.translation import ugettext_lazy as _
-from django import template
-from django.http import HttpResponse
from django.core.exceptions import PermissionDenied
-from django.utils.functional import cached_property
-from django.utils.http import quote
+from django.db import models
+from django.http import HttpResponse
from django.shortcuts import get_object_or_404
from django.template import RequestContext, Template
-
+from django.utils.functional import cached_property
+from django.utils.http import quote
+from django.utils.translation import ugettext_lazy as _
from jsonfield import JSONField
-from combo.utils import requests
-from combo.data.models import CellBase, Page
from combo.data.library import register_cell_class
-from combo.utils import get_templated_url
+from combo.data.models import CellBase, Page
+from combo.utils import get_templated_url, requests
from . import engines
diff --git a/combo/apps/search/urls.py b/combo/apps/search/urls.py
index 17ce7cd9..efed09a5 100644
--- a/combo/apps/search/urls.py
+++ b/combo/apps/search/urls.py
@@ -14,11 +14,12 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+from django.conf.urls import include, url
from combo.urls_utils import decorated_includes, manager_required
-from .models import SearchCell
+
from . import manager_views
+from .models import SearchCell
search_manager_urls = [
url(
diff --git a/combo/apps/search/utils.py b/combo/apps/search/utils.py
index af981191..f9223c32 100644
--- a/combo/apps/search/utils.py
+++ b/combo/apps/search/utils.py
@@ -18,10 +18,11 @@ from django.conf import settings
from django.contrib.contenttypes.models import ContentType
from django.contrib.postgres.search import SearchQuery, SearchRank, SearchVector
from django.db import connection
-from django.db.models import Q, Prefetch
+from django.db.models import Prefetch, Q
from django.db.transaction import atomic
-from combo.data.models import Page, CellBase, ValidityInfo
+from combo.data.models import CellBase, Page, ValidityInfo
+
from .models import IndexedCell
diff --git a/combo/apps/wcs/__init__.py b/combo/apps/wcs/__init__.py
index bc942d7a..7a2ca1d9 100644
--- a/combo/apps/wcs/__init__.py
+++ b/combo/apps/wcs/__init__.py
@@ -20,7 +20,8 @@ import django.apps
from django.conf import settings
from django.urls import reverse
from django.utils.encoding import force_bytes
-from django.utils.translation import ugettext_lazy as _, pgettext_lazy
+from django.utils.translation import pgettext_lazy
+from django.utils.translation import ugettext_lazy as _
class AppConfig(django.apps.AppConfig):
@@ -46,6 +47,7 @@ class AppConfig(django.apps.AppConfig):
def get_card_search_engines(self, wcs_services):
from combo.data.models import Page
+
from .utils import get_wcs_json
pages_with_sub_slug = Page.objects.exclude(sub_slug='')
@@ -125,12 +127,13 @@ class AppConfig(django.apps.AppConfig):
def update_db_cache(self):
from combo.data.models import CellBase
+
from .models import (
- WcsFormCell,
- WcsCategoryCell,
- WcsFormsOfCategoryCell,
- WcsCardsCell,
WcsCardInfosCell,
+ WcsCardsCell,
+ WcsCategoryCell,
+ WcsFormCell,
+ WcsFormsOfCategoryCell,
)
models_to_update = [
diff --git a/combo/apps/wcs/forms.py b/combo/apps/wcs/forms.py
index 506abf78..f4acaa5e 100644
--- a/combo/apps/wcs/forms.py
+++ b/combo/apps/wcs/forms.py
@@ -21,13 +21,13 @@ from django.utils.translation import ugettext_lazy as _
from combo.utils.forms import MultiSortWidget
from .models import (
- WcsFormCell,
- WcsCategoryCell,
- WcsFormsOfCategoryCell,
- WcsCurrentFormsCell,
- WcsCurrentDraftsCell,
- WcsCardsCell,
WcsCardInfosCell,
+ WcsCardsCell,
+ WcsCategoryCell,
+ WcsCurrentDraftsCell,
+ WcsCurrentFormsCell,
+ WcsFormCell,
+ WcsFormsOfCategoryCell,
)
from .utils import get_wcs_options, get_wcs_services
diff --git a/combo/apps/wcs/migrations/0001_initial.py b/combo/apps/wcs/migrations/0001_initial.py
index 8d50d2dc..e87623b1 100644
--- a/combo/apps/wcs/migrations/0001_initial.py
+++ b/combo/apps/wcs/migrations/0001_initial.py
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
+
import combo.apps.wcs.models
diff --git a/combo/apps/wcs/migrations/0002_auto_20150217_1402.py b/combo/apps/wcs/migrations/0002_auto_20150217_1402.py
index 73422c07..5705de54 100644
--- a/combo/apps/wcs/migrations/0002_auto_20150217_1402.py
+++ b/combo/apps/wcs/migrations/0002_auto_20150217_1402.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0003_auto_20150218_1151.py b/combo/apps/wcs/migrations/0003_auto_20150218_1151.py
index 62365ecf..4180a8ea 100644
--- a/combo/apps/wcs/migrations/0003_auto_20150218_1151.py
+++ b/combo/apps/wcs/migrations/0003_auto_20150218_1151.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0004_auto_20150218_1154.py b/combo/apps/wcs/migrations/0004_auto_20150218_1154.py
index e756d99f..b57337bf 100644
--- a/combo/apps/wcs/migrations/0004_auto_20150218_1154.py
+++ b/combo/apps/wcs/migrations/0004_auto_20150218_1154.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0005_auto_20150401_0758.py b/combo/apps/wcs/migrations/0005_auto_20150401_0758.py
index 05c21186..b558fb69 100644
--- a/combo/apps/wcs/migrations/0005_auto_20150401_0758.py
+++ b/combo/apps/wcs/migrations/0005_auto_20150401_0758.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0006_categoriescell.py b/combo/apps/wcs/migrations/0006_categoriescell.py
index 479f0221..5b3d98a8 100644
--- a/combo/apps/wcs/migrations/0006_categoriescell.py
+++ b/combo/apps/wcs/migrations/0006_categoriescell.py
@@ -1,7 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
+
import combo.apps.wcs.models
diff --git a/combo/apps/wcs/migrations/0007_trackingcodeinputcell.py b/combo/apps/wcs/migrations/0007_trackingcodeinputcell.py
index b64930bd..8331c304 100644
--- a/combo/apps/wcs/migrations/0007_trackingcodeinputcell.py
+++ b/combo/apps/wcs/migrations/0007_trackingcodeinputcell.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0008_wcsformcell_cached_json.py b/combo/apps/wcs/migrations/0008_wcsformcell_cached_json.py
index d64a6571..6e7353dd 100644
--- a/combo/apps/wcs/migrations/0008_wcsformcell_cached_json.py
+++ b/combo/apps/wcs/migrations/0008_wcsformcell_cached_json.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0009_remove_wcscategorycell_link_page.py b/combo/apps/wcs/migrations/0009_remove_wcscategorycell_link_page.py
index b5062fa9..65b4b1b9 100644
--- a/combo/apps/wcs/migrations/0009_remove_wcscategorycell_link_page.py
+++ b/combo/apps/wcs/migrations/0009_remove_wcscategorycell_link_page.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0010_auto_20151029_1535.py b/combo/apps/wcs/migrations/0010_auto_20151029_1535.py
index f43eb939..79db827e 100644
--- a/combo/apps/wcs/migrations/0010_auto_20151029_1535.py
+++ b/combo/apps/wcs/migrations/0010_auto_20151029_1535.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0011_auto_20151215_1121.py b/combo/apps/wcs/migrations/0011_auto_20151215_1121.py
index 689e9d9c..e2cafcca 100644
--- a/combo/apps/wcs/migrations/0011_auto_20151215_1121.py
+++ b/combo/apps/wcs/migrations/0011_auto_20151215_1121.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0012_wcsformsofcategorycell_manual_order.py b/combo/apps/wcs/migrations/0012_wcsformsofcategorycell_manual_order.py
index 247de4e3..f8ef98e6 100644
--- a/combo/apps/wcs/migrations/0012_wcsformsofcategorycell_manual_order.py
+++ b/combo/apps/wcs/migrations/0012_wcsformsofcategorycell_manual_order.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0014_auto_20170214_2006.py b/combo/apps/wcs/migrations/0014_auto_20170214_2006.py
index dab70938..7b351f02 100644
--- a/combo/apps/wcs/migrations/0014_auto_20170214_2006.py
+++ b/combo/apps/wcs/migrations/0014_auto_20170214_2006.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/apps/wcs/migrations/0015_wcscurrentformscell_categories.py b/combo/apps/wcs/migrations/0015_wcscurrentformscell_categories.py
index ec5c3c42..081c1e68 100644
--- a/combo/apps/wcs/migrations/0015_wcscurrentformscell_categories.py
+++ b/combo/apps/wcs/migrations/0015_wcscurrentformscell_categories.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.8 on 2018-01-21 12:50
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0016_backofficesubmissioncell.py b/combo/apps/wcs/migrations/0016_backofficesubmissioncell.py
index 64f0e36c..66c5c32b 100644
--- a/combo/apps/wcs/migrations/0016_backofficesubmissioncell.py
+++ b/combo/apps/wcs/migrations/0016_backofficesubmissioncell.py
@@ -2,9 +2,10 @@
# Generated by Django 1.11.12 on 2018-08-10 08:05
from __future__ import unicode_literals
-import combo.apps.wcs.models
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
+
+import combo.apps.wcs.models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0017_wcscareformscell.py b/combo/apps/wcs/migrations/0017_wcscareformscell.py
index f1c71b8d..3be36c0d 100644
--- a/combo/apps/wcs/migrations/0017_wcscareformscell.py
+++ b/combo/apps/wcs/migrations/0017_wcscareformscell.py
@@ -2,9 +2,10 @@
# Generated by Django 1.11.18 on 2019-10-18 13:48
from __future__ import unicode_literals
-import combo.apps.wcs.models
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
+
+import combo.apps.wcs.models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0018_wcscurrentdraftscell_categories.py b/combo/apps/wcs/migrations/0018_wcscurrentdraftscell_categories.py
index 277cb67d..a6d9b949 100644
--- a/combo/apps/wcs/migrations/0018_wcscurrentdraftscell_categories.py
+++ b/combo/apps/wcs/migrations/0018_wcscurrentdraftscell_categories.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0020_cards.py b/combo/apps/wcs/migrations/0020_cards.py
index 9a6b7e08..d88340d2 100644
--- a/combo/apps/wcs/migrations/0020_cards.py
+++ b/combo/apps/wcs/migrations/0020_cards.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-import combo.apps.wcs.models
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
+
+import combo.apps.wcs.models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0021_card.py b/combo/apps/wcs/migrations/0021_card.py
index cc2c366b..a6ccabfa 100644
--- a/combo/apps/wcs/migrations/0021_card.py
+++ b/combo/apps/wcs/migrations/0021_card.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-import combo.apps.wcs.models
-from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
+from django.db import migrations, models
+
+import combo.apps.wcs.models
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/migrations/0025_submission_categories.py b/combo/apps/wcs/migrations/0025_submission_categories.py
index 346255c6..29c5ed90 100644
--- a/combo/apps/wcs/migrations/0025_submission_categories.py
+++ b/combo/apps/wcs/migrations/0025_submission_categories.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/apps/wcs/models.py b/combo/apps/wcs/models.py
index 47b112f1..67b312b8 100644
--- a/combo/apps/wcs/models.py
+++ b/combo/apps/wcs/models.py
@@ -21,21 +21,19 @@ import logging
from django.conf import settings
from django.db import models
-from django.forms import models as model_forms
from django.forms import Select
+from django.forms import models as model_forms
from django.utils.text import slugify
from django.utils.translation import ugettext_lazy as _
-
from jsonfield import JSONField
from requests.exceptions import RequestException
-from combo.data.models import CellBase, Page
-from combo.data.library import register_cell_class
from combo import utils
+from combo.data.library import register_cell_class
+from combo.data.models import CellBase, Page
from combo.utils import requests
-from .utils import get_wcs_json, is_wcs_enabled, get_wcs_services
-
+from .utils import get_wcs_json, get_wcs_services, is_wcs_enabled
invalid_reason_codes = {
'wcs_form_not_defined': _('No form set'),
diff --git a/combo/apps/wcs/templatetags/wcs.py b/combo/apps/wcs/templatetags/wcs.py
index 2d3caac2..4b4b1e46 100644
--- a/combo/apps/wcs/templatetags/wcs.py
+++ b/combo/apps/wcs/templatetags/wcs.py
@@ -16,7 +16,6 @@
from django import template
-
register = template.Library()
diff --git a/combo/apps/wcs/utils.py b/combo/apps/wcs/utils.py
index a8fdf897..62c6373d 100644
--- a/combo/apps/wcs/utils.py
+++ b/combo/apps/wcs/utils.py
@@ -17,7 +17,6 @@
import json
from django.conf import settings
-
from requests.exceptions import RequestException
from combo.utils import requests
diff --git a/combo/apps/wcs/views.py b/combo/apps/wcs/views.py
index b640200c..2b062547 100644
--- a/combo/apps/wcs/views.py
+++ b/combo/apps/wcs/views.py
@@ -16,25 +16,24 @@
import re
-from django.contrib import messages
+import ratelimit.utils
from django.conf import settings
+from django.contrib import messages
from django.core.exceptions import DisallowedRedirect, PermissionDenied
+from django.http import HttpResponseBadRequest, HttpResponseRedirect, JsonResponse
from django.urls import reverse
-from django.http import JsonResponse, HttpResponseRedirect, HttpResponseBadRequest
from django.utils.http import urlquote
from django.utils.six.moves.urllib import parse as urlparse
from django.utils.translation import ugettext_lazy as _
from django.views.decorators.csrf import csrf_exempt
from django.views.generic import View
-import ratelimit.utils
+from combo.utils import requests
+from combo.utils.misc import is_url_from_known_service
from .models import TrackingCodeInputCell
from .utils import get_wcs_services
-from combo.utils import requests
-from combo.utils.misc import is_url_from_known_service
-
class TrackingCodeView(View):
http_method_names = ['post']
diff --git a/combo/context_processors.py b/combo/context_processors.py
index b42032ac..eafd630a 100644
--- a/combo/context_processors.py
+++ b/combo/context_processors.py
@@ -17,8 +17,8 @@
from django.conf import settings
-from combo.utils.cache import cache_during_request
from combo.apps.pwa.models import PwaSettings
+from combo.utils.cache import cache_during_request
def template_vars(request):
diff --git a/combo/data/fields.py b/combo/data/fields.py
index c7523fba..05dd5c46 100644
--- a/combo/data/fields.py
+++ b/combo/data/fields.py
@@ -16,14 +16,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
+import ckeditor.fields
from django import forms
from django.conf import settings
from django.core import validators
from django.forms.widgets import TextInput
from django.utils.encoding import force_text
-import ckeditor.fields
-
class RichTextField(ckeditor.fields.RichTextField):
def formfield(self, **kwargs):
diff --git a/combo/data/forms.py b/combo/data/forms.py
index 6b7dbd62..a8d6336f 100644
--- a/combo/data/forms.py
+++ b/combo/data/forms.py
@@ -18,9 +18,10 @@ import copy
from django import forms
-from .models import Page, MenuCell, LinkCell, LinkListCell, ConfigJsonCell
from combo.utils import cache_during_request
+from .models import ConfigJsonCell, LinkCell, LinkListCell, MenuCell, Page
+
@cache_during_request
def get_page_choices():
diff --git a/combo/data/management/commands/import_site.py b/combo/data/management/commands/import_site.py
index f00daeed..7a5f01cb 100644
--- a/combo/data/management/commands/import_site.py
+++ b/combo/data/management/commands/import_site.py
@@ -20,7 +20,7 @@ import tarfile
from django.core.management.base import BaseCommand, CommandError
-from combo.data.utils import import_site, import_site_tar, ImportSiteError
+from combo.data.utils import ImportSiteError, import_site, import_site_tar
class Command(BaseCommand):
diff --git a/combo/data/migrations/0001_initial.py b/combo/data/migrations/0001_initial.py
index e18e399b..113c8809 100644
--- a/combo/data/migrations/0001_initial.py
+++ b/combo/data/migrations/0001_initial.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0002_auto_20150217_1327.py b/combo/data/migrations/0002_auto_20150217_1327.py
index 7547a9ea..a8c60aef 100644
--- a/combo/data/migrations/0002_auto_20150217_1327.py
+++ b/combo/data/migrations/0002_auto_20150217_1327.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0003_menucell.py b/combo/data/migrations/0003_menucell.py
index eb85fd9c..a110d2b1 100644
--- a/combo/data/migrations/0003_menucell.py
+++ b/combo/data/migrations/0003_menucell.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0004_menucell_depth.py b/combo/data/migrations/0004_menucell_depth.py
index f222c825..e68d9a3a 100644
--- a/combo/data/migrations/0004_menucell_depth.py
+++ b/combo/data/migrations/0004_menucell_depth.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0005_auto_20150226_0903.py b/combo/data/migrations/0005_auto_20150226_0903.py
index 5c77cc4b..d60a8467 100644
--- a/combo/data/migrations/0005_auto_20150226_0903.py
+++ b/combo/data/migrations/0005_auto_20150226_0903.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import ckeditor.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0006_linkcell.py b/combo/data/migrations/0006_linkcell.py
index cc30f855..3769ac43 100644
--- a/combo/data/migrations/0006_linkcell.py
+++ b/combo/data/migrations/0006_linkcell.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0007_auto_20150529_1003.py b/combo/data/migrations/0007_auto_20150529_1003.py
index 0609ebc5..3f34d355 100644
--- a/combo/data/migrations/0007_auto_20150529_1003.py
+++ b/combo/data/migrations/0007_auto_20150529_1003.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0008_auto_20150529_1504.py b/combo/data/migrations/0008_auto_20150529_1504.py
index 12f8a4d0..691cef40 100644
--- a/combo/data/migrations/0008_auto_20150529_1504.py
+++ b/combo/data/migrations/0008_auto_20150529_1504.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0009_auto_20150529_2247.py b/combo/data/migrations/0009_auto_20150529_2247.py
index 951b6111..7f93411b 100644
--- a/combo/data/migrations/0009_auto_20150529_2247.py
+++ b/combo/data/migrations/0009_auto_20150529_2247.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0010_feedcell.py b/combo/data/migrations/0010_feedcell.py
index 5b5262a2..93dac910 100644
--- a/combo/data/migrations/0010_feedcell.py
+++ b/combo/data/migrations/0010_feedcell.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0011_auto_20151028_1047.py b/combo/data/migrations/0011_auto_20151028_1047.py
index 43f1a692..4ac7fde8 100644
--- a/combo/data/migrations/0011_auto_20151028_1047.py
+++ b/combo/data/migrations/0011_auto_20151028_1047.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0012_auto_20151029_1535.py b/combo/data/migrations/0012_auto_20151029_1535.py
index b6b4ad79..d6bbf189 100644
--- a/combo/data/migrations/0012_auto_20151029_1535.py
+++ b/combo/data/migrations/0012_auto_20151029_1535.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0013_parameterscell.py b/combo/data/migrations/0013_parameterscell.py
index a3706a79..130f5ed8 100644
--- a/combo/data/migrations/0013_parameterscell.py
+++ b/combo/data/migrations/0013_parameterscell.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0014_menucell_initial_level.py b/combo/data/migrations/0014_menucell_initial_level.py
index 3cef2c2f..292f2a84 100644
--- a/combo/data/migrations/0014_menucell_initial_level.py
+++ b/combo/data/migrations/0014_menucell_initial_level.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0015_feedcell_title.py b/combo/data/migrations/0015_feedcell_title.py
index eef50ac6..8e3cab94 100644
--- a/combo/data/migrations/0015_feedcell_title.py
+++ b/combo/data/migrations/0015_feedcell_title.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import models, migrations
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0021_jsoncell.py b/combo/data/migrations/0021_jsoncell.py
index a58a8e81..8a9ee194 100644
--- a/combo/data/migrations/0021_jsoncell.py
+++ b/combo/data/migrations/0021_jsoncell.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-import combo.data.models
from django.db import migrations, models
+import combo.data.models
+
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0022_auto_20170214_2006.py b/combo/data/migrations/0022_auto_20170214_2006.py
index 983c46ec..eef46909 100644
--- a/combo/data/migrations/0022_auto_20170214_2006.py
+++ b/combo/data/migrations/0022_auto_20170214_2006.py
@@ -1,8 +1,9 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import datetime
+
+from django.db import migrations, models
from django.utils.timezone import utc
diff --git a/combo/data/migrations/0024_configjsoncell.py b/combo/data/migrations/0024_configjsoncell.py
index 65977438..8e2e4d7c 100644
--- a/combo/data/migrations/0024_configjsoncell.py
+++ b/combo/data/migrations/0024_configjsoncell.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import jsonfield.fields
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0025_jsoncell_varnames_str.py b/combo/data/migrations/0025_jsoncell_varnames_str.py
index 52905662..e916e801 100644
--- a/combo/data/migrations/0025_jsoncell_varnames_str.py
+++ b/combo/data/migrations/0025_jsoncell_varnames_str.py
@@ -2,6 +2,7 @@
from __future__ import unicode_literals
from django.db import migrations, models
+
import combo.data.fields
diff --git a/combo/data/migrations/0029_auto_20171022_1242.py b/combo/data/migrations/0029_auto_20171022_1242.py
index 60c2aec2..bcb7dd07 100644
--- a/combo/data/migrations/0029_auto_20171022_1242.py
+++ b/combo/data/migrations/0029_auto_20171022_1242.py
@@ -1,9 +1,10 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-import combo.data.models
from django.db import migrations, models
+import combo.data.models
+
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0033_auto_20180401_1300.py b/combo/data/migrations/0033_auto_20180401_1300.py
index 30f691de..99813c28 100644
--- a/combo/data/migrations/0033_auto_20180401_1300.py
+++ b/combo/data/migrations/0033_auto_20180401_1300.py
@@ -2,10 +2,10 @@
# Generated by Django 1.11.8 on 2018-04-01 13:00
from __future__ import unicode_literals
-from django.conf import settings
-from django.db import migrations, models
import django.db.models.deletion
import jsonfield.fields
+from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0034_redirect.py b/combo/data/migrations/0034_redirect.py
index cc044ece..e4dd394f 100644
--- a/combo/data/migrations/0034_redirect.py
+++ b/combo/data/migrations/0034_redirect.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.12 on 2018-07-13 06:40
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0035_page_related_cells.py b/combo/data/migrations/0035_page_related_cells.py
index 34406ceb..3b26ab9e 100644
--- a/combo/data/migrations/0035_page_related_cells.py
+++ b/combo/data/migrations/0035_page_related_cells.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.12 on 2018-06-02 11:03
from __future__ import unicode_literals
-from django.db import migrations
import jsonfield.fields
+from django.db import migrations
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0039_link_list_cell.py b/combo/data/migrations/0039_link_list_cell.py
index 0bbc85c1..51aa9f7b 100644
--- a/combo/data/migrations/0039_link_list_cell.py
+++ b/combo/data/migrations/0039_link_list_cell.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0042_page_creation_timestamp.py b/combo/data/migrations/0042_page_creation_timestamp.py
index f6e754af..d4f254a8 100644
--- a/combo/data/migrations/0042_page_creation_timestamp.py
+++ b/combo/data/migrations/0042_page_creation_timestamp.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.18 on 2020-01-31 15:40
from __future__ import unicode_literals
-from django.db import migrations, models
import django.utils.timezone
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/migrations/0044_validity_info.py b/combo/data/migrations/0044_validity_info.py
index c181b3c8..6ee50906 100644
--- a/combo/data/migrations/0044_validity_info.py
+++ b/combo/data/migrations/0044_validity_info.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/data/models.py b/combo/data/models.py
index 04887230..938e8977 100644
--- a/combo/data/models.py
+++ b/combo/data/models.py
@@ -17,55 +17,51 @@
import collections
import copy
import datetime
-import feedparser
import hashlib
import html
import json
import logging
import os
import re
-import requests
import subprocess
+import feedparser
+import requests
+from django import forms, template
from django.apps import apps
from django.conf import settings
from django.contrib import messages
from django.contrib.auth.models import Group
-from django.contrib.contenttypes.fields import GenericForeignKey
-from django.contrib.contenttypes.fields import GenericRelation
+from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
from django.contrib.contenttypes.models import ContentType
-from django.core.cache import cache
-from django.core.exceptions import ObjectDoesNotExist, ValidationError, PermissionDenied
from django.core import serializers
+from django.core.cache import cache
+from django.core.exceptions import ObjectDoesNotExist, PermissionDenied, ValidationError
from django.db import models, transaction
-from django.db.models.base import ModelBase
-from django.db.models.signals import pre_save, post_save, post_delete
from django.db.models import Max, Q
+from django.db.models.base import ModelBase
+from django.db.models.signals import post_delete, post_save, pre_save
from django.dispatch import receiver
from django.forms import models as model_forms
-from django import forms
-from django import template
+from django.forms.widgets import MediaDefiningClass
+from django.template import Context, TemplateDoesNotExist, TemplateSyntaxError, engines
+from django.test.client import RequestFactory
from django.utils import six, timezone
-from django.utils.encoding import python_2_unicode_compatible, force_text, smart_bytes
+from django.utils.encoding import force_text, python_2_unicode_compatible, smart_bytes
from django.utils.html import strip_tags
from django.utils.safestring import mark_safe
from django.utils.six.moves.urllib import parse as urlparse
from django.utils.text import slugify
from django.utils.timezone import now
from django.utils.translation import ugettext_lazy as _
-from django.forms.widgets import MediaDefiningClass
-from django.template import Context, engines, TemplateDoesNotExist, TemplateSyntaxError
-from django.test.client import RequestFactory
-
-from .fields import RichTextField, TemplatableURLField
-
from jsonfield import JSONField
-from .library import register_cell_class, get_cell_classes, get_cell_class
-
from combo import utils
from combo.utils import NothingInCacheException
+from .fields import RichTextField, TemplatableURLField
+from .library import get_cell_class, get_cell_classes, register_cell_class
+
class PostException(Exception):
pass
diff --git a/combo/data/utils.py b/combo/data/utils.py
index 253b5685..cca3a8a1 100644
--- a/combo/data/utils.py
+++ b/combo/data/utils.py
@@ -26,12 +26,10 @@ from django.utils.encoding import python_2_unicode_compatible
from django.utils.translation import ugettext_lazy as _
from combo.apps.assets.models import Asset
-from combo.apps.assets.utils import add_tar_content
-from combo.apps.assets.utils import clean_assets_files
-from combo.apps.assets.utils import untar_assets_files
-from combo.apps.assets.utils import tar_assets_files
+from combo.apps.assets.utils import add_tar_content, clean_assets_files, tar_assets_files, untar_assets_files
from combo.apps.maps.models import MapLayer
-from combo.apps.pwa.models import PwaSettings, PwaNavigationEntry
+from combo.apps.pwa.models import PwaNavigationEntry, PwaSettings
+
from .models import Page
diff --git a/combo/manager/fields.py b/combo/manager/fields.py
index 382617d3..98340021 100644
--- a/combo/manager/fields.py
+++ b/combo/manager/fields.py
@@ -17,8 +17,8 @@
# along with this program. If not, see .
-from django.core import validators
from django import forms
+from django.core import validators
def get_available_image_extensions():
diff --git a/combo/manager/forms.py b/combo/manager/forms.py
index 6611e9f7..71b0582d 100644
--- a/combo/manager/forms.py
+++ b/combo/manager/forms.py
@@ -20,12 +20,10 @@ from django import forms
from django.conf import settings
from django.contrib.auth.models import Group
from django.core.exceptions import ValidationError
-from django.template.loader import get_template, TemplateDoesNotExist
+from django.template.loader import TemplateDoesNotExist, get_template
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import Page
-from combo.data.models import ParentContentCell
-from combo.data.models import compile_sub_slug
+from combo.data.models import Page, ParentContentCell, compile_sub_slug
from .fields import ImageIncludingSvgField
diff --git a/combo/manager/urls.py b/combo/manager/urls.py
index 8488d2c9..d957115e 100644
--- a/combo/manager/urls.py
+++ b/combo/manager/urls.py
@@ -14,13 +14,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.conf.urls import url, include
+import ckeditor.views as ckeditor_views
+from django.conf.urls import include, url
from django.contrib.admin.views.decorators import staff_member_required
from django.views.decorators.cache import never_cache
-import ckeditor.views as ckeditor_views
-
from combo.apps.assets import views as assets_views
+
from .. import plugins
from . import views
diff --git a/combo/manager/views.py b/combo/manager/views.py
index bd6bf4a8..952fbe2a 100644
--- a/combo/manager/views.py
+++ b/combo/manager/views.py
@@ -14,56 +14,54 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-import hashlib
import datetime
+import hashlib
import json
-from operator import attrgetter
import tarfile
+from operator import attrgetter
from django.conf import settings
from django.contrib import messages
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
+from django.http import Http404, HttpResponse, HttpResponseRedirect
+from django.shortcuts import get_object_or_404, redirect, render
from django.urls import reverse, reverse_lazy
-from django.http import HttpResponse, HttpResponseRedirect, Http404
-from django.shortcuts import redirect
-from django.shortcuts import render
-from django.shortcuts import get_object_or_404
-from django.utils.translation import ugettext_lazy as _
-from django.utils.encoding import force_text, force_bytes
+from django.utils.encoding import force_bytes, force_text
from django.utils.formats import date_format
from django.utils.six import BytesIO
from django.utils.timezone import localtime
+from django.utils.translation import ugettext_lazy as _
from django.views.decorators.csrf import requires_csrf_token
from django.views.generic import (
- RedirectView,
- DetailView,
CreateView,
- UpdateView,
- ListView,
DeleteView,
+ DetailView,
FormView,
+ ListView,
+ RedirectView,
+ UpdateView,
)
-from combo.data.models import Page, CellBase, ParentContentCell, PageSnapshot, LinkListCell
-from combo.data.library import get_cell_class
-from combo.data.utils import export_site, export_site_tar, import_site, import_site_tar, ImportSiteError
from combo import plugins
+from combo.data.library import get_cell_class
+from combo.data.models import CellBase, LinkListCell, Page, PageSnapshot, ParentContentCell
+from combo.data.utils import ImportSiteError, export_site, export_site_tar, import_site, import_site_tar
from .forms import (
- PageAddForm,
- PageEditTitleForm,
- PageVisibilityForm,
- SiteImportForm,
- SiteExportForm,
- PageEditRedirectionForm,
- PageSelectTemplateForm,
- PageEditSlugForm,
- PageEditPictureForm,
- PageEditIncludeInNavigationForm,
- PageEditDescriptionForm,
CellVisibilityForm,
+ PageAddForm,
PageDuplicateForm,
+ PageEditDescriptionForm,
+ PageEditIncludeInNavigationForm,
+ PageEditPictureForm,
+ PageEditRedirectionForm,
+ PageEditSlugForm,
+ PageEditTitleForm,
PageExportForm,
+ PageSelectTemplateForm,
+ PageVisibilityForm,
+ SiteExportForm,
+ SiteImportForm,
)
diff --git a/combo/middleware.py b/combo/middleware.py
index b5b3ba4c..4778cf07 100644
--- a/combo/middleware.py
+++ b/combo/middleware.py
@@ -18,7 +18,6 @@ import threading
from django.utils.deprecation import MiddlewareMixin
-
_requests = {}
diff --git a/combo/monkeypatch.py b/combo/monkeypatch.py
index c0c71425..127dc86f 100644
--- a/combo/monkeypatch.py
+++ b/combo/monkeypatch.py
@@ -14,18 +14,17 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from django.urls import reverse
+import ckeditor.views
+import ckeditor.widgets
+from ckeditor.image import pillow_backend
from django.forms.utils import flatatt
from django.template.loader import render_to_string
+from django.urls import reverse
from django.utils.encoding import force_text
from django.utils.html import conditional_escape
from django.utils.safestring import mark_safe
from django.utils.translation import get_language
-import ckeditor.views
-import ckeditor.widgets
-from ckeditor.image import pillow_backend
-
def ckeditor_render(self, name, value, attrs=None, renderer=None):
if value is None:
diff --git a/combo/plugins.py b/combo/plugins.py
index cd41db18..e445a73b 100644
--- a/combo/plugins.py
+++ b/combo/plugins.py
@@ -14,8 +14,8 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from functools import wraps
import logging
+from functools import wraps
from django.apps import apps
from django.conf.urls import include, url
diff --git a/combo/profile/__init__.py b/combo/profile/__init__.py
index ae6bca2f..8bc7e072 100644
--- a/combo/profile/__init__.py
+++ b/combo/profile/__init__.py
@@ -44,9 +44,10 @@ class AppConfig(django.apps.AppConfig):
get_user_model().add_to_class('get_name_id', user_get_name_id)
def get_search_engines(self):
- from combo.data.models import Page
from django.conf import settings
+ from combo.data.models import Page
+
user_page = Page.objects.filter(sub_slug='name_id').first()
if not user_page:
user_page = Page.objects.filter(sub_slug__contains='').first()
diff --git a/combo/profile/migrations/0001_initial.py b/combo/profile/migrations/0001_initial.py
index b9101163..3c0ee90c 100644
--- a/combo/profile/migrations/0001_initial.py
+++ b/combo/profile/migrations/0001_initial.py
@@ -1,8 +1,8 @@
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
-from django.db import migrations, models
from django.conf import settings
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/profile/migrations/0002_profilecell.py b/combo/profile/migrations/0002_profilecell.py
index 87eef682..122049ba 100644
--- a/combo/profile/migrations/0002_profilecell.py
+++ b/combo/profile/migrations/0002_profilecell.py
@@ -2,8 +2,8 @@
# Generated by Django 1.11.12 on 2018-08-10 13:52
from __future__ import unicode_literals
-from django.db import migrations, models
import django.db.models.deletion
+from django.db import migrations, models
class Migration(migrations.Migration):
diff --git a/combo/profile/models.py b/combo/profile/models.py
index 7edcb0ad..6e62a2b4 100644
--- a/combo/profile/models.py
+++ b/combo/profile/models.py
@@ -14,16 +14,16 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .
-from collections import OrderedDict
import copy
+from collections import OrderedDict
from django.conf import settings
from django.db import models
from django.utils.dateparse import parse_date
from django.utils.translation import ugettext_lazy as _
-from combo.data.models import JsonCellBase
from combo.data.library import register_cell_class
+from combo.data.models import JsonCellBase
class Profile(models.Model):
diff --git a/combo/public/admin.py b/combo/public/admin.py
index 3eb5e59f..604c7f2e 100644
--- a/combo/public/admin.py
+++ b/combo/public/admin.py
@@ -15,8 +15,8 @@
# along with this program. If not, see .
from django.contrib import admin
-from django.urls import reverse
from django.shortcuts import redirect
+from django.urls import reverse
from django.urls.exceptions import NoReverseMatch
from django.views.decorators.cache import never_cache
diff --git a/combo/public/templatetags/combo.py b/combo/public/templatetags/combo.py
index 00f7d12a..e8c1553a 100644
--- a/combo/public/templatetags/combo.py
+++ b/combo/public/templatetags/combo.py
@@ -17,12 +17,12 @@
from __future__ import absolute_import
import datetime
-from decimal import Decimal
-from decimal import InvalidOperation as DecimalInvalidOperation
-from decimal import DivisionByZero as DecimalDivisionByZero
import json
import math
import time
+from decimal import Decimal
+from decimal import DivisionByZero as DecimalDivisionByZero
+from decimal import InvalidOperation as DecimalInvalidOperation
from django import template
from django.core import signing
@@ -38,6 +38,7 @@ try:
TOKEN_COMMENT = TokenType.COMMENT
except ImportError:
from django.template.base import TOKEN_BLOCK, TOKEN_VAR, TOKEN_COMMENT
+
from django.template import defaultfilters
from django.template.defaultfilters import stringfilter
from django.utils import dateparse, six
@@ -46,12 +47,11 @@ from django.utils.html import format_html
from django.utils.safestring import mark_safe
from django.utils.timezone import is_naive, make_aware
+from combo.apps.dashboard.models import DashboardCell, Tile
from combo.data.models import Page, Placeholder
from combo.public.menu import get_menu_context
from combo.utils import NothingInCacheException, flatten_context
from combo.utils.date import make_date, make_datetime
-from combo.apps.dashboard.models import DashboardCell, Tile
-
register = template.Library()
diff --git a/combo/public/urls.py b/combo/public/urls.py
index 172d94fe..7df37d35 100644
--- a/combo/public/urls.py
+++ b/combo/public/urls.py
@@ -17,6 +17,7 @@
from django.conf.urls import url
from combo.urls_utils import manager_required
+
from . import views
urlpatterns = [
diff --git a/combo/public/views.py b/combo/public/views.py
index f04a7dc3..1d568838 100644
--- a/combo/public/views.py
+++ b/combo/public/views.py
@@ -27,46 +27,45 @@ from django.contrib.auth.models import User
from django.core import signing
from django.core.exceptions import ObjectDoesNotExist, PermissionDenied
from django.db import transaction
+from django.forms.widgets import Media
from django.http import (
Http404,
HttpResponse,
- HttpResponseRedirect,
- HttpResponsePermanentRedirect,
HttpResponseBadRequest,
+ HttpResponsePermanentRedirect,
+ HttpResponseRedirect,
)
from django.shortcuts import render, resolve_url
from django.template import engines
-from django.template.loader import get_template, TemplateDoesNotExist
+from django.template.loader import TemplateDoesNotExist, get_template
from django.utils import lorem_ipsum, timezone
from django.utils.encoding import force_text
-from django.utils.six.moves.urllib import parse as urlparse
from django.utils.six.moves.urllib import parse as urllib
+from django.utils.six.moves.urllib import parse as urlparse
+from django.utils.translation import ugettext as _
from django.views.decorators.csrf import csrf_exempt
from django.views.defaults import page_not_found
-from django.utils.translation import ugettext as _
-from django.forms.widgets import Media
-
if 'mellon' in settings.INSTALLED_APPS:
from mellon.utils import get_idps
else:
get_idps = lambda: []
+from combo import utils
from combo.apps.assets.models import Asset
+from combo.apps.search.models import SearchCell
from combo.data.models import (
CellBase,
- PostException,
Page,
- Redirect,
- ParentContentCell,
- TextCell,
PageSnapshot,
+ ParentContentCell,
+ PostException,
+ Redirect,
+ TextCell,
extract_context_from_sub_slug,
)
from combo.profile.models import Profile
from combo.profile.utils import get_user_from_name_id
-from combo.apps.search.models import SearchCell
-from combo import utils
class LoginView(auth_views.LoginView):
diff --git a/combo/settings.py b/combo/settings.py
index 86b4e68b..8240c976 100644
--- a/combo/settings.py
+++ b/combo/settings.py
@@ -25,6 +25,7 @@ and to disable DEBUG mode in production.
import copy
import os
+
from django.conf import global_settings
from django.utils.translation import ugettext_lazy as _
diff --git a/combo/urls.py b/combo/urls.py
index e58f3b77..69aee1ec 100644
--- a/combo/urls.py
+++ b/combo/urls.py
@@ -21,12 +21,10 @@ from django.contrib import admin
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.views.i18n import JavaScriptCatalog
-from .urls_utils import decorated_includes, manager_required
-
-from .public.views import login, logout, error404, mellon_page_hook
-from .manager.urls import urlpatterns as combo_manager_urls
-
from . import plugins
+from .manager.urls import urlpatterns as combo_manager_urls
+from .public.views import error404, login, logout, mellon_page_hook
+from .urls_utils import decorated_includes, manager_required
urlpatterns = [
url(r'^manage/', decorated_includes(manager_required, include(combo_manager_urls))),
diff --git a/combo/urls_utils.py b/combo/urls_utils.py
index b4377745..b7b1bb14 100644
--- a/combo/urls_utils.py
+++ b/combo/urls_utils.py
@@ -17,7 +17,6 @@
# Decorating URL includes,
import django
-
from django.contrib.auth.decorators import user_passes_test
from django.core.exceptions import PermissionDenied
diff --git a/combo/utils/__init__.py b/combo/utils/__init__.py
index 0bec5dba..a5dc6ed3 100644
--- a/combo/utils/__init__.py
+++ b/combo/utils/__init__.py
@@ -16,8 +16,8 @@
# import specific symbols for compatibility
from .cache import cache_during_request
-from .crypto import aes_hex_decrypt, aes_hex_encrypt, DecryptionError
+from .crypto import DecryptionError, aes_hex_decrypt, aes_hex_encrypt
from .misc import ellipsize, flatten_context
-from .requests_wrapper import requests, NothingInCacheException
+from .requests_wrapper import NothingInCacheException, requests
from .signature import check_query, check_request_signature, sign_url
-from .urls import get_templated_url, TemplateError
+from .urls import TemplateError, get_templated_url
diff --git a/combo/utils/cache.py b/combo/utils/cache.py
index 03f5ab34..6fa2c16c 100644
--- a/combo/utils/cache.py
+++ b/combo/utils/cache.py
@@ -16,6 +16,7 @@
from combo.middleware import get_request
+
# _make_key and _HashedSeq imported/adapted from functools from Python 3.2+
def _make_key(
args,
diff --git a/combo/utils/crypto.py b/combo/utils/crypto.py
index f7ef0938..9c543477 100644
--- a/combo/utils/crypto.py
+++ b/combo/utils/crypto.py
@@ -16,10 +16,9 @@
import binascii
+from Cryptodome import Random
from Cryptodome.Cipher import AES
from Cryptodome.Protocol.KDF import PBKDF2
-from Cryptodome import Random
-
from django.utils import six
from django.utils.encoding import force_text
diff --git a/combo/utils/misc.py b/combo/utils/misc.py
index 3ae9a6ad..5d31905a 100644
--- a/combo/utils/misc.py
+++ b/combo/utils/misc.py
@@ -16,11 +16,10 @@
import html
-from django.utils.six.moves.urllib import parse as urlparse
-
from django.conf import settings
from django.template.context import BaseContext
from django.utils.html import strip_tags
+from django.utils.six.moves.urllib import parse as urlparse
def ellipsize(text, length=50):
diff --git a/combo/utils/requests_wrapper.py b/combo/utils/requests_wrapper.py
index 35933117..b5ffffbd 100644
--- a/combo/utils/requests_wrapper.py
+++ b/combo/utils/requests_wrapper.py
@@ -17,15 +17,15 @@
import hashlib
import logging
-from requests import Response, Session as RequestsSession
-from requests.auth import AuthBase
-
from django.conf import settings
from django.core.cache import cache
from django.utils.encoding import smart_bytes
from django.utils.http import urlencode
-from django.utils.six.moves.urllib import parse as urlparse
from django.utils.six import BytesIO
+from django.utils.six.moves.urllib import parse as urlparse
+from requests import Response
+from requests import Session as RequestsSession
+from requests.auth import AuthBase
from .signature import sign_url
diff --git a/combo/utils/signature.py b/combo/utils/signature.py
index efd560e1..0cc74c7c 100644
--- a/combo/utils/signature.py
+++ b/combo/utils/signature.py
@@ -16,17 +16,16 @@
import base64
import datetime
-import hmac
import hashlib
+import hmac
import random
from django.conf import settings
+from django.utils import six
from django.utils.encoding import smart_bytes
from django.utils.http import quote, urlencode
-from django.utils import six
from django.utils.six.moves.urllib import parse as urlparse
-
# Simple signature scheme for query strings
diff --git a/combo/utils/spooler.py b/combo/utils/spooler.py
index 3ab9d0e3..40298ccf 100644
--- a/combo/utils/spooler.py
+++ b/combo/utils/spooler.py
@@ -15,9 +15,9 @@
# along with this program. If not, see .
import contextlib
-from functools import wraps
import logging
import sys
+from functools import wraps
from django.db import close_old_connections, connection
diff --git a/combo/utils/urls.py b/combo/utils/urls.py
index c8e5c4a1..e7426778 100644
--- a/combo/utils/urls.py
+++ b/combo/utils/urls.py
@@ -17,8 +17,8 @@
import re
from django.conf import settings
-from django.utils.encoding import force_text
from django.template import Context, Template, TemplateSyntaxError, VariableDoesNotExist
+from django.utils.encoding import force_text
from django.utils.http import quote
diff --git a/setup.py b/setup.py
index 4dbec0bd..0726a4a3 100644
--- a/setup.py
+++ b/setup.py
@@ -7,13 +7,13 @@ import os
import re
import subprocess
import sys
-
-from setuptools.command.install_lib import install_lib as _install_lib
+from distutils.cmd import Command
from distutils.command.build import build as _build
from distutils.command.sdist import sdist
-from distutils.cmd import Command
from distutils.spawn import find_executable
-from setuptools import setup, find_packages
+
+from setuptools import find_packages, setup
+from setuptools.command.install_lib import install_lib as _install_lib
class eo_sdist(sdist):
diff --git a/tests/conftest.py b/tests/conftest.py
index 65e3ad45..e7aa5856 100644
--- a/tests/conftest.py
+++ b/tests/conftest.py
@@ -1,13 +1,11 @@
import os
import shutil
+import django_webtest
import pytest
-
from django.contrib.auth.models import User
from django.core.files.storage import default_storage
-import django_webtest
-
@pytest.fixture
def clean_media():
diff --git a/tests/test_assets.py b/tests/test_assets.py
index 0bb4364a..a95062bc 100644
--- a/tests/test_assets.py
+++ b/tests/test_assets.py
@@ -4,21 +4,21 @@ import base64
import os
import tarfile
-from django.urls import reverse
-from django.core.files.storage import default_storage
+import pytest
from django.core.files import File
+from django.core.files.storage import default_storage
+from django.urls import reverse
from django.utils.six import BytesIO
-import pytest
-
from combo.apps.assets.models import Asset
-from combo.apps.assets.utils import add_tar_content
-from combo.apps.assets.utils import clean_assets_files
-from combo.apps.assets.utils import export_assets
-from combo.apps.assets.utils import import_assets
-from combo.apps.assets.utils import untar_assets_files
-from combo.apps.assets.utils import tar_assets_files
-
+from combo.apps.assets.utils import (
+ add_tar_content,
+ clean_assets_files,
+ export_assets,
+ import_assets,
+ tar_assets_files,
+ untar_assets_files,
+)
pytestmark = pytest.mark.django_db
diff --git a/tests/test_calendar.py b/tests/test_calendar.py
index a80cff1d..16080d32 100644
--- a/tests/test_calendar.py
+++ b/tests/test_calendar.py
@@ -1,17 +1,16 @@
-import json
import datetime
+import json
-import pytest
import mock
-
+import pytest
from django.contrib.auth.models import User
from django.core.cache import cache
from django.urls import reverse
from django.utils.six.moves.urllib import parse as urlparse
-from combo.data.models import Page
from combo.apps.calendar.models import BookingCalendar
-from combo.apps.calendar.utils import get_calendar, get_chrono_service, get_chrono_events
+from combo.apps.calendar.utils import get_calendar, get_chrono_events, get_chrono_service
+from combo.data.models import Page
pytestmark = pytest.mark.django_db
diff --git a/tests/test_cells.py b/tests/test_cells.py
index 4df5df4f..8bcb3b79 100644
--- a/tests/test_cells.py
+++ b/tests/test_cells.py
@@ -1,36 +1,36 @@
import datetime
import json
-import mock
import os
+
+import mock
import pytest
import requests
-
-from combo.data.models import (
- Page,
- CellBase,
- TextCell,
- LinkCell,
- MenuCell,
- JsonCellBase,
- JsonCell,
- ConfigJsonCell,
- LinkListCell,
- FeedCell,
- ValidityInfo,
-)
from django.apps import apps
from django.conf import settings
+from django.contrib.auth.models import User
from django.db import connection
from django.forms.widgets import Media
from django.test import override_settings
from django.test.client import RequestFactory
from django.test.utils import CaptureQueriesContext
-from django.contrib.auth.models import User
from django.urls import reverse
-from django.utils.encoding import force_text, force_bytes
+from django.utils.encoding import force_bytes, force_text
from django.utils.timezone import now
from combo.data.library import get_cell_classes
+from combo.data.models import (
+ CellBase,
+ ConfigJsonCell,
+ FeedCell,
+ JsonCell,
+ JsonCellBase,
+ LinkCell,
+ LinkListCell,
+ MenuCell,
+ Page,
+ TextCell,
+ ValidityInfo,
+)
from combo.utils import NothingInCacheException
from .test_manager import login
diff --git a/tests/test_cron.py b/tests/test_cron.py
index 319f5631..ae840e90 100644
--- a/tests/test_cron.py
+++ b/tests/test_cron.py
@@ -1,10 +1,9 @@
+import mock
+import pytest
from django.core.management import call_command
from django.core.management.base import CommandError
from django.utils.six import StringIO
-import mock
-import pytest
-
pytestmark = pytest.mark.django_db
diff --git a/tests/test_dashboard.py b/tests/test_dashboard.py
index 8a50899c..3211beed 100644
--- a/tests/test_dashboard.py
+++ b/tests/test_dashboard.py
@@ -1,21 +1,21 @@
import datetime
import json
-import mock
import os
-import pytest
-from webtest import TestApp
+import mock
+import pytest
from django.apps import apps
from django.conf import settings
from django.contrib.auth.models import User
from django.core.management import call_command
+from django.test import override_settings
from django.urls import reverse
from django.utils.six.moves.urllib import parse as urlparse
-from django.test import override_settings
+from webtest import TestApp
-from combo.wsgi import application
-from combo.data.models import Page, CellBase, TextCell, ConfigJsonCell
from combo.apps.dashboard.models import DashboardCell, Tile
+from combo.data.models import CellBase, ConfigJsonCell, Page, TextCell
+from combo.wsgi import application
pytestmark = pytest.mark.django_db
diff --git a/tests/test_dataviz.py b/tests/test_dataviz.py
index 28fec523..f8794f6d 100644
--- a/tests/test_dataviz.py
+++ b/tests/test_dataviz.py
@@ -1,21 +1,20 @@
import json
import urllib.parse
+from datetime import date, timedelta
import mock
import pytest
-from datetime import timedelta, date
-from httmock import HTTMock, with_httmock, remember_called, urlmatch
-from requests.exceptions import HTTPError
-
from django.apps import apps
-from django.contrib.auth.models import User, Group
+from django.contrib.auth.models import Group, User
from django.db import connection
from django.db.migrations.executor import MigrationExecutor
from django.test import override_settings
from django.utils import timezone
+from httmock import HTTMock, remember_called, urlmatch, with_httmock
+from requests.exceptions import HTTPError
+from combo.apps.dataviz.models import ChartNgCell, Gauge, Statistic, UnsupportedDataSet
from combo.data.models import Page, ValidityInfo
-from combo.apps.dataviz.models import Gauge, ChartNgCell, UnsupportedDataSet, Statistic
from .test_public import login, normal_user
diff --git a/tests/test_fargo.py b/tests/test_fargo.py
index 295070a5..6aa56d3e 100644
--- a/tests/test_fargo.py
+++ b/tests/test_fargo.py
@@ -1,11 +1,13 @@
import json
+import re
+
import mock
import pytest
-import re
from django.test import override_settings
from combo.apps.fargo.models import RecentDocumentsCell
from combo.data.models import Page
+
from .test_manager import login
pytestmark = pytest.mark.django_db
diff --git a/tests/test_gallery_cell.py b/tests/test_gallery_cell.py
index 352f8b38..5cc375ae 100644
--- a/tests/test_gallery_cell.py
+++ b/tests/test_gallery_cell.py
@@ -1,10 +1,11 @@
# -*- coding: utf-8 -*-
import os
-import pytest
+import pytest
from django.urls import reverse
-from combo.data.models import Page
+
from combo.apps.gallery.models import GalleryCell, Image
+from combo.data.models import Page
from .test_manager import login
diff --git a/tests/test_import_export.py b/tests/test_import_export.py
index 6edae6ed..22c875a0 100644
--- a/tests/test_import_export.py
+++ b/tests/test_import_export.py
@@ -18,12 +18,12 @@ from django.utils.six import BytesIO, StringIO
from combo.apps.assets.models import Asset
from combo.apps.assets.utils import clean_assets_files
-from combo.apps.gallery.models import Image, GalleryCell
+from combo.apps.gallery.models import GalleryCell, Image
from combo.apps.lingo.models import PaymentBackend, Regie
-from combo.apps.maps.models import MapLayer, Map, MapLayerOptions
-from combo.apps.pwa.models import PwaSettings, PwaNavigationEntry
+from combo.apps.maps.models import Map, MapLayer, MapLayerOptions
+from combo.apps.pwa.models import PwaNavigationEntry, PwaSettings
from combo.data.models import Page, TextCell
-from combo.data.utils import export_site, import_site, MissingGroups
+from combo.data.utils import MissingGroups, export_site, import_site
pytestmark = pytest.mark.django_db
diff --git a/tests/test_kb.py b/tests/test_kb.py
index 89ee4784..66fc940b 100644
--- a/tests/test_kb.py
+++ b/tests/test_kb.py
@@ -14,13 +14,13 @@
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see .import pytest
-import pytest
import re
+import pytest
from django.test.client import RequestFactory
-from combo.data.models import CellBase, Page, TextCell
from combo.apps.kb.models import LatestPageUpdatesCell
+from combo.data.models import CellBase, Page, TextCell
pytestmark = pytest.mark.django_db
diff --git a/tests/test_lingo_cells.py b/tests/test_lingo_cells.py
index 78e0ebf3..c7c62f01 100644
--- a/tests/test_lingo_cells.py
+++ b/tests/test_lingo_cells.py
@@ -2,21 +2,22 @@
import eopayment
import pytest
-
from django.contrib.auth.models import User
from django.test.client import RequestFactory
from django.utils import timezone
from django.utils.http import quote
-from combo.data.models import Page
-from combo.apps.lingo.models import Regie, BasketItem, Transaction
from combo.apps.lingo.models import (
+ BasketItem,
LingoBasketCell,
- PaymentBackend,
- LingoRecentTransactionsCell,
LingoBasketLinkCell,
+ LingoRecentTransactionsCell,
+ PaymentBackend,
+ Regie,
TipiPaymentFormCell,
+ Transaction,
)
+from combo.data.models import Page
pytestmark = pytest.mark.django_db
diff --git a/tests/test_lingo_manager.py b/tests/test_lingo_manager.py
index 1d0c82d0..b4f1939d 100644
--- a/tests/test_lingo_manager.py
+++ b/tests/test_lingo_manager.py
@@ -1,27 +1,25 @@
# -*- coding: utf-8 -*-
import datetime
+from decimal import Decimal
+import eopayment
+import mock
+import pytest
from django.contrib.auth.models import User
from django.db import connection
from django.test.utils import CaptureQueriesContext
-from django.utils.timezone import now
-from django.utils.timezone import make_aware
+from django.utils.timezone import make_aware, now
-import mock
-import pytest
-
-import eopayment
-from combo.data.models import Page
from combo.apps.lingo.models import (
- Regie,
- BasketItem,
- Transaction,
ActiveItems,
- TipiPaymentFormCell,
+ BasketItem,
PaymentBackend,
+ Regie,
+ TipiPaymentFormCell,
+ Transaction,
)
-from decimal import Decimal
+from combo.data.models import Page
pytestmark = pytest.mark.django_db
diff --git a/tests/test_lingo_payment.py b/tests/test_lingo_payment.py
index d0d64584..dea05239 100644
--- a/tests/test_lingo_payment.py
+++ b/tests/test_lingo_payment.py
@@ -1,40 +1,38 @@
+import json
+import uuid
from contextlib import contextmanager
-import eopayment
-import pytest
from datetime import datetime, timedelta
from decimal import Decimal
-import json
-import mock
-import uuid
+import eopayment
+import httmock
+import mock
+import pytest
+from django.apps import apps
+from django.conf import settings
+from django.contrib.auth.models import User
+from django.http.request import QueryDict
+from django.test import override_settings
+from django.urls import reverse
+from django.utils import timezone
+from django.utils.six.moves.urllib import parse as urlparse
+from django.utils.timezone import utc
from mellon.models import UserSAMLIdentifier
from requests.exceptions import ConnectionError
from requests.models import Response
-from django.apps import apps
-from django.contrib.auth.models import User
-from django.http.request import QueryDict
-from django.urls import reverse
-from django.conf import settings
-from django.test import override_settings
-from django.utils import timezone
-from django.utils.six.moves.urllib import parse as urlparse
-from django.utils.timezone import utc
-
-from combo.data.models import Page
from combo.apps.lingo.models import (
- Regie,
- BasketItem,
- Transaction,
- TransactionOperation,
EXPIRED,
+ BasketItem,
LingoBasketCell,
PaymentBackend,
+ Regie,
+ Transaction,
+ TransactionOperation,
)
+from combo.apps.lingo.views import signing_dumps, signing_loads
+from combo.data.models import Page
from combo.utils import sign_url
-from combo.apps.lingo.views import signing_loads, signing_dumps
-
-import httmock
from .test_manager import login
diff --git a/tests/test_lingo_remote_regie.py b/tests/test_lingo_remote_regie.py
index f8780db5..4b927e22 100644
--- a/tests/test_lingo_remote_regie.py
+++ b/tests/test_lingo_remote_regie.py
@@ -2,34 +2,34 @@
import copy
import json
-import pytest
-import mock
from decimal import Decimal
-from requests.models import Response
-from requests.exceptions import ConnectionError
+import mock
+import pytest
from django.apps import apps
-from django.test.client import RequestFactory
-from django.test import override_settings
-from django.urls import reverse
from django.conf import settings
+from django.contrib.auth.models import User
from django.core.management import call_command
+from django.test import override_settings
+from django.test.client import RequestFactory
+from django.urls import reverse
from django.utils.encoding import force_bytes, force_text
from django.utils.six.moves.urllib import parse as urlparse
-from django.utils.timezone import timedelta, now
-from django.contrib.auth.models import User
+from django.utils.timezone import now, timedelta
+from requests.exceptions import ConnectionError
+from requests.models import Response
-from combo.utils import check_query, aes_hex_encrypt
-from combo.data.models import Page
from combo.apps.lingo.models import (
- Regie,
ActiveItems,
+ BasketItem,
ItemsHistory,
+ PaymentBackend,
+ Regie,
SelfDeclaredInvoicePayment,
Transaction,
- BasketItem,
- PaymentBackend,
)
+from combo.data.models import Page
+from combo.utils import aes_hex_encrypt, check_query
pytestmark = pytest.mark.django_db
diff --git a/tests/test_manager.py b/tests/test_manager.py
index e659fba0..4dba7042 100644
--- a/tests/test_manager.py
+++ b/tests/test_manager.py
@@ -1,51 +1,49 @@
import base64
import datetime
import json
-import mock
import os
import re
import shutil
+import mock
+import pytest
+from django.conf import settings
+from django.contrib.auth.models import Group
from django.core.files import File
from django.core.files.storage import default_storage
from django.core.serializers.base import DeserializationError
-from django.urls import reverse
-from django.conf import settings
-from django.contrib.auth.models import Group
from django.db import connection
from django.template import TemplateSyntaxError
from django.test import override_settings
from django.test.client import RequestFactory
from django.test.utils import CaptureQueriesContext
+from django.urls import reverse
from django.utils.encoding import force_bytes, force_str
from django.utils.http import urlencode
-from django.utils.timezone import now
from django.utils.six import BytesIO
from django.utils.six.moves.urllib import parse as urlparse
-
-import pytest
+from django.utils.timezone import now
from webtest import Upload
+from combo.apps.assets.models import Asset
+from combo.apps.family.models import FamilyInfosCell
+from combo.apps.maps.models import MapLayer
+from combo.apps.search.models import SearchCell
from combo.data.forms import LinkCellForm
from combo.data.models import (
- Page,
CellBase,
- TextCell,
- LinkCell,
ConfigJsonCell,
JsonCell,
- PageSnapshot,
+ LinkCell,
LinkListCell,
- ParentContentCell,
MenuCell,
+ Page,
+ PageSnapshot,
+ ParentContentCell,
+ TextCell,
ValidityInfo,
)
-from combo.manager.forms import PageAddForm
-from combo.manager.forms import PageSelectTemplateForm
-from combo.apps.assets.models import Asset
-from combo.apps.maps.models import MapLayer
-from combo.apps.family.models import FamilyInfosCell
-from combo.apps.search.models import SearchCell
+from combo.manager.forms import PageAddForm, PageSelectTemplateForm
pytestmark = pytest.mark.django_db
diff --git a/tests/test_maps_cells.py b/tests/test_maps_cells.py
index cfa0cf6b..41fe609a 100644
--- a/tests/test_maps_cells.py
+++ b/tests/test_maps_cells.py
@@ -1,16 +1,15 @@
# -*- coding: utf-8 -*-
import json
+
import mock
import pytest
-
from django.conf import settings
-from django.contrib.auth.models import User
-from django.contrib.auth.models import Group
-from django.urls import reverse
+from django.contrib.auth.models import Group, User
from django.test.client import RequestFactory
+from django.urls import reverse
+from combo.apps.maps.models import Map, MapLayer, MapLayerOptions
from combo.data.models import Page
-from combo.apps.maps.models import MapLayer, Map, MapLayerOptions
from .test_manager import login
diff --git a/tests/test_maps_manager.py b/tests/test_maps_manager.py
index 57c7d90e..fb688d6e 100644
--- a/tests/test_maps_manager.py
+++ b/tests/test_maps_manager.py
@@ -1,11 +1,9 @@
# -*- coding: utf-8 -*-
-import pytest
import mock
+import pytest
-from combo.apps.maps.models import Map
-from combo.apps.maps.models import MapLayer
-from combo.apps.maps.models import MapLayerOptions
+from combo.apps.maps.models import Map, MapLayer, MapLayerOptions
from combo.data.models import Page
pytestmark = pytest.mark.django_db
diff --git a/tests/test_newsletters_cell.py b/tests/test_newsletters_cell.py
index 1fb9bc2d..26631621 100644
--- a/tests/test_newsletters_cell.py
+++ b/tests/test_newsletters_cell.py
@@ -1,16 +1,16 @@
# -*- coding: utf-8 -*-
-import pytest
-import mock
-import requests
import json
-from django.template.defaultfilters import slugify
+import mock
+import pytest
+import requests
from django.contrib.auth.models import User
+from django.template.defaultfilters import slugify
-from combo.data.models import Page
-from combo.apps.newsletters.models import NewslettersCell, SubscriptionsSaveError
from combo.apps.newsletters.forms import NewslettersManageForm
+from combo.apps.newsletters.models import NewslettersCell, SubscriptionsSaveError
+from combo.data.models import Page
from combo.utils import check_query
pytestmark = pytest.mark.django_db
diff --git a/tests/test_notification.py b/tests/test_notification.py
index 856b7835..62dc8b44 100644
--- a/tests/test_notification.py
+++ b/tests/test_notification.py
@@ -1,21 +1,19 @@
import json
+from datetime import timedelta as timedelta
+from decimal import Decimal
import mock
import pytest
-from decimal import Decimal
-from datetime import timedelta as timedelta
-
from django.contrib.auth.models import User
-from django.test.client import RequestFactory
-from django.utils.encoding import force_text
-from django.utils.timezone import timedelta, now
-from django.urls import reverse
-
from django.test import Client
+from django.test.client import RequestFactory
+from django.urls import reverse
+from django.utils.encoding import force_text
+from django.utils.timezone import now, timedelta
-from combo.data.models import Page
+from combo.apps.lingo.models import ActiveItems, PaymentBackend, Regie
from combo.apps.notifications.models import Notification, NotificationsCell
-from combo.apps.lingo.models import Regie, ActiveItems, PaymentBackend
+from combo.data.models import Page
from .test_manager import login as login_app
diff --git a/tests/test_pages.py b/tests/test_pages.py
index 209255df..587296ce 100644
--- a/tests/test_pages.py
+++ b/tests/test_pages.py
@@ -1,15 +1,16 @@
import os
-import pytest
import sys
+import pytest
from django.conf import settings
-from django.contrib.auth.models import User, Group
+from django.contrib.auth.models import Group, User
from django.test import override_settings
from django.test.client import RequestFactory
from django.utils.six import StringIO
-from combo.data.models import Page, PageSnapshot, CellBase, TextCell, LinkCell, LinkListCell
-from combo.data.management.commands.import_site import Command as ImportSiteCommand
+
from combo.data.management.commands.export_site import Command as ExportSiteCommand
+from combo.data.management.commands.import_site import Command as ImportSiteCommand
+from combo.data.models import CellBase, LinkCell, LinkListCell, Page, PageSnapshot, TextCell
from combo.manager.forms import PageVisibilityForm
pytestmark = pytest.mark.django_db
diff --git a/tests/test_profile.py b/tests/test_profile.py
index b46b029e..7de3b4c9 100644
--- a/tests/test_profile.py
+++ b/tests/test_profile.py
@@ -1,8 +1,8 @@
import datetime
import json
+
import mock
import pytest
-
from django.test import override_settings
from combo.data.models import Page
diff --git a/tests/test_public.py b/tests/test_public.py
index 6657a7a4..af2e16d0 100644
--- a/tests/test_public.py
+++ b/tests/test_public.py
@@ -1,22 +1,21 @@
-import mock
-from webtest import TestApp
-
import datetime
import json
-import pytest
-import re
import os
+import re
+import mock
+import pytest
from django.conf import settings
-from django.contrib.auth.models import User, Group
+from django.contrib.auth.models import Group, User
from django.core.files import File
-from django.urls import reverse
from django.db import connection
+from django.test import override_settings
+from django.test.utils import CaptureQueriesContext
+from django.urls import reverse
from django.utils.http import quote
from django.utils.six import StringIO
from django.utils.six.moves.urllib import parse as urlparse
-from django.test import override_settings
-from django.test.utils import CaptureQueriesContext
+from webtest import TestApp
try:
import mellon
@@ -24,21 +23,21 @@ except ImportError:
mellon = None
import requests
-from combo.wsgi import application
-from combo.data.models import (
- Page,
- CellBase,
- TextCell,
- ParentContentCell,
- FeedCell,
- LinkCell,
- LinkListCell,
- ConfigJsonCell,
- Redirect,
- JsonCell,
-)
from combo.apps.assets.models import Asset
from combo.apps.family.models import FamilyInfosCell
+from combo.data.models import (
+ CellBase,
+ ConfigJsonCell,
+ FeedCell,
+ JsonCell,
+ LinkCell,
+ LinkListCell,
+ Page,
+ ParentContentCell,
+ Redirect,
+ TextCell,
+)
+from combo.wsgi import application
pytestmark = pytest.mark.django_db
diff --git a/tests/test_public_templatetags.py b/tests/test_public_templatetags.py
index 71fe61c1..d362ef00 100644
--- a/tests/test_public_templatetags.py
+++ b/tests/test_public_templatetags.py
@@ -4,19 +4,18 @@ import shutil
import time
import pytest
-
+from django.contrib.auth.models import AnonymousUser, Group, User
from django.core.files import File
from django.core.files.storage import default_storage
from django.template import Context, Template
from django.template.exceptions import TemplateSyntaxError
from django.test import override_settings
from django.test.client import RequestFactory
-from django.contrib.auth.models import User, Group, AnonymousUser
from django.utils.six import StringIO
from django.utils.timezone import now
-from combo.data.models import Page, TextCell
from combo.apps.assets.models import Asset
+from combo.data.models import Page, TextCell
from combo.profile.utils import get_user_from_name_id
pytestmark = pytest.mark.django_db
diff --git a/tests/test_publik.py b/tests/test_publik.py
index dfbbda30..b2dd95e0 100644
--- a/tests/test_publik.py
+++ b/tests/test_publik.py
@@ -3,10 +3,9 @@ import json
import re
import pytest
-from webtest import TestApp
-
from django.conf import settings
-from django.contrib.auth.models import User, Group
+from django.contrib.auth.models import Group, User
+from webtest import TestApp
from combo.data.models import Page
diff --git a/tests/test_pwa.py b/tests/test_pwa.py
index f98d1925..1f5ec5b3 100644
--- a/tests/test_pwa.py
+++ b/tests/test_pwa.py
@@ -3,20 +3,18 @@ import os
import mock
import pytest
-from webtest import Upload
-
import pywebpush
-
from django.conf import settings
from django.core.files import File
-from django.urls import reverse
from django.template import Context, Template
from django.test import override_settings
from django.test.client import RequestFactory
+from django.urls import reverse
from django.utils.six import BytesIO
+from webtest import Upload
from combo.apps.notifications.models import Notification
-from combo.apps.pwa.models import PushSubscription, PwaSettings, PwaNavigationEntry
+from combo.apps.pwa.models import PushSubscription, PwaNavigationEntry, PwaSettings
from combo.data.models import Page
from .test_manager import login
diff --git a/tests/test_requests.py b/tests/test_requests.py
index 499dfb60..5b7b5747 100644
--- a/tests/test_requests.py
+++ b/tests/test_requests.py
@@ -2,11 +2,10 @@
import mock
import pytest
-
from django.contrib.auth.models import AnonymousUser
from django.utils.six.moves.urllib import parse as urlparse
-from combo.utils import requests, check_query, NothingInCacheException
+from combo.utils import NothingInCacheException, check_query, requests
class MockUser(object):
diff --git a/tests/test_search.py b/tests/test_search.py
index 6cae04f3..0bcb993e 100644
--- a/tests/test_search.py
+++ b/tests/test_search.py
@@ -1,11 +1,11 @@
import datetime
import json
import os
-import pytest
-import mock
+import mock
+import pytest
from django.conf import settings
-from django.contrib.auth.models import AnonymousUser, User, Group
+from django.contrib.auth.models import AnonymousUser, Group, User
from django.contrib.contenttypes.models import ContentType
from django.db import connection
from django.test import override_settings
@@ -14,18 +14,16 @@ from django.test.utils import CaptureQueriesContext
from django.urls import reverse
from django.utils.http import urlencode
from django.utils.timezone import now
-
from requests.exceptions import ConnectionError
from requests.models import Response
from combo.apps.search.engines import engines
-from combo.apps.search.models import SearchCell, IndexedCell
+from combo.apps.search.models import IndexedCell, SearchCell
from combo.apps.search.utils import index_site, search_site
-from combo.data.models import Page, JsonCell, TextCell, MenuCell, LinkCell, PageSnapshot
+from combo.data.models import JsonCell, LinkCell, MenuCell, Page, PageSnapshot, TextCell
from .test_manager import login
-
pytestmark = pytest.mark.django_db
diff --git a/tests/test_utils.py b/tests/test_utils.py
index ca5af9e8..91e03922 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -1,13 +1,13 @@
import pytest
-
-from combo.utils import aes_hex_decrypt, aes_hex_encrypt, get_templated_url, TemplateError
from django.conf import settings
-from django.test import override_settings
-from django.template import Context, RequestContext
-from django.test.client import RequestFactory
from django.contrib.auth.models import AnonymousUser
+from django.template import Context, RequestContext
+from django.test import override_settings
+from django.test.client import RequestFactory
from django.utils.encoding import force_bytes
+from combo.utils import TemplateError, aes_hex_decrypt, aes_hex_encrypt, get_templated_url
+
class MockUser(object):
email = 'foo=3@example.net'
diff --git a/tests/test_wcs.py b/tests/test_wcs.py
index a977a8fe..95835eae 100644
--- a/tests/test_wcs.py
+++ b/tests/test_wcs.py
@@ -1,45 +1,41 @@
# -*- coding: utf-8 -*-
-import pytest
-
import copy
import json
import re
+import mock
+import pytest
from django.apps import apps
from django.conf import settings
+from django.contrib.auth.models import AnonymousUser
from django.core.cache import cache
-from django.urls import reverse
from django.db import connection
from django.test.client import RequestFactory
from django.test.utils import CaptureQueriesContext
+from django.urls import reverse
from django.utils.six.moves.urllib import parse as urlparse
-
-import mock
from requests.exceptions import ConnectionError
from requests.models import Response
-from combo.data.library import get_cell_classes
-from combo.data.models import CellBase, LinkListCell, Page, ValidityInfo
from combo.apps.search.engines import engines
-from combo.apps.wcs.models import (
- WcsFormCell,
- WcsCurrentFormsCell,
- WcsFormsOfCategoryCell,
- WcsCurrentDraftsCell,
- WcsCategoryCell,
- TrackingCodeInputCell,
- BackofficeSubmissionCell,
- WcsCareFormsCell,
- WcsCardsCell,
- WcsCardInfosCell,
-)
-from combo.apps.wcs.context_processors import Cards
-
from combo.apps.search.models import SearchCell
from combo.apps.search.utils import index_site, search_site
-from django.contrib.auth.models import AnonymousUser
-
+from combo.apps.wcs.context_processors import Cards
+from combo.apps.wcs.models import (
+ BackofficeSubmissionCell,
+ TrackingCodeInputCell,
+ WcsCardInfosCell,
+ WcsCardsCell,
+ WcsCareFormsCell,
+ WcsCategoryCell,
+ WcsCurrentDraftsCell,
+ WcsCurrentFormsCell,
+ WcsFormCell,
+ WcsFormsOfCategoryCell,
+)
+from combo.data.library import get_cell_classes
+from combo.data.models import CellBase, LinkListCell, Page, ValidityInfo
from combo.utils import NothingInCacheException
from .test_manager import login