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