diff --git a/functests/cmis/conftest.py b/functests/cmis/conftest.py index 5eac0663..8d2d7c24 100644 --- a/functests/cmis/conftest.py +++ b/functests/cmis/conftest.py @@ -1,7 +1,7 @@ import random -import pytest import cmislib +import pytest def pytest_addoption(parser): diff --git a/functests/cmis/tests_cmis.py b/functests/cmis/tests_cmis.py index 63178e41..d4e6bbcf 100644 --- a/functests/cmis/tests_cmis.py +++ b/functests/cmis/tests_cmis.py @@ -2,10 +2,9 @@ import base64 import hashlib import os -from django.utils.six.moves.urllib import parse as urlparse import pytest import requests - +from django.utils.six.moves.urllib import parse as urlparse SPECIAL_CHARS = '!#$%&+-^_`;[]{}+=' diff --git a/functests/planitech/test_planitech.py b/functests/planitech/test_planitech.py index 4f6baa4d..08d904f1 100644 --- a/functests/planitech/test_planitech.py +++ b/functests/planitech/test_planitech.py @@ -1,8 +1,8 @@ import pprint import random -from django.utils.six.moves.urllib import parse import requests +from django.utils.six.moves.urllib import parse def test_main(conn): diff --git a/functests/toulouse_axel/test_toulouse_axel.py b/functests/toulouse_axel/test_toulouse_axel.py index 427eb16d..8678516c 100644 --- a/functests/toulouse_axel/test_toulouse_axel.py +++ b/functests/toulouse_axel/test_toulouse_axel.py @@ -1,4 +1,5 @@ import pprint + import requests diff --git a/functests/vivaticket/test_vivaticket.py b/functests/vivaticket/test_vivaticket.py index f61979fd..7c14b876 100644 --- a/functests/vivaticket/test_vivaticket.py +++ b/functests/vivaticket/test_vivaticket.py @@ -1,9 +1,11 @@ from __future__ import print_function -import pprint + import datetime -import requests +import pprint import random +import requests + def call_generic(conn, endpoint): print("%s \n" % endpoint) diff --git a/passerelle/api/views.py b/passerelle/api/views.py index 0124b805..edf7e073 100644 --- a/passerelle/api/views.py +++ b/passerelle/api/views.py @@ -15,8 +15,7 @@ # along with this program. If not, see . from django.core.exceptions import PermissionDenied -from django.http import Http404 -from django.http import JsonResponse +from django.http import Http404, JsonResponse from django.views.generic import DetailView from passerelle.base.models import Job diff --git a/passerelle/apps/actesweb/models.py b/passerelle/apps/actesweb/models.py index dc7b383a..b3a66ac1 100644 --- a/passerelle/apps/actesweb/models.py +++ b/passerelle/apps/actesweb/models.py @@ -15,10 +15,10 @@ # along with this program. If not, see . from __future__ import unicode_literals +import contextlib import os import stat import tempfile -import contextlib from django.core.files.storage import default_storage from django.template.loader import get_template @@ -30,8 +30,8 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads from passerelle.utils.api import endpoint -from passerelle.utils.jsonresponse import APIError from passerelle.utils.conversion import ensure_encoding +from passerelle.utils.jsonresponse import APIError @contextlib.contextmanager diff --git a/passerelle/apps/api_entreprise/models.py b/passerelle/apps/api_entreprise/models.py index be6c8723..5d127028 100644 --- a/passerelle/apps/api_entreprise/models.py +++ b/passerelle/apps/api_entreprise/models.py @@ -18,16 +18,14 @@ https://entreprise.api.gouv.fr ''' -from six.moves.urllib_parse import urljoin import requests - - -from django.db import models -from django.utils.translation import ugettext_lazy as _ -from django.utils.timezone import datetime, make_aware, timedelta -from django.http import HttpResponse, Http404 from django.core import signing +from django.db import models +from django.http import Http404, HttpResponse from django.urls import reverse +from django.utils.timezone import datetime, make_aware, timedelta +from django.utils.translation import ugettext_lazy as _ +from six.moves.urllib_parse import urljoin from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/api_particulier/migrations/0001_initial.py b/passerelle/apps/api_particulier/migrations/0001_initial.py index 8e5b5498..64e0b031 100644 --- a/passerelle/apps/api_particulier/migrations/0001_initial.py +++ b/passerelle/apps/api_particulier/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/passerelle/apps/api_particulier/models.py b/passerelle/apps/api_particulier/models.py index f53a8aa3..7ed6f4b5 100644 --- a/passerelle/apps/api_particulier/models.py +++ b/passerelle/apps/api_particulier/models.py @@ -19,6 +19,7 @@ ''' from collections import OrderedDict + import requests try: diff --git a/passerelle/apps/arcgis/forms.py b/passerelle/apps/arcgis/forms.py index a13ddaf1..d1ab4118 100644 --- a/passerelle/apps/arcgis/forms.py +++ b/passerelle/apps/arcgis/forms.py @@ -17,6 +17,7 @@ from django import forms from passerelle.base.forms import BaseQueryFormMixin + from . import models diff --git a/passerelle/apps/arcgis/migrations/0005_auto_20200310_1517.py b/passerelle/apps/arcgis/migrations/0005_auto_20200310_1517.py index 1e63e049..1dd1ec48 100644 --- a/passerelle/apps/arcgis/migrations/0005_auto_20200310_1517.py +++ b/passerelle/apps/arcgis/migrations/0005_auto_20200310_1517.py @@ -2,8 +2,9 @@ # Generated by Django 1.11.20 on 2020-03-10 20:17 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models + import passerelle.apps.arcgis.models import passerelle.utils.templates diff --git a/passerelle/apps/arcgis/migrations/0006_auto_20200401_1025.py b/passerelle/apps/arcgis/migrations/0006_auto_20200401_1025.py index e5379a82..5a88c61f 100644 --- a/passerelle/apps/arcgis/migrations/0006_auto_20200401_1025.py +++ b/passerelle/apps/arcgis/migrations/0006_auto_20200401_1025.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-04-01 08:25 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/passerelle/apps/arcgis/models.py b/passerelle/apps/arcgis/models.py index 0b7fbb31..0dde6976 100644 --- a/passerelle/apps/arcgis/models.py +++ b/passerelle/apps/arcgis/models.py @@ -17,21 +17,21 @@ import string from django.core.exceptions import ValidationError -from django.urls import reverse from django.db import models from django.http import HttpResponse from django.shortcuts import get_object_or_404 -from django.utils.six.moves.urllib import parse as urlparse +from django.urls import reverse from django.utils import six +from django.utils.six.moves.urllib import parse as urlparse from django.utils.text import slugify from django.utils.translation import ugettext_lazy as _ +from passerelle.base.models import BaseQuery, BaseResource, HTTPResource from passerelle.utils import mark_safe_lazy -from passerelle.utils.jsonresponse import APIError from passerelle.utils.api import endpoint from passerelle.utils.conversion import num2deg +from passerelle.utils.jsonresponse import APIError from passerelle.utils.templates import render_to_string, validate_template -from passerelle.base.models import BaseResource, HTTPResource, BaseQuery class ArcGISError(APIError): diff --git a/passerelle/apps/arcgis/views.py b/passerelle/apps/arcgis/views.py index a4778665..8d4d1f33 100644 --- a/passerelle/apps/arcgis/views.py +++ b/passerelle/apps/arcgis/views.py @@ -14,7 +14,7 @@ # 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 UpdateView, CreateView, DeleteView +from django.views.generic import CreateView, DeleteView, UpdateView from passerelle.base.mixins import ResourceChildViewMixin diff --git a/passerelle/apps/arpege_ecp/models.py b/passerelle/apps/arpege_ecp/models.py index 6b396626..fd54d011 100644 --- a/passerelle/apps/arpege_ecp/models.py +++ b/passerelle/apps/arpege_ecp/models.py @@ -16,14 +16,12 @@ import json -from requests import RequestException - from django.db import models -from django.utils import six +from django.utils import six, timezone +from django.utils.dateparse import parse_date, parse_time from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ -from django.utils.dateparse import parse_date, parse_time -from django.utils import timezone +from requests import RequestException from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/astech/models.py b/passerelle/apps/astech/models.py index 6c13f9c6..b7b74abf 100644 --- a/passerelle/apps/astech/models.py +++ b/passerelle/apps/astech/models.py @@ -16,17 +16,16 @@ import base64 from collections import OrderedDict -from requests.exceptions import ConnectionError from django.core.cache import cache from django.db import models from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ +from requests.exceptions import ConnectionError -from passerelle.utils.jsonresponse import APIError -from passerelle.utils.api import endpoint from passerelle.base.models import BaseResource, HTTPResource - +from passerelle.utils.api import endpoint +from passerelle.utils.jsonresponse import APIError DEMAND_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', diff --git a/passerelle/apps/astregs/migrations/0001_initial.py b/passerelle/apps/astregs/migrations/0001_initial.py index 03c96b9e..e1116761 100644 --- a/passerelle/apps/astregs/migrations/0001_initial.py +++ b/passerelle/apps/astregs/migrations/0001_initial.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.20 on 2019-06-19 10:24 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/passerelle/apps/astregs/models.py b/passerelle/apps/astregs/models.py index 62f38501..1702cfb4 100644 --- a/passerelle/apps/astregs/models.py +++ b/passerelle/apps/astregs/models.py @@ -15,13 +15,13 @@ # along with this program. If not, see . import base64 -import zeep -from zeep.helpers import serialize_object +import zeep from django.db import models -from django.utils.translation import ugettext_lazy as _ -from django.utils.six.moves.urllib import parse as urlparse from django.http import Http404 +from django.utils.six.moves.urllib import parse as urlparse +from django.utils.translation import ugettext_lazy as _ +from zeep.helpers import serialize_object from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/atal/models.py b/passerelle/apps/atal/models.py index 5929b661..6d3dd603 100644 --- a/passerelle/apps/atal/models.py +++ b/passerelle/apps/atal/models.py @@ -17,20 +17,20 @@ import base64 import binascii +import lxml.etree from django.db import models from django.utils import dateformat, dateparse from django.utils.encoding import force_text from django.utils.six.moves import urllib from django.utils.translation import ugettext_lazy as _ -import lxml.etree from zeep import helpers from zeep.exceptions import Fault from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError -from . import schemas +from . import schemas DATE_FORMAT = 'l d F Y, G:i' diff --git a/passerelle/apps/atos_genesys/migrations/0001_initial.py b/passerelle/apps/atos_genesys/migrations/0001_initial.py index 46afa293..aff2698c 100644 --- a/passerelle/apps/atos_genesys/migrations/0001_initial.py +++ b/passerelle/apps/atos_genesys/migrations/0001_initial.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.10 on 2018-09-18 09:42 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/atos_genesys/models.py b/passerelle/apps/atos_genesys/models.py index 49990d7d..1ba00722 100644 --- a/passerelle/apps/atos_genesys/models.py +++ b/passerelle/apps/atos_genesys/models.py @@ -15,21 +15,21 @@ # along with this program. If not, see . import datetime -import requests import xml.etree.ElementTree as ET +import requests from django.contrib.postgres.fields import JSONField from django.db import models from django.utils import six from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ +from passerelle.base.models import BaseResource, HTTPResource from passerelle.utils import xml as xmlutils from passerelle.utils.api import endpoint from passerelle.utils.conversion import to_ascii from passerelle.utils.jsonresponse import APIError from passerelle.utils.validation import is_number -from passerelle.base.models import BaseResource, HTTPResource from . import utils diff --git a/passerelle/apps/atos_genesys/utils.py b/passerelle/apps/atos_genesys/utils.py index c009888e..893000bc 100644 --- a/passerelle/apps/atos_genesys/utils.py +++ b/passerelle/apps/atos_genesys/utils.py @@ -1,8 +1,8 @@ import time from contextlib import contextmanager -from django.db import transaction from django.core.cache import cache +from django.db import transaction from django.utils import six from passerelle.utils.jsonresponse import APIError diff --git a/passerelle/apps/base_adresse/migrations/0001_initial.py b/passerelle/apps/base_adresse/migrations/0001_initial.py index 997a3277..baa9b316 100644 --- a/passerelle/apps/base_adresse/migrations/0001_initial.py +++ b/passerelle/apps/base_adresse/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/passerelle/apps/base_adresse/migrations/0002_auto_20150705_0330.py b/passerelle/apps/base_adresse/migrations/0002_auto_20150705_0330.py index 9626bd98..6add7cc4 100644 --- a/passerelle/apps/base_adresse/migrations/0002_auto_20150705_0330.py +++ b/passerelle/apps/base_adresse/migrations/0002_auto_20150705_0330.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/passerelle/apps/base_adresse/migrations/0003_baseaddresse_log_level.py b/passerelle/apps/base_adresse/migrations/0003_baseaddresse_log_level.py index 753baea6..9a594fdb 100644 --- a/passerelle/apps/base_adresse/migrations/0003_baseaddresse_log_level.py +++ b/passerelle/apps/base_adresse/migrations/0003_baseaddresse_log_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/passerelle/apps/base_adresse/migrations/0004_auto_20160316_0910.py b/passerelle/apps/base_adresse/migrations/0004_auto_20160316_0910.py index 37f4b239..6a100402 100644 --- a/passerelle/apps/base_adresse/migrations/0004_auto_20160316_0910.py +++ b/passerelle/apps/base_adresse/migrations/0004_auto_20160316_0910.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/passerelle/apps/base_adresse/migrations/0005_auto_20160407_0456.py b/passerelle/apps/base_adresse/migrations/0005_auto_20160407_0456.py index 52410033..1bdde0b6 100644 --- a/passerelle/apps/base_adresse/migrations/0005_auto_20160407_0456.py +++ b/passerelle/apps/base_adresse/migrations/0005_auto_20160407_0456.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/passerelle/apps/base_adresse/migrations/0008_delete_updatestreetmodel.py b/passerelle/apps/base_adresse/migrations/0008_delete_updatestreetmodel.py index 44d85990..ea591e12 100644 --- a/passerelle/apps/base_adresse/migrations/0008_delete_updatestreetmodel.py +++ b/passerelle/apps/base_adresse/migrations/0008_delete_updatestreetmodel.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/passerelle/apps/base_adresse/migrations/0009_streetmodel_simple_name.py b/passerelle/apps/base_adresse/migrations/0009_streetmodel_simple_name.py index bd99efca..95ea1faf 100644 --- a/passerelle/apps/base_adresse/migrations/0009_streetmodel_simple_name.py +++ b/passerelle/apps/base_adresse/migrations/0009_streetmodel_simple_name.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/passerelle/apps/base_adresse/migrations/0010_auto_20160914_0826.py b/passerelle/apps/base_adresse/migrations/0010_auto_20160914_0826.py index 6a2a7a1b..c3c6b540 100644 --- a/passerelle/apps/base_adresse/migrations/0010_auto_20160914_0826.py +++ b/passerelle/apps/base_adresse/migrations/0010_auto_20160914_0826.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/passerelle/apps/base_adresse/migrations/0011_auto_20160919_0949.py b/passerelle/apps/base_adresse/migrations/0011_auto_20160919_0949.py index 181f6b7b..709bda0d 100644 --- a/passerelle/apps/base_adresse/migrations/0011_auto_20160919_0949.py +++ b/passerelle/apps/base_adresse/migrations/0011_auto_20160919_0949.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/passerelle/apps/base_adresse/migrations/0015_auto_20191206_1244.py b/passerelle/apps/base_adresse/migrations/0015_auto_20191206_1244.py index 49ff6895..20a5289f 100644 --- a/passerelle/apps/base_adresse/migrations/0015_auto_20191206_1244.py +++ b/passerelle/apps/base_adresse/migrations/0015_auto_20191206_1244.py @@ -2,8 +2,9 @@ # Generated by Django 1.11.18 on 2019-12-06 11:44 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models + import passerelle.apps.base_adresse.models diff --git a/passerelle/apps/base_adresse/migrations/0016_auto_20200130_1604.py b/passerelle/apps/base_adresse/migrations/0016_auto_20200130_1604.py index f08d3131..1109f131 100644 --- a/passerelle/apps/base_adresse/migrations/0016_auto_20200130_1604.py +++ b/passerelle/apps/base_adresse/migrations/0016_auto_20200130_1604.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-01-30 15:04 from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/base_adresse/models.py b/passerelle/apps/base_adresse/models.py index 632ecb87..af1eda32 100644 --- a/passerelle/apps/base_adresse/models.py +++ b/passerelle/apps/base_adresse/models.py @@ -1,18 +1,16 @@ import datetime import gzip -from requests import RequestException -from requests.exceptions import ConnectionError - from django.contrib.postgres.fields import JSONField from django.db import connection, models from django.db.models import Q +from django.utils import six, timezone from django.utils.http import urlencode -from django.utils.translation import ugettext_lazy as _ -from django.utils import timezone -from django.utils import six from django.utils.six import StringIO from django.utils.six.moves.urllib import parse as urlparse +from django.utils.translation import ugettext_lazy as _ +from requests import RequestException +from requests.exceptions import ConnectionError from passerelle.base.models import BaseResource from passerelle.compat import json_loads diff --git a/passerelle/apps/bdp/migrations/0001_initial.py b/passerelle/apps/bdp/migrations/0001_initial.py index 503e736a..4f547717 100644 --- a/passerelle/apps/bdp/migrations/0001_initial.py +++ b/passerelle/apps/bdp/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/passerelle/apps/bdp/migrations/0002_bdp_log_level.py b/passerelle/apps/bdp/migrations/0002_bdp_log_level.py index ade9793b..9b75018f 100644 --- a/passerelle/apps/bdp/migrations/0002_bdp_log_level.py +++ b/passerelle/apps/bdp/migrations/0002_bdp_log_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/passerelle/apps/bdp/migrations/0003_auto_20160316_0910.py b/passerelle/apps/bdp/migrations/0003_auto_20160316_0910.py index 0058f98e..28c6e183 100644 --- a/passerelle/apps/bdp/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/bdp/migrations/0003_auto_20160316_0910.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/passerelle/apps/bdp/migrations/0004_auto_20160407_0456.py b/passerelle/apps/bdp/migrations/0004_auto_20160407_0456.py index 8a75b1a5..f13c72f7 100644 --- a/passerelle/apps/bdp/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/bdp/migrations/0004_auto_20160407_0456.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/passerelle/apps/bdp/models.py b/passerelle/apps/bdp/models.py index 411a2d55..a3b4282e 100644 --- a/passerelle/apps/bdp/models.py +++ b/passerelle/apps/bdp/models.py @@ -1,10 +1,10 @@ import json -import requests -from requests.auth import HTTPBasicAuth -from django.urls import reverse +import requests from django.db import models +from django.urls import reverse from django.utils.translation import ugettext_lazy as _ +from requests.auth import HTTPBasicAuth from passerelle.base.models import BaseResource diff --git a/passerelle/apps/bdp/urls.py b/passerelle/apps/bdp/urls.py index 174db442..69e9f354 100644 --- a/passerelle/apps/bdp/urls.py +++ b/passerelle/apps/bdp/urls.py @@ -1,6 +1,7 @@ -from django.views.decorators.csrf import csrf_exempt from django.conf.urls import url -from .views import BdpDetailView, ResourcesView, PostAdherentView +from django.views.decorators.csrf import csrf_exempt + +from .views import BdpDetailView, PostAdherentView, ResourcesView urlpatterns = [ url(r'^(?P[\w,-]+)/$', BdpDetailView.as_view(), name='bdp-view'), diff --git a/passerelle/apps/bdp/views.py b/passerelle/apps/bdp/views.py index 947e58cd..a20c3955 100644 --- a/passerelle/apps/bdp/views.py +++ b/passerelle/apps/bdp/views.py @@ -1,9 +1,9 @@ from django.http import Http404 from django.views.generic.base import View -from django.views.generic.detail import SingleObjectMixin, DetailView +from django.views.generic.detail import DetailView, SingleObjectMixin -from passerelle.compat import json_loads import passerelle.utils as utils +from passerelle.compat import json_loads from .models import Bdp diff --git a/passerelle/apps/cartads_cs/migrations/0001_initial.py b/passerelle/apps/cartads_cs/migrations/0001_initial.py index 41bc8675..e295e686 100644 --- a/passerelle/apps/cartads_cs/migrations/0001_initial.py +++ b/passerelle/apps/cartads_cs/migrations/0001_initial.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.apps.cartads_cs.models diff --git a/passerelle/apps/cartads_cs/migrations/0002_cartadsdatacache.py b/passerelle/apps/cartads_cs/migrations/0002_cartadsdatacache.py index b561bdac..60cb10bc 100644 --- a/passerelle/apps/cartads_cs/migrations/0002_cartadsdatacache.py +++ b/passerelle/apps/cartads_cs/migrations/0002_cartadsdatacache.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.12 on 2019-08-31 09:48 from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/cartads_cs/migrations/0004_cartadsdossier_cartads_steps_cache.py b/passerelle/apps/cartads_cs/migrations/0004_cartadsdossier_cartads_steps_cache.py index 1842fe7b..979b43d1 100644 --- a/passerelle/apps/cartads_cs/migrations/0004_cartadsdossier_cartads_steps_cache.py +++ b/passerelle/apps/cartads_cs/migrations/0004_cartadsdossier_cartads_steps_cache.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.12 on 2019-09-03 07:19 from __future__ import unicode_literals -from django.db import migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations class Migration(migrations.Migration): diff --git a/passerelle/apps/cartads_cs/migrations/0011_cartadsdossier_cartads_cache_infos.py b/passerelle/apps/cartads_cs/migrations/0011_cartadsdossier_cartads_cache_infos.py index 17f8dad8..589e0708 100644 --- a/passerelle/apps/cartads_cs/migrations/0011_cartadsdossier_cartads_cache_infos.py +++ b/passerelle/apps/cartads_cs/migrations/0011_cartadsdossier_cartads_cache_infos.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.12 on 2019-09-30 15:42 from __future__ import unicode_literals -from django.db import migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations class Migration(migrations.Migration): diff --git a/passerelle/apps/cartads_cs/models.py b/passerelle/apps/cartads_cs/models.py index 0e4ac2ce..777a112f 100644 --- a/passerelle/apps/cartads_cs/models.py +++ b/passerelle/apps/cartads_cs/models.py @@ -17,34 +17,31 @@ import base64 import datetime -from ftplib import FTP import json import os import random import re -from xml.etree import ElementTree as etree import zipfile +from ftplib import FTP +from xml.etree import ElementTree as etree import pdfrw import pdfrw.findobjs - +import zeep.exceptions +import zeep.helpers as zeep_helpers from Crypto.Cipher import AES - from django.conf import settings from django.contrib.postgres.fields import JSONField from django.core.files.storage import default_storage from django.core.signing import Signer -from django.urls import reverse from django.db import models from django.http import HttpResponse +from django.urls import reverse from django.utils.encoding import force_text +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.utils.six.moves.urllib import parse as urlparse - -import zeep.exceptions -import zeep.helpers as zeep_helpers from passerelle.base.models import BaseResource from passerelle.base.signature import sign_url diff --git a/passerelle/apps/choosit/migrations/0001_initial.py b/passerelle/apps/choosit/migrations/0001_initial.py index 4500cf92..39617018 100644 --- a/passerelle/apps/choosit/migrations/0001_initial.py +++ b/passerelle/apps/choosit/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/passerelle/apps/choosit/migrations/0002_auto_20160316_0528.py b/passerelle/apps/choosit/migrations/0002_auto_20160316_0528.py index fa6dc52a..cb2bc463 100644 --- a/passerelle/apps/choosit/migrations/0002_auto_20160316_0528.py +++ b/passerelle/apps/choosit/migrations/0002_auto_20160316_0528.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/passerelle/apps/choosit/migrations/0003_auto_20160316_0910.py b/passerelle/apps/choosit/migrations/0003_auto_20160316_0910.py index 8b0a1bf9..8da310c6 100644 --- a/passerelle/apps/choosit/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/choosit/migrations/0003_auto_20160316_0910.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/passerelle/apps/choosit/migrations/0004_auto_20160407_0456.py b/passerelle/apps/choosit/migrations/0004_auto_20160407_0456.py index 7e125e1f..03af97be 100644 --- a/passerelle/apps/choosit/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/choosit/migrations/0004_auto_20160407_0456.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/passerelle/apps/choosit/migrations/0005_choositsmsgateway_default_trunk_prefix.py b/passerelle/apps/choosit/migrations/0005_choositsmsgateway_default_trunk_prefix.py index 8a1fad75..2fbb46cb 100644 --- a/passerelle/apps/choosit/migrations/0005_choositsmsgateway_default_trunk_prefix.py +++ b/passerelle/apps/choosit/migrations/0005_choositsmsgateway_default_trunk_prefix.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/passerelle/apps/choosit/migrations/0010_auto_20210202_1304.py b/passerelle/apps/choosit/migrations/0010_auto_20210202_1304.py index 1792f1c4..fef62ebb 100644 --- a/passerelle/apps/choosit/migrations/0010_auto_20210202_1304.py +++ b/passerelle/apps/choosit/migrations/0010_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/choosit/models.py b/passerelle/apps/choosit/models.py index 48fd1892..4c58ebff 100644 --- a/passerelle/apps/choosit/models.py +++ b/passerelle/apps/choosit/models.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import json -import requests +import requests from django.db import models from django.utils.six import string_types from django.utils.translation import ugettext_lazy as _ diff --git a/passerelle/apps/cityweb/cityweb.py b/passerelle/apps/cityweb/cityweb.py index c63bd5ed..09d03a82 100644 --- a/passerelle/apps/cityweb/cityweb.py +++ b/passerelle/apps/cityweb/cityweb.py @@ -16,17 +16,17 @@ import os import stat -from lxml import etree, objectify as xobject -from django.core.files.storage import default_storage from django.core.files.base import ContentFile +from django.core.files.storage import default_storage from django.utils import six from django.utils.dateparse import parse_date from django.utils.encoding import force_bytes +from lxml import etree +from lxml import objectify as xobject -from passerelle.utils.jsonresponse import APIError from passerelle.utils.files import atomic_write - +from passerelle.utils.jsonresponse import APIError CERTIFICATE_TYPES = [ {"id": "NAI", "text": "Naissance"}, diff --git a/passerelle/apps/cityweb/models.py b/passerelle/apps/cityweb/models.py index dc1dfd18..74548bce 100644 --- a/passerelle/apps/cityweb/models.py +++ b/passerelle/apps/cityweb/models.py @@ -16,8 +16,8 @@ import os -from django.utils.translation import ugettext_lazy as _ from django.core.files.storage import default_storage +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads @@ -25,13 +25,13 @@ from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError from .cityweb import ( - CivilStatusApplication, - TITLES, - SEXES, - DOCUMENT_TYPES, CERTIFICATE_TYPES, CONCERNED, + DOCUMENT_TYPES, ORIGINS, + SEXES, + TITLES, + CivilStatusApplication, ) diff --git a/passerelle/apps/clicrdv/migrations/0001_initial.py b/passerelle/apps/clicrdv/migrations/0001_initial.py index 8d89150a..4b87a038 100644 --- a/passerelle/apps/clicrdv/migrations/0001_initial.py +++ b/passerelle/apps/clicrdv/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/passerelle/apps/clicrdv/models.py b/passerelle/apps/clicrdv/models.py index 0c3dba4a..8e045966 100644 --- a/passerelle/apps/clicrdv/models.py +++ b/passerelle/apps/clicrdv/models.py @@ -7,15 +7,15 @@ It is a gateway to http://developers.clicrdv.com/fr/rest-api.html import base64 import datetime import json -import requests +import requests from django.conf import settings -from django.urls import reverse from django.db import models +from django.urls import reverse from django.utils.dateformat import format as date_format from django.utils.dateformat import time_format -from django.utils.translation import ugettext_lazy as _ from django.utils.http import urlquote +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/clicrdv/urls.py b/passerelle/apps/clicrdv/urls.py index ed2273eb..427bec84 100644 --- a/passerelle/apps/clicrdv/urls.py +++ b/passerelle/apps/clicrdv/urls.py @@ -1,9 +1,8 @@ -from django.views.decorators.csrf import csrf_exempt from django.conf.urls import include, url - -from passerelle.urls_utils import decorated_includes, required, app_enabled +from django.views.decorators.csrf import csrf_exempt from passerelle.apps.clicrdv.views import * +from passerelle.urls_utils import app_enabled, decorated_includes, required urlpatterns = [ url(r'^(?P[\w,-]+)/$', ClicRdvDetailView.as_view(), name='clicrdv-view'), diff --git a/passerelle/apps/clicrdv/views.py b/passerelle/apps/clicrdv/views.py index 3c9f1e68..4a6816cd 100644 --- a/passerelle/apps/clicrdv/views.py +++ b/passerelle/apps/clicrdv/views.py @@ -1,10 +1,9 @@ from django.views.generic.base import View -from django.views.generic.detail import SingleObjectMixin, DetailView +from django.views.generic.detail import DetailView, SingleObjectMixin -from passerelle.compat import json_loads import passerelle.utils as utils - from passerelle.apps.clicrdv.models import ClicRdv +from passerelle.compat import json_loads class ClicRdvDetailView(DetailView): diff --git a/passerelle/apps/cmis/migrations/0001_initial.py b/passerelle/apps/cmis/migrations/0001_initial.py index 8518197e..fc967bf2 100644 --- a/passerelle/apps/cmis/migrations/0001_initial.py +++ b/passerelle/apps/cmis/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/passerelle/apps/cmis/models.py b/passerelle/apps/cmis/models.py index 14c4f6f5..a96d7c73 100644 --- a/passerelle/apps/cmis/models.py +++ b/passerelle/apps/cmis/models.py @@ -17,25 +17,26 @@ import base64 import binascii import functools -import httplib2 import re +import httplib2 from cmislib import CmisClient -from cmislib.exceptions import CmisException -from cmislib.exceptions import ObjectNotFoundException -from cmislib.exceptions import PermissionDeniedException -from cmislib.exceptions import UpdateConflictException -from cmislib.exceptions import InvalidArgumentException +from cmislib.exceptions import ( + CmisException, + InvalidArgumentException, + ObjectNotFoundException, + PermissionDeniedException, + UpdateConflictException, +) from django.db import models -from django.utils.translation import ugettext_lazy as _ from django.utils.six import BytesIO from django.utils.six.moves.urllib import error as urllib2 +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - SPECIAL_CHARS = '!#$%&+-^_`~;[]{}+=~' FILE_PATH_PATTERN = r'^(/|(/[\w%s]+)+)$' % re.escape(SPECIAL_CHARS) FILE_NAME_PATTERN = r'[\w%s\.]+$' % re.escape(SPECIAL_CHARS) diff --git a/passerelle/apps/cmis/views.py b/passerelle/apps/cmis/views.py index 6da98c17..6b5975ee 100644 --- a/passerelle/apps/cmis/views.py +++ b/passerelle/apps/cmis/views.py @@ -16,7 +16,6 @@ from cmislib import CmisClient from cmislib.exceptions import ObjectNotFoundException - from django.http import Http404 from django.utils.translation import ugettext_lazy as _ from django.views.generic import TemplateView diff --git a/passerelle/apps/cryptor/migrations/0001_initial.py b/passerelle/apps/cryptor/migrations/0001_initial.py index 49bf9989..27a7a3dd 100644 --- a/passerelle/apps/cryptor/migrations/0001_initial.py +++ b/passerelle/apps/cryptor/migrations/0001_initial.py @@ -2,11 +2,13 @@ # Generated by Django 1.11.18 on 2020-03-04 10:25 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion -import passerelle.apps.cryptor.models import uuid +import django.db.models.deletion +from django.db import migrations, models + +import passerelle.apps.cryptor.models + class Migration(migrations.Migration): diff --git a/passerelle/apps/cryptor/models.py b/passerelle/apps/cryptor/models.py index 4877c377..ada3a6c3 100644 --- a/passerelle/apps/cryptor/models.py +++ b/passerelle/apps/cryptor/models.py @@ -20,11 +20,10 @@ import json import os from uuid import uuid4 -from Cryptodome.PublicKey import RSA -from Cryptodome.Random import get_random_bytes from Cryptodome.Cipher import AES, PKCS1_OAEP from Cryptodome.Hash import SHA512 - +from Cryptodome.PublicKey import RSA +from Cryptodome.Random import get_random_bytes from django.core.exceptions import ValidationError from django.core.files.storage import default_storage from django.db import models @@ -37,7 +36,6 @@ from passerelle.utils.api import endpoint from passerelle.utils.files import atomic_write from passerelle.utils.jsonresponse import APIError - FILE_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "File to encrypt", diff --git a/passerelle/apps/csvdatasource/management/commands/change-csv.py b/passerelle/apps/csvdatasource/management/commands/change-csv.py index b1926116..dfa0aace 100644 --- a/passerelle/apps/csvdatasource/management/commands/change-csv.py +++ b/passerelle/apps/csvdatasource/management/commands/change-csv.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 . -import os import argparse +import os from django.core.files import File from django.core.management.base import BaseCommand, CommandError diff --git a/passerelle/apps/csvdatasource/migrations/0001_initial.py b/passerelle/apps/csvdatasource/migrations/0001_initial.py index c25b605c..19680ae4 100644 --- a/passerelle/apps/csvdatasource/migrations/0001_initial.py +++ b/passerelle/apps/csvdatasource/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/passerelle/apps/csvdatasource/migrations/0002_csvdatasource_log_level.py b/passerelle/apps/csvdatasource/migrations/0002_csvdatasource_log_level.py index c493127b..f5e58ff9 100644 --- a/passerelle/apps/csvdatasource/migrations/0002_csvdatasource_log_level.py +++ b/passerelle/apps/csvdatasource/migrations/0002_csvdatasource_log_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/passerelle/apps/csvdatasource/migrations/0003_auto_20160316_0910.py b/passerelle/apps/csvdatasource/migrations/0003_auto_20160316_0910.py index bd3311a3..f3d9a7ae 100644 --- a/passerelle/apps/csvdatasource/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/csvdatasource/migrations/0003_auto_20160316_0910.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/passerelle/apps/csvdatasource/migrations/0004_auto_20160407_0456.py b/passerelle/apps/csvdatasource/migrations/0004_auto_20160407_0456.py index 00fbc8f9..ce59c3a6 100644 --- a/passerelle/apps/csvdatasource/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/csvdatasource/migrations/0004_auto_20160407_0456.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/passerelle/apps/csvdatasource/migrations/0005_csvdatasource__dialect_options.py b/passerelle/apps/csvdatasource/migrations/0005_csvdatasource__dialect_options.py index e24f063c..b62512c3 100644 --- a/passerelle/apps/csvdatasource/migrations/0005_csvdatasource__dialect_options.py +++ b/passerelle/apps/csvdatasource/migrations/0005_csvdatasource__dialect_options.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/csvdatasource/migrations/0006_auto_20160905_1031.py b/passerelle/apps/csvdatasource/migrations/0006_auto_20160905_1031.py index 353865f1..0a6ec95c 100644 --- a/passerelle/apps/csvdatasource/migrations/0006_auto_20160905_1031.py +++ b/passerelle/apps/csvdatasource/migrations/0006_auto_20160905_1031.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/csvdatasource/migrations/0009_auto_20161109_0353.py b/passerelle/apps/csvdatasource/migrations/0009_auto_20161109_0353.py index 7948fd50..8938f6d6 100644 --- a/passerelle/apps/csvdatasource/migrations/0009_auto_20161109_0353.py +++ b/passerelle/apps/csvdatasource/migrations/0009_auto_20161109_0353.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/passerelle/apps/csvdatasource/migrations/0011_auto_20180905_0936.py b/passerelle/apps/csvdatasource/migrations/0011_auto_20180905_0936.py index baaf98a5..3d95ed03 100644 --- a/passerelle/apps/csvdatasource/migrations/0011_auto_20180905_0936.py +++ b/passerelle/apps/csvdatasource/migrations/0011_auto_20180905_0936.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.12 on 2018-09-05 14:36 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/csvdatasource/migrations/0016_auto_20200406_1702.py b/passerelle/apps/csvdatasource/migrations/0016_auto_20200406_1702.py index 6e2a67f3..8cfa9980 100644 --- a/passerelle/apps/csvdatasource/migrations/0016_auto_20200406_1702.py +++ b/passerelle/apps/csvdatasource/migrations/0016_auto_20200406_1702.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-04-06 15: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/passerelle/apps/csvdatasource/migrations/0019_csv_upload_to.py b/passerelle/apps/csvdatasource/migrations/0019_csv_upload_to.py index fa25a86d..1a88667b 100644 --- a/passerelle/apps/csvdatasource/migrations/0019_csv_upload_to.py +++ b/passerelle/apps/csvdatasource/migrations/0019_csv_upload_to.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.apps.csvdatasource.models diff --git a/passerelle/apps/csvdatasource/migrations/0020_csv_upload_to.py b/passerelle/apps/csvdatasource/migrations/0020_csv_upload_to.py index ccc6f072..58ea03aa 100644 --- a/passerelle/apps/csvdatasource/migrations/0020_csv_upload_to.py +++ b/passerelle/apps/csvdatasource/migrations/0020_csv_upload_to.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import os from django.db import migrations diff --git a/passerelle/apps/csvdatasource/models.py b/passerelle/apps/csvdatasource/models.py index 0970e6d7..096a12cb 100644 --- a/passerelle/apps/csvdatasource/models.py +++ b/passerelle/apps/csvdatasource/models.py @@ -14,34 +14,31 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import csv import datetime import os import re -import csv -from collections import OrderedDict import tempfile +from collections import OrderedDict -import six import pytz - +import six +from django.conf import settings +from django.contrib.postgres.fields import JSONField +from django.core.exceptions import ValidationError +from django.db import models, transaction +from django.urls import reverse +from django.utils.encoding import force_str, force_text, smart_text +from django.utils.timezone import make_aware, now +from django.utils.translation import ugettext_lazy as _ from pyexcel_ods import get_data as get_data_ods from pyexcel_xls import get_data as get_data_xls -from django.contrib.postgres.fields import JSONField -from django.utils.encoding import force_str, smart_text, force_text -from django.utils.timezone import make_aware -from django.conf import settings -from django.db import models, transaction -from django.core.exceptions import ValidationError -from django.urls import reverse -from django.utils.timezone import now -from django.utils.translation import ugettext_lazy as _ - from passerelle.base.models import BaseResource from passerelle.utils import batch -from passerelle.utils.jsonresponse import APIError from passerelle.utils.api import endpoint from passerelle.utils.conversion import normalize +from passerelle.utils.jsonresponse import APIError identifier_re = re.compile(r"^[^\d\W]\w*\Z", re.UNICODE) diff --git a/passerelle/apps/csvdatasource/views.py b/passerelle/apps/csvdatasource/views.py index 1502b06e..f603d1c0 100644 --- a/passerelle/apps/csvdatasource/views.py +++ b/passerelle/apps/csvdatasource/views.py @@ -18,7 +18,7 @@ import os from django.http import HttpResponse from django.shortcuts import get_object_or_404 -from django.views.generic import View, UpdateView, CreateView, DeleteView +from django.views.generic import CreateView, DeleteView, UpdateView, View from .forms import QueryForm from .models import CsvDataSource, Query diff --git a/passerelle/apps/esirius/migrations/0001_initial.py b/passerelle/apps/esirius/migrations/0001_initial.py index d7396bd5..d7a9c2a0 100644 --- a/passerelle/apps/esirius/migrations/0001_initial.py +++ b/passerelle/apps/esirius/migrations/0001_initial.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.apps.esirius.models diff --git a/passerelle/apps/esirius/models.py b/passerelle/apps/esirius/models.py index 0368c868..d491fc0f 100644 --- a/passerelle/apps/esirius/models.py +++ b/passerelle/apps/esirius/models.py @@ -22,9 +22,8 @@ from urllib.parse import urljoin from Cryptodome.Cipher import DES from Cryptodome.Util.Padding import pad - -from django.db import models from django.core.exceptions import ValidationError +from django.db import models from django.utils.encoding import force_bytes from django.utils.translation import ugettext_lazy as _ @@ -32,7 +31,6 @@ from passerelle.base.models import BaseResource, HTTPResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - CREATE_APPOINTMENT_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', "type": "object", diff --git a/passerelle/apps/family/loaders/concerto_fondettes.py b/passerelle/apps/family/loaders/concerto_fondettes.py index 79ea69c1..cc3f21de 100644 --- a/passerelle/apps/family/loaders/concerto_fondettes.py +++ b/passerelle/apps/family/loaders/concerto_fondettes.py @@ -16,15 +16,15 @@ import csv import datetime -from decimal import Decimal import json import os import sys import zipfile +from decimal import Decimal from django.core.exceptions import ValidationError -from django.utils.encoding import force_text from django.utils import six +from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ from ..models import Invoice diff --git a/passerelle/apps/family/loaders/concerto_orleans.py b/passerelle/apps/family/loaders/concerto_orleans.py index 48a0dbb0..d22401fa 100644 --- a/passerelle/apps/family/loaders/concerto_orleans.py +++ b/passerelle/apps/family/loaders/concerto_orleans.py @@ -14,19 +14,18 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import os import csv +import os from decimal import Decimal -from django.utils.timezone import make_aware, datetime +from django.core.exceptions import ValidationError +from django.core.files.storage import DefaultStorage from django.utils import six, timezone from django.utils.encoding import force_text -from django.core.exceptions import ValidationError +from django.utils.timezone import datetime, make_aware from django.utils.translation import ugettext_lazy as _ -from django.core.files.storage import DefaultStorage -from ..models import Family, Adult, Child, Invoice -from ..models import dict_cherry_pick, get_datetime, get_date +from ..models import Adult, Child, Family, Invoice, dict_cherry_pick, get_date, get_datetime def normalize_adult(adult): diff --git a/passerelle/apps/family/loaders/opus_fondettes.py b/passerelle/apps/family/loaders/opus_fondettes.py index e9ee86ed..25fd8b7f 100644 --- a/passerelle/apps/family/loaders/opus_fondettes.py +++ b/passerelle/apps/family/loaders/opus_fondettes.py @@ -16,15 +16,15 @@ import csv import datetime -from decimal import Decimal import json import os import sys import zipfile +from decimal import Decimal from django.core.exceptions import ValidationError -from django.utils.encoding import force_text from django.utils import six +from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ from ..models import Invoice diff --git a/passerelle/apps/family/management/commands/import_orleans_data.py b/passerelle/apps/family/management/commands/import_orleans_data.py index eb89991e..3457bbc9 100644 --- a/passerelle/apps/family/management/commands/import_orleans_data.py +++ b/passerelle/apps/family/management/commands/import_orleans_data.py @@ -14,15 +14,15 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import fcntl import os import sys -import zipfile import tempfile -import fcntl +import zipfile from django.core.files.base import File -from django.core.management.base import BaseCommand, CommandError from django.core.files.storage import DefaultStorage +from django.core.management.base import BaseCommand, CommandError from passerelle.apps.family.models import GenericFamily, Invoice diff --git a/passerelle/apps/family/migrations/0001_initial.py b/passerelle/apps/family/migrations/0001_initial.py index d7fc97fc..ed40e20e 100644 --- a/passerelle/apps/family/migrations/0001_initial.py +++ b/passerelle/apps/family/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/passerelle/apps/family/migrations/0007_auto_20161122_1816.py b/passerelle/apps/family/migrations/0007_auto_20161122_1816.py index 5115709d..9c5f6bf0 100644 --- a/passerelle/apps/family/migrations/0007_auto_20161122_1816.py +++ b/passerelle/apps/family/migrations/0007_auto_20161122_1816.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations import datetime + +from django.db import migrations, models from django.utils.timezone import utc diff --git a/passerelle/apps/family/models.py b/passerelle/apps/family/models.py index 327957ce..43009272 100644 --- a/passerelle/apps/family/models.py +++ b/passerelle/apps/family/models.py @@ -16,22 +16,20 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from datetime import date import os import sys import zipfile +from collections import defaultdict +from datetime import date import pytz - -from collections import defaultdict - from django.core.exceptions import ValidationError from django.core.files.storage import default_storage -from django.utils import six -from django.utils.translation import ugettext_lazy as _ -from django.http import Http404, HttpResponse from django.db import models, transaction -from django.utils.timezone import make_aware, datetime, now, is_naive +from django.http import Http404, HttpResponse +from django.utils import six +from django.utils.timezone import datetime, is_naive, make_aware, now +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads diff --git a/passerelle/apps/feeds/models.py b/passerelle/apps/feeds/models.py index 08ef452a..2f1476e8 100644 --- a/passerelle/apps/feeds/models.py +++ b/passerelle/apps/feeds/models.py @@ -15,7 +15,6 @@ # along with this program. If not, see . import feedparser - from django.db import models from django.utils.translation import ugettext_lazy as _ diff --git a/passerelle/apps/gdc/migrations/0001_initial.py b/passerelle/apps/gdc/migrations/0001_initial.py index 8d710dc5..3b6e0646 100644 --- a/passerelle/apps/gdc/migrations/0001_initial.py +++ b/passerelle/apps/gdc/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/passerelle/apps/gdc/migrations/0002_gdc_log_level.py b/passerelle/apps/gdc/migrations/0002_gdc_log_level.py index 6146d00c..fcfef93f 100644 --- a/passerelle/apps/gdc/migrations/0002_gdc_log_level.py +++ b/passerelle/apps/gdc/migrations/0002_gdc_log_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/passerelle/apps/gdc/migrations/0003_auto_20160316_0910.py b/passerelle/apps/gdc/migrations/0003_auto_20160316_0910.py index d5c5b82c..00fb26b5 100644 --- a/passerelle/apps/gdc/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/gdc/migrations/0003_auto_20160316_0910.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/passerelle/apps/gdc/migrations/0004_auto_20160407_0456.py b/passerelle/apps/gdc/migrations/0004_auto_20160407_0456.py index 08913a01..c7c25e25 100644 --- a/passerelle/apps/gdc/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/gdc/migrations/0004_auto_20160407_0456.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/passerelle/apps/gdc/urls.py b/passerelle/apps/gdc/urls.py index a47d6844..d4985df9 100644 --- a/passerelle/apps/gdc/urls.py +++ b/passerelle/apps/gdc/urls.py @@ -14,9 +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.decorators.csrf import csrf_exempt from django.conf.urls import url -from .views import GdcDetailView, VoiesView, PostDemandeView, StatusView +from django.views.decorators.csrf import csrf_exempt + +from .views import GdcDetailView, PostDemandeView, StatusView, VoiesView urlpatterns = [ url(r'^(?P[\w,-]+)/$', GdcDetailView.as_view(), name='gdc-view'), diff --git a/passerelle/apps/gdc/views.py b/passerelle/apps/gdc/views.py index 5422a413..178429db 100644 --- a/passerelle/apps/gdc/views.py +++ b/passerelle/apps/gdc/views.py @@ -17,10 +17,10 @@ from django.utils.encoding import force_text from django.views.generic.base import View -from django.views.generic.detail import SingleObjectMixin, DetailView +from django.views.generic.detail import DetailView, SingleObjectMixin -from passerelle.compat import json_loads import passerelle.utils as utils +from passerelle.compat import json_loads from passerelle.utils.conversion import normalize from .models import Gdc, phpserialize, phpserialize_loads diff --git a/passerelle/apps/gesbac/migrations/0001_initial.py b/passerelle/apps/gesbac/migrations/0001_initial.py index 661930b8..5c060bd1 100644 --- a/passerelle/apps/gesbac/migrations/0001_initial.py +++ b/passerelle/apps/gesbac/migrations/0001_initial.py @@ -2,9 +2,10 @@ # Generated by Django 1.11.20 on 2019-09-19 15:23 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models + import passerelle.utils.sftp diff --git a/passerelle/apps/gesbac/models.py b/passerelle/apps/gesbac/models.py index de2ae14e..e1c2499e 100644 --- a/passerelle/apps/gesbac/models.py +++ b/passerelle/apps/gesbac/models.py @@ -16,20 +16,18 @@ import csv import io - from collections import OrderedDict from django.contrib.postgres.fields import JSONField -from django.db import models, transaction, IntegrityError +from django.db import IntegrityError, models, transaction +from django.http import Http404 from django.utils import six from django.utils.encoding import force_bytes from django.utils.translation import ugettext_lazy as _ -from django.http import Http404 from passerelle.base.models import BaseResource -from passerelle.utils.api import endpoint, APIError from passerelle.utils import SFTPField - +from passerelle.utils.api import APIError, endpoint CSV_DELIMITER = ';' FILES_ENCODING = 'latin-1' diff --git a/passerelle/apps/jsondatastore/migrations/0001_initial.py b/passerelle/apps/jsondatastore/migrations/0001_initial.py index a73cbed8..1d1f5001 100644 --- a/passerelle/apps/jsondatastore/migrations/0001_initial.py +++ b/passerelle/apps/jsondatastore/migrations/0001_initial.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import migrations, models -import passerelle.apps.jsondatastore.models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models + +import passerelle.apps.jsondatastore.models class Migration(migrations.Migration): diff --git a/passerelle/apps/jsondatastore/models.py b/passerelle/apps/jsondatastore/models.py index 4589ebc6..413a7124 100644 --- a/passerelle/apps/jsondatastore/models.py +++ b/passerelle/apps/jsondatastore/models.py @@ -23,7 +23,7 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads -from passerelle.utils.api import endpoint, APIError +from passerelle.utils.api import APIError, endpoint from passerelle.utils.conversion import simplify diff --git a/passerelle/apps/maelis/migrations/0001_initial.py b/passerelle/apps/maelis/migrations/0001_initial.py index 37a9a0ae..e8e5c4cc 100644 --- a/passerelle/apps/maelis/migrations/0001_initial.py +++ b/passerelle/apps/maelis/migrations/0001_initial.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.29 on 2020-09-29 13:56 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/passerelle/apps/maelis/models.py b/passerelle/apps/maelis/models.py index 140b49f0..f7593ca5 100644 --- a/passerelle/apps/maelis/models.py +++ b/passerelle/apps/maelis/models.py @@ -16,17 +16,15 @@ from collections import defaultdict - from urllib.parse import urljoin import zeep -from zeep.wsse.username import UsernameToken -from zeep.helpers import serialize_object - from django.db import models -from django.utils.dateparse import parse_date from django.utils import timezone +from django.utils.dateparse import parse_date from django.utils.translation import ugettext_lazy as _ +from zeep.helpers import serialize_object +from zeep.wsse.username import UsernameToken from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint @@ -34,7 +32,6 @@ from passerelle.utils.jsonresponse import APIError from . import utils - LINK_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", "title": "Maelis", diff --git a/passerelle/apps/maelis/utils.py b/passerelle/apps/maelis/utils.py index b6e16078..2d6b6ca7 100644 --- a/passerelle/apps/maelis/utils.py +++ b/passerelle/apps/maelis/utils.py @@ -17,11 +17,11 @@ from __future__ import unicode_literals +import re from copy import copy, deepcopy from datetime import datetime -from dateutil.relativedelta import relativedelta -import re +from dateutil.relativedelta import relativedelta from django.utils import timezone from django.utils.dateparse import parse_date diff --git a/passerelle/apps/mdel/mdel.py b/passerelle/apps/mdel/mdel.py index 163fa1a8..183c07de 100644 --- a/passerelle/apps/mdel/mdel.py +++ b/passerelle/apps/mdel/mdel.py @@ -14,16 +14,15 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import os import base64 import datetime -from xml.etree import ElementTree as etree +import os from xml.dom import minidom +from xml.etree import ElementTree as etree from dateutil.parser import parse as dateutil_parse - -from django.core.files.storage import default_storage from django.core.files.base import ContentFile +from django.core.files.storage import default_storage from passerelle.apps.mdel.utils import ElementFactory from passerelle.utils.jsonresponse import APIError diff --git a/passerelle/apps/mdel/migrations/0003_auto_20170125_0450.py b/passerelle/apps/mdel/migrations/0003_auto_20170125_0450.py index 371218c2..96469886 100644 --- a/passerelle/apps/mdel/migrations/0003_auto_20170125_0450.py +++ b/passerelle/apps/mdel/migrations/0003_auto_20170125_0450.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/passerelle/apps/mdel/migrations/0006_auto_20210126_1440.py b/passerelle/apps/mdel/migrations/0006_auto_20210126_1440.py index 4d8c038e..58d40e4d 100644 --- a/passerelle/apps/mdel/migrations/0006_auto_20210126_1440.py +++ b/passerelle/apps/mdel/migrations/0006_auto_20210126_1440.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations + import passerelle.utils.sftp diff --git a/passerelle/apps/mdel/models.py b/passerelle/apps/mdel/models.py index c6f58e57..8798a67a 100644 --- a/passerelle/apps/mdel/models.py +++ b/passerelle/apps/mdel/models.py @@ -23,15 +23,13 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads +from passerelle.utils import SFTPField from passerelle.utils.api import endpoint from passerelle.utils.files import atomic_write from passerelle.utils.jsonresponse import APIError -from passerelle.utils import SFTPField from . import mdel - -from .utils import zipdir, get_file_content_from_zip, parse_date - +from .utils import get_file_content_from_zip, parse_date, zipdir DEMAND_TYPES = ['ILE-LA', 'RCO-LA', 'AEC-LA'] diff --git a/passerelle/apps/mdel_ddpacs/abstract.py b/passerelle/apps/mdel_ddpacs/abstract.py index 841bb78d..927bc49b 100644 --- a/passerelle/apps/mdel_ddpacs/abstract.py +++ b/passerelle/apps/mdel_ddpacs/abstract.py @@ -17,27 +17,26 @@ from __future__ import unicode_literals -from collections import namedtuple import inspect import os import re import xml.etree.ElementTree as ET import zipfile +from collections import namedtuple from django.contrib.postgres.fields import JSONField -from django.db import models, IntegrityError, transaction -from django.urls import reverse +from django.db import IntegrityError, models, transaction from django.http import HttpResponse +from django.urls import reverse +from django.utils import functional, six from django.utils.translation import ugettext_lazy as _ -from django.utils import six, functional from passerelle.base.models import BaseResource, SkipJob +from passerelle.utils import sftp, xml from passerelle.utils.api import endpoint +from passerelle.utils.conversion import exception_to_text from passerelle.utils.jsonresponse import APIError from passerelle.utils.zip import ZipTemplate -from passerelle.utils.conversion import exception_to_text - -from passerelle.utils import xml, sftp '''Base abstract models for implementing MDEL compatible requests. ''' diff --git a/passerelle/apps/mdel_ddpacs/migrations/0001_initial.py b/passerelle/apps/mdel_ddpacs/migrations/0001_initial.py index 535a0df7..b67c7a81 100644 --- a/passerelle/apps/mdel_ddpacs/migrations/0001_initial.py +++ b/passerelle/apps/mdel_ddpacs/migrations/0001_initial.py @@ -2,9 +2,10 @@ # Generated by Django 1.11.20 on 2019-10-24 08:59 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models + import passerelle.utils.sftp diff --git a/passerelle/apps/mdel_ddpacs/migrations/0002_auto_20200504_1402.py b/passerelle/apps/mdel_ddpacs/migrations/0002_auto_20200504_1402.py index e263116b..e0f02065 100644 --- a/passerelle/apps/mdel_ddpacs/migrations/0002_auto_20200504_1402.py +++ b/passerelle/apps/mdel_ddpacs/migrations/0002_auto_20200504_1402.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields.jsonb from django.db import migrations, models + import passerelle.utils.sftp diff --git a/passerelle/apps/mdel_ddpacs/models.py b/passerelle/apps/mdel_ddpacs/models.py index e8d0e210..9fab543b 100644 --- a/passerelle/apps/mdel_ddpacs/models.py +++ b/passerelle/apps/mdel_ddpacs/models.py @@ -17,15 +17,14 @@ from __future__ import unicode_literals +import xmlschema from django.db import models -from django.utils.translation import ugettext_lazy as _ from django.utils import six +from django.utils.translation import ugettext_lazy as _ from passerelle.utils.api import endpoint from passerelle.utils.xml import JSONSchemaFromXMLSchema -import xmlschema - from . import abstract diff --git a/passerelle/apps/mobyt/migrations/0001_initial.py b/passerelle/apps/mobyt/migrations/0001_initial.py index 1ce4cfd9..ea43e75e 100644 --- a/passerelle/apps/mobyt/migrations/0001_initial.py +++ b/passerelle/apps/mobyt/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/passerelle/apps/mobyt/migrations/0002_mobytsmsgateway_log_level.py b/passerelle/apps/mobyt/migrations/0002_mobytsmsgateway_log_level.py index 7d59cf79..0a53fbb9 100644 --- a/passerelle/apps/mobyt/migrations/0002_mobytsmsgateway_log_level.py +++ b/passerelle/apps/mobyt/migrations/0002_mobytsmsgateway_log_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/passerelle/apps/mobyt/migrations/0003_auto_20160316_0910.py b/passerelle/apps/mobyt/migrations/0003_auto_20160316_0910.py index e61f314f..4d2e0f0e 100644 --- a/passerelle/apps/mobyt/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/mobyt/migrations/0003_auto_20160316_0910.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/passerelle/apps/mobyt/migrations/0004_auto_20160407_0456.py b/passerelle/apps/mobyt/migrations/0004_auto_20160407_0456.py index 6c895f53..e62e52b3 100644 --- a/passerelle/apps/mobyt/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/mobyt/migrations/0004_auto_20160407_0456.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/passerelle/apps/mobyt/migrations/0005_mobytsmsgateway_default_trunk_prefix.py b/passerelle/apps/mobyt/migrations/0005_mobytsmsgateway_default_trunk_prefix.py index bba773dc..01b9f1c4 100644 --- a/passerelle/apps/mobyt/migrations/0005_mobytsmsgateway_default_trunk_prefix.py +++ b/passerelle/apps/mobyt/migrations/0005_mobytsmsgateway_default_trunk_prefix.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/passerelle/apps/mobyt/migrations/0009_auto_20210202_1304.py b/passerelle/apps/mobyt/migrations/0009_auto_20210202_1304.py index 47f7c25c..b8832a60 100644 --- a/passerelle/apps/mobyt/migrations/0009_auto_20210202_1304.py +++ b/passerelle/apps/mobyt/migrations/0009_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/mobyt/models.py b/passerelle/apps/mobyt/models.py index 33c461c2..f713152d 100644 --- a/passerelle/apps/mobyt/models.py +++ b/passerelle/apps/mobyt/models.py @@ -1,8 +1,7 @@ +import requests from django.db import models from django.utils.translation import ugettext_lazy as _ -import requests - from passerelle.sms.models import SMSResource from passerelle.utils.jsonresponse import APIError diff --git a/passerelle/apps/opendatasoft/forms.py b/passerelle/apps/opendatasoft/forms.py index a13ddaf1..d1ab4118 100644 --- a/passerelle/apps/opendatasoft/forms.py +++ b/passerelle/apps/opendatasoft/forms.py @@ -17,6 +17,7 @@ from django import forms from passerelle.base.forms import BaseQueryFormMixin + from . import models diff --git a/passerelle/apps/opendatasoft/migrations/0001_initial.py b/passerelle/apps/opendatasoft/migrations/0001_initial.py index b2466890..4ba56f5f 100644 --- a/passerelle/apps/opendatasoft/migrations/0001_initial.py +++ b/passerelle/apps/opendatasoft/migrations/0001_initial.py @@ -2,8 +2,9 @@ # Generated by Django 1.11.18 on 2020-05-15 17:28 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models + import passerelle.utils.templates diff --git a/passerelle/apps/opendatasoft/models.py b/passerelle/apps/opendatasoft/models.py index fb5e4d47..a9fd3473 100644 --- a/passerelle/apps/opendatasoft/models.py +++ b/passerelle/apps/opendatasoft/models.py @@ -20,9 +20,9 @@ from django.urls import reverse from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ -from passerelle.utils.templates import render_to_string, validate_template -from passerelle.base.models import BaseResource, BaseQuery +from passerelle.base.models import BaseQuery, BaseResource from passerelle.utils.api import endpoint +from passerelle.utils.templates import render_to_string, validate_template class OpenDataSoft(BaseResource): diff --git a/passerelle/apps/opendatasoft/views.py b/passerelle/apps/opendatasoft/views.py index a2562839..88adf13d 100644 --- a/passerelle/apps/opendatasoft/views.py +++ b/passerelle/apps/opendatasoft/views.py @@ -14,7 +14,7 @@ # 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 UpdateView, CreateView, DeleteView +from django.views.generic import CreateView, DeleteView, UpdateView from passerelle.base.mixins import ResourceChildViewMixin diff --git a/passerelle/apps/opengis/forms.py b/passerelle/apps/opengis/forms.py index 09a42b11..f36a27fa 100644 --- a/passerelle/apps/opengis/forms.py +++ b/passerelle/apps/opengis/forms.py @@ -20,6 +20,7 @@ from django import forms from django.utils.translation import ugettext_lazy as _ from passerelle.base.forms import BaseQueryFormMixin + from . import models diff --git a/passerelle/apps/opengis/migrations/0005_auto_20180227_1531.py b/passerelle/apps/opengis/migrations/0005_auto_20180227_1531.py index 6722d50c..bb710926 100644 --- a/passerelle/apps/opengis/migrations/0005_auto_20180227_1531.py +++ b/passerelle/apps/opengis/migrations/0005_auto_20180227_1531.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/opengis/migrations/0007_auto_20200401_1032.py b/passerelle/apps/opengis/migrations/0007_auto_20200401_1032.py index 024556a7..1e4cfdb1 100644 --- a/passerelle/apps/opengis/migrations/0007_auto_20200401_1032.py +++ b/passerelle/apps/opengis/migrations/0007_auto_20200401_1032.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-04-08 09:54 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/passerelle/apps/opengis/migrations/0008_featurecache.py b/passerelle/apps/opengis/migrations/0008_featurecache.py index ccd45c2c..fca2f95f 100644 --- a/passerelle/apps/opengis/migrations/0008_featurecache.py +++ b/passerelle/apps/opengis/migrations/0008_featurecache.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.18 on 2020-04-01 09:21 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/opengis/models.py b/passerelle/apps/opengis/models.py index 83c75fb4..e09c830d 100644 --- a/passerelle/apps/opengis/models.py +++ b/passerelle/apps/opengis/models.py @@ -18,10 +18,8 @@ import html import math import xml.etree.ElementTree as ET -import six - import pyproj - +import six from django.contrib.postgres.fields import JSONField from django.core.cache import cache from django.db import models, transaction @@ -33,7 +31,7 @@ from django.utils import timezone from django.utils.text import slugify from django.utils.translation import ugettext_lazy as _ -from passerelle.base.models import BaseResource, BaseQuery +from passerelle.base.models import BaseQuery, BaseResource from passerelle.utils.api import endpoint from passerelle.utils.conversion import num2deg, simplify from passerelle.utils.jsonresponse import APIError diff --git a/passerelle/apps/opengis/views.py b/passerelle/apps/opengis/views.py index da7c402f..7113ed2d 100644 --- a/passerelle/apps/opengis/views.py +++ b/passerelle/apps/opengis/views.py @@ -14,7 +14,7 @@ # 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 UpdateView, CreateView, DeleteView +from django.views.generic import CreateView, DeleteView, UpdateView from passerelle.base.mixins import ResourceChildViewMixin diff --git a/passerelle/apps/orange/migrations/0001_initial.py b/passerelle/apps/orange/migrations/0001_initial.py index a68c03a4..a17cea26 100644 --- a/passerelle/apps/orange/migrations/0001_initial.py +++ b/passerelle/apps/orange/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/passerelle/apps/orange/migrations/0002_orangesmsgateway_log_level.py b/passerelle/apps/orange/migrations/0002_orangesmsgateway_log_level.py index 34bbc283..4a2bfbd0 100644 --- a/passerelle/apps/orange/migrations/0002_orangesmsgateway_log_level.py +++ b/passerelle/apps/orange/migrations/0002_orangesmsgateway_log_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/passerelle/apps/orange/migrations/0003_auto_20160316_0910.py b/passerelle/apps/orange/migrations/0003_auto_20160316_0910.py index d18b723e..059ba006 100644 --- a/passerelle/apps/orange/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/orange/migrations/0003_auto_20160316_0910.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/passerelle/apps/orange/migrations/0004_auto_20160407_0456.py b/passerelle/apps/orange/migrations/0004_auto_20160407_0456.py index a3f33837..4c2f34dd 100644 --- a/passerelle/apps/orange/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/orange/migrations/0004_auto_20160407_0456.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/passerelle/apps/orange/migrations/0009_auto_20210202_1304.py b/passerelle/apps/orange/migrations/0009_auto_20210202_1304.py index 0ea1bc6a..bffb0f39 100644 --- a/passerelle/apps/orange/migrations/0009_auto_20210202_1304.py +++ b/passerelle/apps/orange/migrations/0009_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/orange/models.py b/passerelle/apps/orange/models.py index 24fe1db2..93f717a6 100644 --- a/passerelle/apps/orange/models.py +++ b/passerelle/apps/orange/models.py @@ -25,7 +25,6 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.sms.models import SMSResource from passerelle.utils.jsonresponse import APIError - BASE_API = 'https://contact-everyone.orange-business.com/api/v1.2/' URL_TOKEN = BASE_API + 'oauth/token' URL_GROUPS = BASE_API + 'groups' diff --git a/passerelle/apps/ovh/migrations/0001_initial.py b/passerelle/apps/ovh/migrations/0001_initial.py index 2768677f..5895e56e 100644 --- a/passerelle/apps/ovh/migrations/0001_initial.py +++ b/passerelle/apps/ovh/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/passerelle/apps/ovh/migrations/0002_ovhsmsgateway_log_level.py b/passerelle/apps/ovh/migrations/0002_ovhsmsgateway_log_level.py index 939359dc..59452a77 100644 --- a/passerelle/apps/ovh/migrations/0002_ovhsmsgateway_log_level.py +++ b/passerelle/apps/ovh/migrations/0002_ovhsmsgateway_log_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/passerelle/apps/ovh/migrations/0003_auto_20160316_0910.py b/passerelle/apps/ovh/migrations/0003_auto_20160316_0910.py index b3962583..a1bcbb0c 100644 --- a/passerelle/apps/ovh/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/ovh/migrations/0003_auto_20160316_0910.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/passerelle/apps/ovh/migrations/0004_auto_20160407_0456.py b/passerelle/apps/ovh/migrations/0004_auto_20160407_0456.py index 396d74c0..75848b21 100644 --- a/passerelle/apps/ovh/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/ovh/migrations/0004_auto_20160407_0456.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/passerelle/apps/ovh/migrations/0005_ovhsmsgateway_default_trunk_prefix.py b/passerelle/apps/ovh/migrations/0005_ovhsmsgateway_default_trunk_prefix.py index 1d2fb8c7..9a2f8edd 100644 --- a/passerelle/apps/ovh/migrations/0005_ovhsmsgateway_default_trunk_prefix.py +++ b/passerelle/apps/ovh/migrations/0005_ovhsmsgateway_default_trunk_prefix.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/passerelle/apps/ovh/migrations/0013_auto_20210202_1304.py b/passerelle/apps/ovh/migrations/0013_auto_20210202_1304.py index 90a77683..8d0479e0 100644 --- a/passerelle/apps/ovh/migrations/0013_auto_20210202_1304.py +++ b/passerelle/apps/ovh/migrations/0013_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/ovh/models.py b/passerelle/apps/ovh/models.py index c28e3f17..d3afd58b 100644 --- a/passerelle/apps/ovh/models.py +++ b/passerelle/apps/ovh/models.py @@ -1,12 +1,12 @@ import hashlib import json -import requests import time from datetime import timedelta from urllib.parse import urljoin -from django.contrib.postgres.fields import ArrayField +import requests from django.conf import settings +from django.contrib.postgres.fields import ArrayField from django.core.mail import send_mail from django.db import models from django.template.loader import render_to_string diff --git a/passerelle/apps/oxyd/migrations/0001_initial.py b/passerelle/apps/oxyd/migrations/0001_initial.py index 4995ed70..3c34b2f3 100644 --- a/passerelle/apps/oxyd/migrations/0001_initial.py +++ b/passerelle/apps/oxyd/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/passerelle/apps/oxyd/migrations/0002_oxydsmsgateway_log_level.py b/passerelle/apps/oxyd/migrations/0002_oxydsmsgateway_log_level.py index 8872889c..22a38fda 100644 --- a/passerelle/apps/oxyd/migrations/0002_oxydsmsgateway_log_level.py +++ b/passerelle/apps/oxyd/migrations/0002_oxydsmsgateway_log_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/passerelle/apps/oxyd/migrations/0003_auto_20160316_0910.py b/passerelle/apps/oxyd/migrations/0003_auto_20160316_0910.py index 93125b97..d458c229 100644 --- a/passerelle/apps/oxyd/migrations/0003_auto_20160316_0910.py +++ b/passerelle/apps/oxyd/migrations/0003_auto_20160316_0910.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/passerelle/apps/oxyd/migrations/0004_auto_20160407_0456.py b/passerelle/apps/oxyd/migrations/0004_auto_20160407_0456.py index b1be187f..178af43b 100644 --- a/passerelle/apps/oxyd/migrations/0004_auto_20160407_0456.py +++ b/passerelle/apps/oxyd/migrations/0004_auto_20160407_0456.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/passerelle/apps/oxyd/migrations/0005_oxydsmsgateway_default_trunk_prefix.py b/passerelle/apps/oxyd/migrations/0005_oxydsmsgateway_default_trunk_prefix.py index 4154b5c7..c996cf85 100644 --- a/passerelle/apps/oxyd/migrations/0005_oxydsmsgateway_default_trunk_prefix.py +++ b/passerelle/apps/oxyd/migrations/0005_oxydsmsgateway_default_trunk_prefix.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/passerelle/apps/oxyd/migrations/0009_auto_20210202_1304.py b/passerelle/apps/oxyd/migrations/0009_auto_20210202_1304.py index d7e4d8ac..8bf6fc7c 100644 --- a/passerelle/apps/oxyd/migrations/0009_auto_20210202_1304.py +++ b/passerelle/apps/oxyd/migrations/0009_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/oxyd/models.py b/passerelle/apps/oxyd/models.py index 53844c1e..786ae591 100644 --- a/passerelle/apps/oxyd/models.py +++ b/passerelle/apps/oxyd/models.py @@ -1,11 +1,10 @@ import requests - from django.db import models from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ -from passerelle.utils.jsonresponse import APIError from passerelle.sms.models import SMSResource +from passerelle.utils.jsonresponse import APIError class OxydSMSGateway(SMSResource): diff --git a/passerelle/apps/phonecalls/migrations/0001_initial.py b/passerelle/apps/phonecalls/migrations/0001_initial.py index 1152ea49..6966f633 100644 --- a/passerelle/apps/phonecalls/migrations/0001_initial.py +++ b/passerelle/apps/phonecalls/migrations/0001_initial.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.17 on 2019-01-21 14:14 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/apps/phonecalls/models.py b/passerelle/apps/phonecalls/models.py index fbfffeb6..b471b01e 100644 --- a/passerelle/apps/phonecalls/models.py +++ b/passerelle/apps/phonecalls/models.py @@ -16,11 +16,11 @@ from django.contrib.postgres.fields import JSONField from django.db import models -from django.utils.http import urlencode -from django.utils.timezone import now, timedelta, make_naive -from django.utils.translation import ugettext_lazy as _ from django.http import HttpResponseRedirect from django.shortcuts import render +from django.utils.http import urlencode +from django.utils.timezone import make_naive, now, timedelta +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/photon/models.py b/passerelle/apps/photon/models.py index 9bb7ea5b..48df7b43 100644 --- a/passerelle/apps/photon/models.py +++ b/passerelle/apps/photon/models.py @@ -15,14 +15,14 @@ # along with this program. If not, see . import datetime -from requests import RequestException from django.contrib.postgres.fields import JSONField from django.db import models -from django.utils.http import urlencode -from django.utils.translation import ugettext_lazy as _ from django.utils import timezone +from django.utils.http import urlencode from django.utils.six.moves.urllib import parse as urlparse +from django.utils.translation import ugettext_lazy as _ +from requests import RequestException from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/apps/solis/migrations/0003_auto_20171219_0800.py b/passerelle/apps/solis/migrations/0003_auto_20171219_0800.py index 9795ed35..92fc1dad 100644 --- a/passerelle/apps/solis/migrations/0003_auto_20171219_0800.py +++ b/passerelle/apps/solis/migrations/0003_auto_20171219_0800.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.apps.solis.models diff --git a/passerelle/apps/solis/migrations/0006_solisrsalink.py b/passerelle/apps/solis/migrations/0006_solisrsalink.py index 44db2910..154a9ecb 100644 --- a/passerelle/apps/solis/migrations/0006_solisrsalink.py +++ b/passerelle/apps/solis/migrations/0006_solisrsalink.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.20 on 2019-05-09 07:18 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/passerelle/apps/solis/models.py b/passerelle/apps/solis/models.py index f3d29c16..17646cdd 100644 --- a/passerelle/apps/solis/models.py +++ b/passerelle/apps/solis/models.py @@ -21,14 +21,14 @@ import re from django.db import models from django.template.loader import get_template from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ from django.utils.http import urlencode +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads from passerelle.utils.api import endpoint -from passerelle.utils.jsonresponse import APIError from passerelle.utils.conversion import simplify, to_pdf +from passerelle.utils.jsonresponse import APIError def unflat(flatten_dict, separator='_'): diff --git a/passerelle/apps/sp_fr/fields.py b/passerelle/apps/sp_fr/fields.py index 625cebdd..2a482c3e 100644 --- a/passerelle/apps/sp_fr/fields.py +++ b/passerelle/apps/sp_fr/fields.py @@ -14,9 +14,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from django.core.exceptions import ValidationError -from django.template import engines, TemplateSyntaxError from django import forms +from django.core.exceptions import ValidationError +from django.template import TemplateSyntaxError, engines def validate_django_template(value): diff --git a/passerelle/apps/sp_fr/forms.py b/passerelle/apps/sp_fr/forms.py index e1402369..932409c9 100644 --- a/passerelle/apps/sp_fr/forms.py +++ b/passerelle/apps/sp_fr/forms.py @@ -16,7 +16,7 @@ from django import forms -from . import models, fields +from . import fields, models class MappingForm(forms.ModelForm): diff --git a/passerelle/apps/sp_fr/migrations/0001_initial.py b/passerelle/apps/sp_fr/migrations/0001_initial.py index 13dfd96f..e100b129 100644 --- a/passerelle/apps/sp_fr/migrations/0001_initial.py +++ b/passerelle/apps/sp_fr/migrations/0001_initial.py @@ -2,9 +2,10 @@ # Generated by Django 1.11.20 on 2019-04-19 17:15 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models + import passerelle.apps.sp_fr.models import passerelle.utils.sftp import passerelle.utils.wcs diff --git a/passerelle/apps/sp_fr/models.py b/passerelle/apps/sp_fr/models.py index 5629c819..5d6e4613 100644 --- a/passerelle/apps/sp_fr/models.py +++ b/passerelle/apps/sp_fr/models.py @@ -15,30 +15,30 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import re +import base64 +import collections +import datetime import os +import re import stat import zipfile -import collections -import base64 -import datetime - -from lxml import etree as ET from django.contrib.postgres.fields import JSONField -from django.urls import reverse from django.core.files import File from django.db import models, transaction from django.template import engines +from django.urls import reverse from django.utils import six -from django.utils.translation import ugettext_lazy as _, ugettext +from django.utils.translation import ugettext +from django.utils.translation import ugettext_lazy as _ +from lxml import etree as ET from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint +from passerelle.utils.conversion import normalize from passerelle.utils.sftp import SFTPField from passerelle.utils.wcs import FormDefField, get_wcs_choices from passerelle.utils.xml import text_content -from passerelle.utils.conversion import normalize from .xsd import Schema diff --git a/passerelle/apps/sp_fr/views.py b/passerelle/apps/sp_fr/views.py index 85da27f4..ee6927a9 100644 --- a/passerelle/apps/sp_fr/views.py +++ b/passerelle/apps/sp_fr/views.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.views.generic import UpdateView, CreateView, DeleteView -from django.shortcuts import get_object_or_404 from django.http import HttpResponseRedirect +from django.shortcuts import get_object_or_404 +from django.views.generic import CreateView, DeleteView, UpdateView from passerelle.base.mixins import ResourceChildViewMixin -from . import models, forms +from . import forms, models class StayIfChanged(object): diff --git a/passerelle/apps/sp_fr/xsd.py b/passerelle/apps/sp_fr/xsd.py index 503e722d..481fd658 100644 --- a/passerelle/apps/sp_fr/xsd.py +++ b/passerelle/apps/sp_fr/xsd.py @@ -16,9 +16,8 @@ import datetime -from django.utils import six - import isodate +from django.utils import six from lxml import etree as ET from zeep.utils import qname_attr diff --git a/passerelle/apps/twilio/migrations/0002_auto_20210202_1304.py b/passerelle/apps/twilio/migrations/0002_auto_20210202_1304.py index 0a410cbe..c4f40c56 100644 --- a/passerelle/apps/twilio/migrations/0002_auto_20210202_1304.py +++ b/passerelle/apps/twilio/migrations/0002_auto_20210202_1304.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals import django.contrib.postgres.fields from django.db import migrations, models + import passerelle.sms.models diff --git a/passerelle/apps/twilio/models.py b/passerelle/apps/twilio/models.py index 7bfaf634..1d8898bb 100644 --- a/passerelle/apps/twilio/models.py +++ b/passerelle/apps/twilio/models.py @@ -14,13 +14,12 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . import requests -from requests.auth import HTTPBasicAuth - from django.db import models from django.utils.translation import ugettext_lazy as _ +from requests.auth import HTTPBasicAuth -from passerelle.utils.jsonresponse import APIError from passerelle.sms.models import SMSResource +from passerelle.utils.jsonresponse import APIError class TwilioSMSGateway(SMSResource): diff --git a/passerelle/base/admin.py b/passerelle/base/admin.py index 38bcf0a5..614bd70c 100644 --- a/passerelle/base/admin.py +++ b/passerelle/base/admin.py @@ -15,12 +15,12 @@ # 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 -from .models import ApiUser, AccessRight +from .models import AccessRight, ApiUser @never_cache diff --git a/passerelle/base/forms.py b/passerelle/base/forms.py index 5b94eaec..0360eded 100644 --- a/passerelle/base/forms.py +++ b/passerelle/base/forms.py @@ -1,7 +1,7 @@ from django import forms from django.utils.translation import ugettext_lazy as _ -from .models import ApiUser, AccessRight, AvailabilityParameters +from .models import AccessRight, ApiUser, AvailabilityParameters class ApiUserForm(forms.ModelForm): diff --git a/passerelle/base/management/commands/cron.py b/passerelle/base/management/commands/cron.py index 34b89c3c..f1094cd9 100644 --- a/passerelle/base/management/commands/cron.py +++ b/passerelle/base/management/commands/cron.py @@ -15,10 +15,11 @@ # along with this program. If not, see . from __future__ import print_function + import traceback -from django.core.management.base import BaseCommand, CommandError from django.conf import settings +from django.core.management.base import BaseCommand, CommandError from passerelle.views import get_all_apps diff --git a/passerelle/base/management/commands/ensure_jsonb.py b/passerelle/base/management/commands/ensure_jsonb.py index 1d7fed1b..d5fb4d02 100644 --- a/passerelle/base/management/commands/ensure_jsonb.py +++ b/passerelle/base/management/commands/ensure_jsonb.py @@ -15,8 +15,8 @@ # along with this program. If not, see . from django.apps import apps -from django.core.management.base import BaseCommand, CommandError from django.contrib.postgres.fields import JSONField +from django.core.management.base import BaseCommand, CommandError from django.db import connection diff --git a/passerelle/base/migrations/0001_initial.py b/passerelle/base/migrations/0001_initial.py index 7160fb49..09ff8a79 100644 --- a/passerelle/base/migrations/0001_initial.py +++ b/passerelle/base/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/passerelle/base/migrations/0002_auto_20151009_0326.py b/passerelle/base/migrations/0002_auto_20151009_0326.py index 4386433a..979da986 100644 --- a/passerelle/base/migrations/0002_auto_20151009_0326.py +++ b/passerelle/base/migrations/0002_auto_20151009_0326.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/passerelle/base/migrations/0003_auto_20170116_1656.py b/passerelle/base/migrations/0003_auto_20170116_1656.py index 7f8e8ba7..0cc2c7a4 100644 --- a/passerelle/base/migrations/0003_auto_20170116_1656.py +++ b/passerelle/base/migrations/0003_auto_20170116_1656.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/passerelle/base/migrations/0004_auto_20170117_0326.py b/passerelle/base/migrations/0004_auto_20170117_0326.py index 9c4d4281..acefbed7 100644 --- a/passerelle/base/migrations/0004_auto_20170117_0326.py +++ b/passerelle/base/migrations/0004_auto_20170117_0326.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/passerelle/base/migrations/0005_resourcelog.py b/passerelle/base/migrations/0005_resourcelog.py index 4775831b..a48f0e83 100644 --- a/passerelle/base/migrations/0005_resourcelog.py +++ b/passerelle/base/migrations/0005_resourcelog.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/base/migrations/0007_loggingparameters.py b/passerelle/base/migrations/0007_loggingparameters.py index 3981731e..a8eb96d5 100644 --- a/passerelle/base/migrations/0007_loggingparameters.py +++ b/passerelle/base/migrations/0007_loggingparameters.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.12 on 2018-11-18 13:16 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/passerelle/base/migrations/0011_auto_20190205_1126.py b/passerelle/base/migrations/0011_auto_20190205_1126.py index 9b1a20ee..2a3609e7 100644 --- a/passerelle/base/migrations/0011_auto_20190205_1126.py +++ b/passerelle/base/migrations/0011_auto_20190205_1126.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.17 on 2019-02-05 10:26 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/passerelle/base/migrations/0012_job.py b/passerelle/base/migrations/0012_job.py index 5be1de1d..44f24a80 100644 --- a/passerelle/base/migrations/0012_job.py +++ b/passerelle/base/migrations/0012_job.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.12 on 2019-02-20 09:00 from __future__ import unicode_literals -from django.db import migrations, models -import django.db.models.deletion import django.contrib.postgres.fields.jsonb +import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/base/migrations/0014_auto_20190820_0914.py b/passerelle/base/migrations/0014_auto_20190820_0914.py index 89724bdc..9ec570c5 100644 --- a/passerelle/base/migrations/0014_auto_20190820_0914.py +++ b/passerelle/base/migrations/0014_auto_20190820_0914.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.base.models diff --git a/passerelle/base/migrations/0015_auto_20190921_0347.py b/passerelle/base/migrations/0015_auto_20190921_0347.py index db7ab742..2a09a4fc 100644 --- a/passerelle/base/migrations/0015_auto_20190921_0347.py +++ b/passerelle/base/migrations/0015_auto_20190921_0347.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.base.models diff --git a/passerelle/base/migrations/0017_auto_20200310_1806.py b/passerelle/base/migrations/0017_auto_20200310_1806.py index 96d7a04a..508699d0 100644 --- a/passerelle/base/migrations/0017_auto_20200310_1806.py +++ b/passerelle/base/migrations/0017_auto_20200310_1806.py @@ -2,8 +2,9 @@ # Generated by Django 1.11.18 on 2020-03-10 17:06 from __future__ import unicode_literals -from django.db import migrations, models import django.contrib.postgres.fields.jsonb +from django.db import migrations, models + import passerelle.base.models diff --git a/passerelle/base/models.py b/passerelle/base/models.py index c35f9445..e6628880 100644 --- a/passerelle/base/models.py +++ b/passerelle/base/models.py @@ -1,45 +1,43 @@ +import base64 import collections import copy import datetime import inspect +import itertools import logging import os import re import sys import traceback -import base64 -import itertools import uuid from django import VERSION from django.apps import apps from django.conf import settings -from django.contrib.postgres.fields import JSONField, ArrayField -from django.core.exceptions import ValidationError, PermissionDenied -from django.urls import reverse +from django.contrib.contenttypes import fields +from django.contrib.contenttypes.models import ContentType +from django.contrib.postgres.fields import ArrayField, JSONField +from django.core.exceptions import PermissionDenied, ValidationError +from django.core.files.base import ContentFile from django.db import connection, models, transaction from django.db.models import Q from django.forms.models import modelform_factory from django.forms.widgets import ClearableFileInput from django.test import override_settings -from django.utils.text import slugify -from django.utils import timezone, six +from django.urls import reverse +from django.utils import six, timezone from django.utils.encoding import force_text from django.utils.six.moves.urllib.parse import urlparse -from django.utils.translation import ugettext_lazy as _ +from django.utils.text import slugify from django.utils.timezone import now -from django.core.files.base import ContentFile - -from django.contrib.contenttypes.models import ContentType -from django.contrib.contenttypes import fields - +from django.utils.translation import ugettext_lazy as _ from model_utils.managers import InheritanceManager as ModelUtilsInheritanceManager import passerelle from passerelle.forms import GenericConnectorForm from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError -from passerelle.utils.sftp import SFTPField, SFTP +from passerelle.utils.sftp import SFTP, SFTPField KEYTYPE_CHOICES = ( ('API', _('API Key')), diff --git a/passerelle/base/signature.py b/passerelle/base/signature.py index 30b936f3..63b4a126 100644 --- a/passerelle/base/signature.py +++ b/passerelle/base/signature.py @@ -1,7 +1,7 @@ -import datetime import base64 -import hmac +import datetime import hashlib +import hmac import random from django.utils import six @@ -9,7 +9,6 @@ from django.utils.encoding import smart_bytes from django.utils.http import quote, urlencode from django.utils.six.moves.urllib import parse as urlparse - '''Simple signature scheme for query strings''' # from http://git.entrouvert.org/hobo.git/tree/hobo/signature.py diff --git a/passerelle/base/templatetags/passerelle.py b/passerelle/base/templatetags/passerelle.py index 38207f53..10c9f715 100644 --- a/passerelle/base/templatetags/passerelle.py +++ b/passerelle/base/templatetags/passerelle.py @@ -22,14 +22,15 @@ import json import re from django import template -from django.utils.html import mark_safe, format_html -from django.utils.translation import ugettext as _ -from django.contrib.contenttypes.models import ContentType from django.contrib.auth import get_permission_codename -from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger +from django.contrib.contenttypes.models import ContentType +from django.core.paginator import EmptyPage, PageNotAnInteger, Paginator from django.template.defaultfilters import stringfilter +from django.utils.html import format_html, mark_safe +from django.utils.translation import ugettext as _ from passerelle.utils import get_trusted_services + from ..models import AccessRight, ResourceLog register = template.Library() diff --git a/passerelle/base/urls.py b/passerelle/base/urls.py index 0e1cd429..eb76199d 100644 --- a/passerelle/base/urls.py +++ b/passerelle/base/urls.py @@ -1,16 +1,16 @@ from django.conf.urls import url from .views import ( + AccessRightCreateView, + AccessRightDeleteView, ApiUserCreateView, - ApiUserUpdateView, ApiUserDeleteView, ApiUserListView, - AccessRightDeleteView, - AccessRightCreateView, + ApiUserUpdateView, + ExportSiteView, + ImportSiteView, LoggingParametersUpdateView, ManageAvailabilityView, - ImportSiteView, - ExportSiteView, ) access_urlpatterns = [ diff --git a/passerelle/base/views.py b/passerelle/base/views.py index 3eee2a57..db568bfa 100644 --- a/passerelle/base/views.py +++ b/passerelle/base/views.py @@ -18,25 +18,24 @@ import datetime import json from dateutil import parser as date_parser - from django.conf import settings from django.contrib.contenttypes.models import ContentType -from django.urls import reverse from django.core.exceptions import ObjectDoesNotExist, PermissionDenied from django.db.models import Q from django.forms import models as model_forms -from django.views.generic import View, DetailView, ListView, CreateView, UpdateView, DeleteView, FormView from django.http import Http404, HttpResponse, HttpResponseRedirect from django.shortcuts import get_object_or_404 +from django.urls import reverse from django.utils.timezone import make_aware from django.utils.translation import ugettext_lazy as _ +from django.views.generic import CreateView, DeleteView, DetailView, FormView, ListView, UpdateView, View from passerelle.compat import json_loads -from .models import ApiUser, AccessRight, LoggingParameters, ResourceStatus, Job -from .forms import ApiUserForm, AccessRightForm, AvailabilityParametersForm, ImportSiteForm +from ..utils import export_site, get_trusted_services, import_site from ..views import GenericConnectorMixin -from ..utils import get_trusted_services, import_site, export_site +from .forms import AccessRightForm, ApiUserForm, AvailabilityParametersForm, ImportSiteForm +from .models import AccessRight, ApiUser, Job, LoggingParameters, ResourceStatus class ResourceView(DetailView): diff --git a/passerelle/contrib/dpark/models.py b/passerelle/contrib/dpark/models.py index 73be9cf1..12c93e23 100644 --- a/passerelle/contrib/dpark/models.py +++ b/passerelle/contrib/dpark/models.py @@ -16,25 +16,23 @@ from __future__ import unicode_literals -import datetime import base64 +import datetime import pytz - from django.conf import settings +from django.core.cache import cache from django.db import models from django.utils import six, timezone from django.utils.translation import ugettext_lazy as _ -from django.core.cache import cache - from zeep.exceptions import Fault as WebFault from zeep.helpers import serialize_object from passerelle.base.models import BaseResource from passerelle.compat import json_loads from passerelle.utils.api import endpoint -from passerelle.utils.jsonresponse import APIError from passerelle.utils.conversion import to_pdf +from passerelle.utils.jsonresponse import APIError from passerelle.views import WrongParameter diff --git a/passerelle/contrib/fake_family/default_database.py b/passerelle/contrib/fake_family/default_database.py index a49d081e..adbca6f3 100644 --- a/passerelle/contrib/fake_family/default_database.py +++ b/passerelle/contrib/fake_family/default_database.py @@ -16,9 +16,9 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from datetime import datetime, timedelta -import random import json +import random +from datetime import datetime, timedelta from passerelle.contrib.fake_family import randomnames diff --git a/passerelle/contrib/fake_family/migrations/0001_initial.py b/passerelle/contrib/fake_family/migrations/0001_initial.py index 54c9c8a8..f602437e 100644 --- a/passerelle/contrib/fake_family/migrations/0001_initial.py +++ b/passerelle/contrib/fake_family/migrations/0001_initial.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/contrib/fake_family/migrations/0002_fakefamily_log_level.py b/passerelle/contrib/fake_family/migrations/0002_fakefamily_log_level.py index b5799d32..b1ce7bac 100644 --- a/passerelle/contrib/fake_family/migrations/0002_fakefamily_log_level.py +++ b/passerelle/contrib/fake_family/migrations/0002_fakefamily_log_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/passerelle/contrib/fake_family/models.py b/passerelle/contrib/fake_family/models.py index cfaed264..61f1cec5 100644 --- a/passerelle/contrib/fake_family/models.py +++ b/passerelle/contrib/fake_family/models.py @@ -15,11 +15,12 @@ # along with this program. If not, see . from django.contrib.postgres.fields import JSONField +from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist from django.urls import reverse from django.utils.translation import ugettext_lazy as _ -from django.core.exceptions import ObjectDoesNotExist, MultipleObjectsReturned from passerelle.base.models import BaseResource + from .default_database import default_database diff --git a/passerelle/contrib/gdema/models.py b/passerelle/contrib/gdema/models.py index 0411052c..f4289a47 100644 --- a/passerelle/contrib/gdema/models.py +++ b/passerelle/contrib/gdema/models.py @@ -19,9 +19,9 @@ import json import re from django.db import models -from django.utils.timezone import get_fixed_timezone, utc, is_naive, make_aware from django.utils.dateparse import parse_date, parse_datetime from django.utils.six import string_types +from django.utils.timezone import get_fixed_timezone, is_naive, make_aware, utc from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource diff --git a/passerelle/contrib/greco/models.py b/passerelle/contrib/greco/models.py index ced9bfd4..33fe19d7 100644 --- a/passerelle/contrib/greco/models.py +++ b/passerelle/contrib/greco/models.py @@ -15,28 +15,25 @@ import base64 import re - from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.mime.text import MIMEText -from suds.client import Client -from suds.transport import Reply -from suds.transport.http import HttpAuthenticated import suds.sudsobject - +from django.core.cache import cache from django.db import models from django.utils import six from django.utils.translation import ugettext_lazy as _ -from django.core.cache import cache +from suds.client import Client +from suds.transport import Reply +from suds.transport.http import HttpAuthenticated from passerelle.base.models import BaseResource from passerelle.compat import json_loads -from passerelle.utils.api import endpoint, APIError from passerelle.soap import sudsobject_to_dict +from passerelle.utils.api import APIError, endpoint -from .formdata import FormData, CREATION_SCHEMA, list_schema_fields - +from .formdata import CREATION_SCHEMA, FormData, list_schema_fields # taken from https://lsimons.wordpress.com/2011/03/17/stripping-illegal-characters-out-of-xml-in-python/ _illegal_xml_chars_RE = re.compile(u'[\x00-\x08\x0b\x0c\x0e-\x1F\uD800-\uDFFF\uFFFE\uFFFF]') diff --git a/passerelle/contrib/grenoble_gru/models.py b/passerelle/contrib/grenoble_gru/models.py index 82d191f4..34711282 100644 --- a/passerelle/contrib/grenoble_gru/models.py +++ b/passerelle/contrib/grenoble_gru/models.py @@ -14,15 +14,14 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from lxml import etree - from django.core.cache import cache from django.db import models -from django.utils.translation import ugettext_lazy as _ from django.utils import dateparse from django.utils.http import urlencode -from django.utils.text import slugify from django.utils.six.moves.urllib import parse as urlparse +from django.utils.text import slugify +from django.utils.translation import ugettext_lazy as _ +from lxml import etree from passerelle.base.models import BaseResource from passerelle.compat import json_loads @@ -30,7 +29,6 @@ from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError from passerelle.views import WrongParameter - RESPONSE_CODES = { '01': _('Success'), '02': _('Remote service error'), diff --git a/passerelle/contrib/iparapheur/migrations/0001_initial.py b/passerelle/contrib/iparapheur/migrations/0001_initial.py index c3c10c99..e7d618cb 100644 --- a/passerelle/contrib/iparapheur/migrations/0001_initial.py +++ b/passerelle/contrib/iparapheur/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/passerelle/contrib/iparapheur/migrations/0002_auto_20160406_1123.py b/passerelle/contrib/iparapheur/migrations/0002_auto_20160406_1123.py index 04599a26..3e6703e9 100644 --- a/passerelle/contrib/iparapheur/migrations/0002_auto_20160406_1123.py +++ b/passerelle/contrib/iparapheur/migrations/0002_auto_20160406_1123.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/passerelle/contrib/iparapheur/migrations/0003_iparapheur_log_level.py b/passerelle/contrib/iparapheur/migrations/0003_iparapheur_log_level.py index 7a46889a..f7d5c134 100644 --- a/passerelle/contrib/iparapheur/migrations/0003_iparapheur_log_level.py +++ b/passerelle/contrib/iparapheur/migrations/0003_iparapheur_log_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/passerelle/contrib/iparapheur/models.py b/passerelle/contrib/iparapheur/models.py index fa5a1a02..30bcc9b3 100644 --- a/passerelle/contrib/iparapheur/models.py +++ b/passerelle/contrib/iparapheur/models.py @@ -15,22 +15,21 @@ # along with this program. If not, see . import base64 -from requests.exceptions import ConnectionError from django.db import models +from django.http import Http404, HttpResponse from django.utils.encoding import force_text from django.utils.six.moves.urllib import parse from django.utils.text import slugify from django.utils.translation import ugettext_lazy as _ -from django.http import HttpResponse, Http404 - +from requests.exceptions import ConnectionError from zeep import Settings -from zeep.exceptions import Fault as WebFault, TransportError, XMLSyntaxError +from zeep.exceptions import Fault as WebFault +from zeep.exceptions import TransportError, XMLSyntaxError from passerelle.base.models import BaseResource, HTTPResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - CREATE_FILE_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', 'title': 'Iparapheur create file', diff --git a/passerelle/contrib/isere_ens/models.py b/passerelle/contrib/isere_ens/models.py index 6a86af8e..1470fe5d 100644 --- a/passerelle/contrib/isere_ens/models.py +++ b/passerelle/contrib/isere_ens/models.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 collections import OrderedDict import datetime +from collections import OrderedDict from django.core.cache import cache from django.db import models @@ -23,11 +23,10 @@ from django.utils.formats import date_format from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ +from passerelle.base.models import BaseResource, HTTPResource +from passerelle.utils.api import endpoint from passerelle.utils.conversion import simplify from passerelle.utils.jsonresponse import APIError -from passerelle.utils.api import endpoint -from passerelle.base.models import BaseResource, HTTPResource - SITE_BOOKING_SCHOOL_SCHEMA = { "$schema": "http://json-schema.org/draft-04/schema#", diff --git a/passerelle/contrib/iws/models.py b/passerelle/contrib/iws/models.py index 5ed3dbdb..6e07b722 100644 --- a/passerelle/contrib/iws/models.py +++ b/passerelle/contrib/iws/models.py @@ -14,21 +14,20 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from datetime import datetime import json +from datetime import datetime +import lxml.etree +import pkg_resources from django.db import models from django.utils import dateformat from django.utils.translation import ugettext_lazy as _ -import lxml.etree -import pkg_resources from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint from passerelle.utils.conversion import any2bool from passerelle.utils.jsonresponse import APIError - TYPE_AGENDA = {"DECHET": "DECHETS VERTS", "ENCOMBRANT": "ENCOMBRANTS"} C_TYPEPB = {"DECHET": "8006", "ENCOMBRANT": "8008"} SYNDIC_C_TYPEPB = {"DECHET": "8007", "ENCOMBRANT": "8009"} diff --git a/passerelle/contrib/lille_kimoce/models.py b/passerelle/contrib/lille_kimoce/models.py index 3e57697f..ba873fc4 100644 --- a/passerelle/contrib/lille_kimoce/models.py +++ b/passerelle/contrib/lille_kimoce/models.py @@ -15,17 +15,16 @@ # along with this program. If not, see . -from django.db import models -from django.utils.translation import ugettext_lazy as _ -from django.utils.six.moves.urllib_parse import urljoin from django.core.cache import cache +from django.db import models +from django.utils.six.moves.urllib_parse import urljoin +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint from passerelle.utils.http_authenticators import HttpBearerAuth from passerelle.utils.jsonresponse import APIError - DEMAND_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', 'title': 'KIMOCE', diff --git a/passerelle/contrib/mdph13/migrations/0001_initial.py b/passerelle/contrib/mdph13/migrations/0001_initial.py index 9db03fef..98d5c826 100644 --- a/passerelle/contrib/mdph13/migrations/0001_initial.py +++ b/passerelle/contrib/mdph13/migrations/0001_initial.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.10 on 2019-02-15 09: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/passerelle/contrib/mdph13/models.py b/passerelle/contrib/mdph13/models.py index 8bb01a95..dbeff402 100644 --- a/passerelle/contrib/mdph13/models.py +++ b/passerelle/contrib/mdph13/models.py @@ -20,16 +20,15 @@ import datetime import re import requests - from django.db import models, transaction -from django.utils import six, dateparse +from django.utils import dateparse, six from django.utils.six.moves.urllib import parse as urlparse -from django.utils.translation import ugettext_lazy as _ from django.utils.timezone import now +from django.utils.translation import ugettext_lazy as _ -from passerelle.utils.jsonresponse import APIError, to_json -from passerelle.utils.api import endpoint from passerelle.base.models import BaseResource, HTTPResource +from passerelle.utils.api import endpoint +from passerelle.utils.jsonresponse import APIError, to_json def json_walker(value, func, path=None): diff --git a/passerelle/contrib/nancypoll/migrations/0001_initial.py b/passerelle/contrib/nancypoll/migrations/0001_initial.py index af6a87b1..46c72cfd 100644 --- a/passerelle/contrib/nancypoll/migrations/0001_initial.py +++ b/passerelle/contrib/nancypoll/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/passerelle/contrib/nancypoll/migrations/0004_csv_upload_to.py b/passerelle/contrib/nancypoll/migrations/0004_csv_upload_to.py index 76240f88..42ad0507 100644 --- a/passerelle/contrib/nancypoll/migrations/0004_csv_upload_to.py +++ b/passerelle/contrib/nancypoll/migrations/0004_csv_upload_to.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from django.db import migrations, models + import passerelle.contrib.nancypoll.models diff --git a/passerelle/contrib/nancypoll/migrations/0005_csv_upload_to.py b/passerelle/contrib/nancypoll/migrations/0005_csv_upload_to.py index 101c85a3..5393cfa8 100644 --- a/passerelle/contrib/nancypoll/migrations/0005_csv_upload_to.py +++ b/passerelle/contrib/nancypoll/migrations/0005_csv_upload_to.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import os from django.db import migrations diff --git a/passerelle/contrib/nancypoll/models.py b/passerelle/contrib/nancypoll/models.py index 5911fd61..27a724cd 100644 --- a/passerelle/contrib/nancypoll/models.py +++ b/passerelle/contrib/nancypoll/models.py @@ -1,7 +1,7 @@ import csv -from django.db import models from django.core.exceptions import ObjectDoesNotExist +from django.db import models from django.utils import six from django.utils.encoding import force_text from django.utils.translation import ugettext_lazy as _ @@ -10,7 +10,6 @@ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - COLUMN_NAMES = ( 'street_start_number, street_end_number,,,street_side,,,,code,id,text,address,,,street_name,,canton,,,' ) diff --git a/passerelle/contrib/planitech/migrations/0002_planitechconnector_custom_fields.py b/passerelle/contrib/planitech/migrations/0002_planitechconnector_custom_fields.py index 322505ee..8e4ab1d3 100644 --- a/passerelle/contrib/planitech/migrations/0002_planitechconnector_custom_fields.py +++ b/passerelle/contrib/planitech/migrations/0002_planitechconnector_custom_fields.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.17 on 2019-01-08 11:22 from __future__ import unicode_literals -from django.db import migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations class Migration(migrations.Migration): diff --git a/passerelle/contrib/planitech/migrations/0003_pairing.py b/passerelle/contrib/planitech/migrations/0003_pairing.py index d900410c..a1f3de38 100644 --- a/passerelle/contrib/planitech/migrations/0003_pairing.py +++ b/passerelle/contrib/planitech/migrations/0003_pairing.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.17 on 2019-01-10 11:08 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/passerelle/contrib/planitech/models.py b/passerelle/contrib/planitech/models.py index 253eb2d2..46bd5651 100644 --- a/passerelle/contrib/planitech/models.py +++ b/passerelle/contrib/planitech/models.py @@ -15,17 +15,16 @@ # along with this program. If not, see . import collections -from datetime import date, datetime, time, timedelta import hashlib import json import re import uuid +from datetime import date, datetime, time, timedelta from django.contrib.postgres.fields import JSONField from django.core.cache import cache from django.db import models, transaction -from django.utils import dateformat -from django.utils import dateparse +from django.utils import dateformat, dateparse from django.utils.encoding import force_bytes from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ @@ -36,7 +35,6 @@ from passerelle.contrib.planitech import mste from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - DEFAULT_MIN_CAPACITY = 0 DEFAULT_MAX_CAPACITY = 100000 diff --git a/passerelle/contrib/planitech/mste.py b/passerelle/contrib/planitech/mste.py index e2679a5f..188f031d 100644 --- a/passerelle/contrib/planitech/mste.py +++ b/passerelle/contrib/planitech/mste.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 datetime import datetime import calendar +from datetime import datetime from django.utils import six - ENCODE_TOKENS = { 'integer': 16, 'real': 19, diff --git a/passerelle/contrib/rsa13/models.py b/passerelle/contrib/rsa13/models.py index 5dd3ea20..47a58910 100644 --- a/passerelle/contrib/rsa13/models.py +++ b/passerelle/contrib/rsa13/models.py @@ -19,11 +19,10 @@ import csv from urllib.parse import urljoin import requests - from django.db import models from django.http import HttpResponse -from django.utils.translation import ugettext_lazy as _ from django.utils.timezone import now +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource, HTTPResource from passerelle.utils.api import endpoint diff --git a/passerelle/contrib/sigerly/models.py b/passerelle/contrib/sigerly/models.py index dffc09bc..544a90c3 100644 --- a/passerelle/contrib/sigerly/models.py +++ b/passerelle/contrib/sigerly/models.py @@ -23,7 +23,6 @@ from passerelle.base.models import BaseResource, HTTPResource from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - CREATE_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', "type": "object", diff --git a/passerelle/contrib/solis_apa/migrations/0001_initial.py b/passerelle/contrib/solis_apa/migrations/0001_initial.py index f914a626..ec8c1ec3 100644 --- a/passerelle/contrib/solis_apa/migrations/0001_initial.py +++ b/passerelle/contrib/solis_apa/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/passerelle/contrib/solis_apa/models.py b/passerelle/contrib/solis_apa/models.py index b2deb1b4..2b06a542 100644 --- a/passerelle/contrib/solis_apa/models.py +++ b/passerelle/contrib/solis_apa/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 re import json +import re -from django.db import models from django.core.cache import cache -from django.urls import reverse from django.db import models +from django.http import HttpResponse +from django.urls import reverse from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ -from django.http import HttpResponse from passerelle.base.models import BaseResource from passerelle.compat import json_loads -from passerelle.contrib.solis_apa import conciliation, suivi, integration +from passerelle.contrib.solis_apa import conciliation, integration, suivi from passerelle.utils.jsonresponse import APIError HEADERS = {'Accept': 'application/json', 'Content-Type': 'application/json'} diff --git a/passerelle/contrib/solis_apa/suivi.py b/passerelle/contrib/solis_apa/suivi.py index d1a9ba68..195ac2a5 100644 --- a/passerelle/contrib/solis_apa/suivi.py +++ b/passerelle/contrib/solis_apa/suivi.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 . -import json import datetime +import json PAYLOAD = { "visite": {}, diff --git a/passerelle/contrib/solis_apa/views.py b/passerelle/contrib/solis_apa/views.py index 0882e19b..5ecd0f2b 100644 --- a/passerelle/contrib/solis_apa/views.py +++ b/passerelle/contrib/solis_apa/views.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.views.generic import DetailView as GenericDetailView, View -from django.views.generic.detail import SingleObjectMixin from django.utils.decorators import method_decorator -from django.views.decorators.csrf import csrf_exempt from django.utils.translation import ugettext_lazy as _ +from django.views.decorators.csrf import csrf_exempt +from django.views.generic import DetailView as GenericDetailView +from django.views.generic import View +from django.views.generic.detail import SingleObjectMixin import passerelle.utils as utils diff --git a/passerelle/contrib/strasbourg_eu/models.py b/passerelle/contrib/strasbourg_eu/models.py index 0b8761fb..4c676361 100644 --- a/passerelle/contrib/strasbourg_eu/models.py +++ b/passerelle/contrib/strasbourg_eu/models.py @@ -20,12 +20,11 @@ from django.db import models from django.utils.encoding import force_text from django.utils.six.moves.urllib import parse as urlparse from django.utils.translation import ugettext_lazy as _ - from requests import RequestException from passerelle.base.models import BaseResource from passerelle.compat import json_loads -from passerelle.utils.api import endpoint, APIError +from passerelle.utils.api import APIError, endpoint class StrasbourgEu(BaseResource): diff --git a/passerelle/contrib/stub_invoices/models.py b/passerelle/contrib/stub_invoices/models.py index 4bfecea9..160ad008 100644 --- a/passerelle/contrib/stub_invoices/models.py +++ b/passerelle/contrib/stub_invoices/models.py @@ -15,12 +15,12 @@ # along with this program. If not, see . import datetime -from decimal import Decimal import random +from decimal import Decimal from django.http import HttpResponse -from django.utils.translation import ugettext_lazy as _ from django.utils import timezone +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/contrib/tcl/models.py b/passerelle/contrib/tcl/models.py index bed7423c..e214765e 100644 --- a/passerelle/contrib/tcl/models.py +++ b/passerelle/contrib/tcl/models.py @@ -18,8 +18,8 @@ import re from django.conf import settings from django.db import models, transaction -from django.utils.translation import ugettext_lazy as _ from django.utils import timezone +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.utils.api import endpoint diff --git a/passerelle/contrib/teamnet_axel/migrations/0001_initial.py b/passerelle/contrib/teamnet_axel/migrations/0001_initial.py index 71522529..734cad6b 100644 --- a/passerelle/contrib/teamnet_axel/migrations/0001_initial.py +++ b/passerelle/contrib/teamnet_axel/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/passerelle/contrib/teamnet_axel/migrations/0002_management_billing_regies.py b/passerelle/contrib/teamnet_axel/migrations/0002_management_billing_regies.py index e63a1ae0..da504a9f 100644 --- a/passerelle/contrib/teamnet_axel/migrations/0002_management_billing_regies.py +++ b/passerelle/contrib/teamnet_axel/migrations/0002_management_billing_regies.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations import django.contrib.postgres.fields.jsonb +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/passerelle/contrib/teamnet_axel/migrations/0003_management_log_level.py b/passerelle/contrib/teamnet_axel/migrations/0003_management_log_level.py index 041180d3..a89d0634 100644 --- a/passerelle/contrib/teamnet_axel/migrations/0003_management_log_level.py +++ b/passerelle/contrib/teamnet_axel/migrations/0003_management_log_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/passerelle/contrib/teamnet_axel/models.py b/passerelle/contrib/teamnet_axel/models.py index 13531f6b..06b07706 100644 --- a/passerelle/contrib/teamnet_axel/models.py +++ b/passerelle/contrib/teamnet_axel/models.py @@ -15,15 +15,15 @@ # along with this program. If not, see . import base64 -from datetime import datetime import logging import xml.etree.ElementTree as ET +from datetime import datetime from django.contrib.postgres.fields import JSONField from django.db import models from django.http import HttpResponse, HttpResponseNotFound -from django.utils.translation import ugettext_lazy as _ from django.utils.encoding import smart_text +from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads @@ -33,7 +33,7 @@ from passerelle.utils.jsonresponse import APIError from passerelle.views import WrongParameter from . import soap -from .utils import normalize_person, normalize_invoice +from .utils import normalize_invoice, normalize_person logger = logging.getLogger('passerelle.contrib.teamnet_axel') diff --git a/passerelle/contrib/teamnet_axel/soap.py b/passerelle/contrib/teamnet_axel/soap.py index 973e9880..ff98786c 100644 --- a/passerelle/contrib/teamnet_axel/soap.py +++ b/passerelle/contrib/teamnet_axel/soap.py @@ -18,9 +18,9 @@ # and https://docs.oracle.com/cd/E50245_01/E50253/html/vmprg-soap-example-authentication-python.html from django.utils.six import BytesIO -from suds.transport.http import HttpAuthenticated -from suds.transport import Reply from suds.client import Client +from suds.transport import Reply +from suds.transport.http import HttpAuthenticated class Transport(HttpAuthenticated): diff --git a/passerelle/contrib/toulouse_axel/migrations/0001_initial.py b/passerelle/contrib/toulouse_axel/migrations/0001_initial.py index 1efd439c..a884f1e4 100644 --- a/passerelle/contrib/toulouse_axel/migrations/0001_initial.py +++ b/passerelle/contrib/toulouse_axel/migrations/0001_initial.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/passerelle/contrib/toulouse_axel/migrations/0003_auto_20191205_0948.py b/passerelle/contrib/toulouse_axel/migrations/0003_auto_20191205_0948.py index 8d64115e..36560266 100644 --- a/passerelle/contrib/toulouse_axel/migrations/0003_auto_20191205_0948.py +++ b/passerelle/contrib/toulouse_axel/migrations/0003_auto_20191205_0948.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/passerelle/contrib/toulouse_axel/models.py b/passerelle/contrib/toulouse_axel/models.py index b5397947..6f89d863 100644 --- a/passerelle/contrib/toulouse_axel/models.py +++ b/passerelle/contrib/toulouse_axel/models.py @@ -28,11 +28,11 @@ from django.utils.translation import ugettext_lazy as _ from passerelle.base.models import BaseResource from passerelle.compat import json_loads +from passerelle.contrib.utils import axel from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError -from . import schemas -from . import utils -from passerelle.contrib.utils import axel + +from . import schemas, utils logger = logging.getLogger('passerelle.contrib.toulouse_axel') diff --git a/passerelle/contrib/toulouse_axel/utils.py b/passerelle/contrib/toulouse_axel/utils.py index 8791b930..190bea80 100644 --- a/passerelle/contrib/toulouse_axel/utils.py +++ b/passerelle/contrib/toulouse_axel/utils.py @@ -17,14 +17,13 @@ from __future__ import unicode_literals -from collections import OrderedDict import datetime +from collections import OrderedDict from django.utils.six import string_types from passerelle.utils.conversion import normalize - situation_familiale_mapping = OrderedDict( [ ('C', 'Célibataire'), diff --git a/passerelle/contrib/utils/axel.py b/passerelle/contrib/utils/axel.py index daa76ef4..ed85e3c1 100644 --- a/passerelle/contrib/utils/axel.py +++ b/passerelle/contrib/utils/axel.py @@ -23,14 +23,11 @@ import xml.etree.ElementTree as ET from collections import namedtuple import pytz - +import xmlschema from django.utils.encoding import force_text -import xmlschema - from passerelle.utils.xml import JSONSchemaFromXMLSchema - boolean_type = { 'oneOf': [ {'type': 'boolean'}, diff --git a/passerelle/plugins.py b/passerelle/plugins.py index 64bfb7f6..828da858 100644 --- a/passerelle/plugins.py +++ b/passerelle/plugins.py @@ -17,7 +17,7 @@ from django.apps import apps from django.conf.urls import include, url -from .urls_utils import decorated_includes, required, app_enabled, manager_required +from .urls_utils import app_enabled, decorated_includes, manager_required, required def register_apps_urls(urlpatterns): diff --git a/passerelle/settings.py b/passerelle/settings.py index 0d7d233c..21620397 100644 --- a/passerelle/settings.py +++ b/passerelle/settings.py @@ -1,8 +1,9 @@ # Django default settings for passerelle project. -from django.conf import global_settings -import os import logging +import os + +from django.conf import global_settings try: from logging.handlers import NullHandler diff --git a/passerelle/sms/models.py b/passerelle/sms/models.py index 7df1c86e..1cb3489a 100644 --- a/passerelle/sms/models.py +++ b/passerelle/sms/models.py @@ -28,7 +28,6 @@ from passerelle.sms.forms import SMSConnectorForm from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError - SEND_SCHEMA = { '$schema': 'http://json-schema.org/draft-04/schema#', "type": "object", diff --git a/passerelle/soap.py b/passerelle/soap.py index 5c011f9f..b9cc99fd 100644 --- a/passerelle/soap.py +++ b/passerelle/soap.py @@ -1,5 +1,5 @@ -from django.utils.encoding import force_text import suds.sudsobject +from django.utils.encoding import force_text def client_to_jsondict(client): diff --git a/passerelle/urls.py b/passerelle/urls.py index 2f8a87bd..1923ae30 100644 --- a/passerelle/urls.py +++ b/passerelle/urls.py @@ -1,34 +1,31 @@ from django.conf import settings from django.conf.urls import include, url - from django.contrib import admin - from django.contrib.auth.decorators import login_required from django.contrib.staticfiles.urls import staticfiles_urlpatterns from django.views.static import serve as static_serve from .api.urls import urlpatterns as api_urls +from .base.urls import access_urlpatterns, import_export_urlpatterns +from .base.views import GenericJobView, GenericRestartJobView, GenericViewJobsConnectorView +from .plugins import register_apps_urls +from .urls_utils import decorated_includes, manager_required from .views import ( - HomePageView, - ManageView, - ManageAddView, + GenericConnectorView, GenericCreateConnectorView, GenericDeleteConnectorView, GenericEditConnectorView, GenericEndpointView, - GenericConnectorView, - GenericViewLogsConnectorView, - GenericLogView, GenericExportConnectorView, + GenericLogView, + GenericViewLogsConnectorView, + HomePageView, + ManageAddView, + ManageView, login, logout, menu_json, ) -from .base.views import GenericViewJobsConnectorView, GenericJobView, GenericRestartJobView -from .urls_utils import decorated_includes, manager_required -from .base.urls import access_urlpatterns, import_export_urlpatterns -from .plugins import register_apps_urls - admin.autodiscover() diff --git a/passerelle/urls_utils.py b/passerelle/urls_utils.py index d0436eee..819c9cca 100644 --- a/passerelle/urls_utils.py +++ b/passerelle/urls_utils.py @@ -11,8 +11,9 @@ try: except ImportError: # django < 2.0 compatibility from django.urls import RegexURLPattern as URLPattern, RegexURLResolver as URLResolver -from django.views.debug import technical_404_response + from django.http import Http404 +from django.views.debug import technical_404_response class DecoratedURLPattern(URLPattern): diff --git a/passerelle/utils/__init__.py b/passerelle/utils/__init__.py index 8c886223..29ab5d05 100644 --- a/passerelle/utils/__init__.py +++ b/passerelle/utils/__init__.py @@ -16,34 +16,33 @@ from __future__ import absolute_import import base64 -from functools import wraps import hashlib import re -from itertools import islice, chain import warnings - -from requests import Session as RequestSession, Response as RequestResponse -from requests.adapters import HTTPAdapter -from requests.structures import CaseInsensitiveDict -from urllib3.exceptions import InsecureRequestWarning +from functools import wraps +from itertools import chain, islice from django.conf import settings +from django.contrib.contenttypes.models import ContentType from django.core.cache import cache from django.core.exceptions import PermissionDenied +from django.db import transaction from django.http import HttpResponse, HttpResponseBadRequest -from django.template import Template, Context +from django.template import Context, Template from django.utils.decorators import available_attrs from django.utils.encoding import force_bytes, force_text from django.utils.functional import lazy from django.utils.html import mark_safe from django.utils.six import BytesIO from django.views.generic.detail import SingleObjectMixin -from django.contrib.contenttypes.models import ContentType -from django.db import transaction +from requests import Response as RequestResponse +from requests import Session as RequestSession +from requests.adapters import HTTPAdapter +from requests.structures import CaseInsensitiveDict +from urllib3.exceptions import InsecureRequestWarning from passerelle.base.signature import check_query, check_url - mark_safe_lazy = lazy(mark_safe, str) @@ -330,8 +329,7 @@ class Request(RequestSession): def export_site(slugs=None): '''Dump passerelle configuration (users, resources and ACLs) to JSON dumpable dictionnary''' - from passerelle.base.models import ApiUser - from passerelle.base.models import BaseResource + from passerelle.base.models import ApiUser, BaseResource d = {} d['apiusers'] = [apiuser.export_json() for apiuser in ApiUser.objects.all()] @@ -353,8 +351,7 @@ def import_site(d, if_empty=False, clean=False, overwrite=False, import_users=Fa """Load passerelle configuration (users, resources and ACLs) from a dictionnary loaded from JSON """ - from passerelle.base.models import ApiUser - from passerelle.base.models import BaseResource + from passerelle.base.models import ApiUser, BaseResource d = d.copy() @@ -407,5 +404,5 @@ def batch(iterable, size): # legacy import, other modules keep importing to_json from passerelle.utils from .jsonresponse import to_json +from .sftp import SFTP, SFTPField from .soap import SOAPClient, SOAPTransport -from .sftp import SFTPField, SFTP diff --git a/passerelle/utils/conversion.py b/passerelle/utils/conversion.py index df2b5cd7..128e5845 100644 --- a/passerelle/utils/conversion.py +++ b/passerelle/utils/conversion.py @@ -20,11 +20,10 @@ import re import unicodedata import warnings +import unidecode from django.utils import six from django.utils.encoding import force_str, force_text from django.utils.six import BytesIO - -import unidecode from PIL import Image diff --git a/passerelle/utils/files.py b/passerelle/utils/files.py index 8c634fbe..86e90dd8 100644 --- a/passerelle/utils/files.py +++ b/passerelle/utils/files.py @@ -13,10 +13,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import os.path import contextlib -import tempfile import errno +import os.path +import tempfile from django.core.files.storage import default_storage diff --git a/passerelle/utils/http_authenticators.py b/passerelle/utils/http_authenticators.py index 0c5b6cfd..a3313eac 100644 --- a/passerelle/utils/http_authenticators.py +++ b/passerelle/utils/http_authenticators.py @@ -18,7 +18,6 @@ import base64 import hashlib import hmac import time - from uuid import uuid4 from django.utils.encoding import force_bytes, force_text diff --git a/passerelle/utils/json.py b/passerelle/utils/json.py index 9ecb8f90..4d6572d1 100644 --- a/passerelle/utils/json.py +++ b/passerelle/utils/json.py @@ -35,7 +35,6 @@ from django.utils import six from passerelle.utils.validation import is_number - FLATTEN_SEPARATOR = '/' diff --git a/passerelle/utils/jsonresponse.py b/passerelle/utils/jsonresponse.py index ef793694..813dde2f 100644 --- a/passerelle/utils/jsonresponse.py +++ b/passerelle/utils/jsonresponse.py @@ -5,26 +5,24 @@ from __future__ import absolute_import import datetime -import json import functools +import json import logging import re import time -from django.http import HttpResponse, Http404, HttpResponseBadRequest -from django.http.response import HttpResponseBase from django.conf import settings from django.core.exceptions import ObjectDoesNotExist, PermissionDenied from django.core.serializers.json import DjangoJSONEncoder -from django.utils.encoding import force_text +from django.http import Http404, HttpResponse, HttpResponseBadRequest +from django.http.response import HttpResponseBase from django.utils import six - -from requests import RequestException, HTTPError +from django.utils.encoding import force_text +from requests import HTTPError, RequestException from passerelle.utils import log_http_request from passerelle.utils.conversion import exception_to_text - DEFAULT_DEBUG = getattr(settings, 'JSONRESPONSE_DEFAULT_DEBUG', False) CALLBACK_NAME = getattr(settings, 'JSONRESPONSE_CALLBACK_NAME', 'callback') diff --git a/passerelle/utils/paginator.py b/passerelle/utils/paginator.py index 7062d24a..8e47c7d6 100644 --- a/passerelle/utils/paginator.py +++ b/passerelle/utils/paginator.py @@ -1,4 +1,4 @@ -from django.core.paginator import Paginator, Page, EmptyPage +from django.core.paginator import EmptyPage, Page, Paginator from django.utils.functional import cached_property from django.utils.translation import ugettext_lazy as _ diff --git a/passerelle/utils/sftp.py b/passerelle/utils/sftp.py index 82deb382..097d61a6 100644 --- a/passerelle/utils/sftp.py +++ b/passerelle/utils/sftp.py @@ -16,22 +16,20 @@ from __future__ import absolute_import -import os -import re +import contextlib import io import json -import contextlib +import os +import re +import paramiko from django import forms from django.core import validators from django.db import models from django.utils import six -from django.utils.encoding import force_text -from django.utils.translation import ugettext_lazy as _ +from django.utils.encoding import force_bytes, force_text from django.utils.six.moves.urllib import parse as urlparse -from django.utils.encoding import force_bytes - -import paramiko +from django.utils.translation import ugettext_lazy as _ from paramiko.dsskey import DSSKey from paramiko.ecdsakey import ECDSAKey @@ -39,8 +37,8 @@ try: from paramiko.ed25519key import Ed25519Key except ImportError: Ed25519Key = None -from paramiko.rsakey import RSAKey from paramiko._version import __version_info__ +from paramiko.rsakey import RSAKey def _load_private_key(content_or_file, password=None): diff --git a/passerelle/utils/soap.py b/passerelle/utils/soap.py index a228c901..9f9333a8 100644 --- a/passerelle/utils/soap.py +++ b/passerelle/utils/soap.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.utils.six.moves.urllib import parse as urlparse from requests import RequestException - from zeep import Client from zeep.cache import InMemoryCache from zeep.transports import Transport -from django.utils.six.moves.urllib import parse as urlparse - from passerelle.utils.jsonresponse import APIError diff --git a/passerelle/utils/templates.py b/passerelle/utils/templates.py index fe44c109..8433a48e 100644 --- a/passerelle/utils/templates.py +++ b/passerelle/utils/templates.py @@ -20,9 +20,8 @@ Disable autoescaping. ''' from django.core.exceptions import ValidationError - -from django.template.backends.django import DjangoTemplates from django.template import TemplateSyntaxError +from django.template.backends.django import DjangoTemplates from django.utils.translation import ugettext as _ diff --git a/passerelle/utils/wcs.py b/passerelle/utils/wcs.py index 203a14fb..aa6e1d96 100644 --- a/passerelle/utils/wcs.py +++ b/passerelle/utils/wcs.py @@ -16,23 +16,22 @@ from __future__ import absolute_import -import collections import base64 -import copy -import logging -import datetime +import collections import contextlib +import copy +import datetime import json +import logging -import requests import isodate - -from django.conf import settings -from django.db import models -from django.core.cache import cache +import requests from django import forms -from django.utils.six.moves.urllib import parse as urlparse +from django.conf import settings +from django.core.cache import cache +from django.db import models from django.utils import six +from django.utils.six.moves.urllib import parse as urlparse from passerelle.base import signature diff --git a/passerelle/utils/xml.py b/passerelle/utils/xml.py index 6a6618b6..58e53dc5 100644 --- a/passerelle/utils/xml.py +++ b/passerelle/utils/xml.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 collections import OrderedDict import copy +from collections import OrderedDict import jsonschema import xmlschema diff --git a/passerelle/utils/zip.py b/passerelle/utils/zip.py index b05b1ee6..501c9b33 100644 --- a/passerelle/utils/zip.py +++ b/passerelle/utils/zip.py @@ -14,27 +14,25 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from __future__ import unicode_literals, absolute_import +from __future__ import absolute_import, unicode_literals import difflib import io -import os.path import json +import os.path import re import xml.etree.ElementTree as ET import zipfile -from jsonschema import validate, ValidationError - -from django.template import Template, Context, TemplateDoesNotExist, TemplateSyntaxError, engines -from django.utils.functional import cached_property -from django.utils.encoding import force_str -from django.utils.six import python_2_unicode_compatible +from django.template import Context, Template, TemplateDoesNotExist, TemplateSyntaxError, engines from django.template.loader import get_template +from django.utils.encoding import force_str +from django.utils.functional import cached_property +from django.utils.six import python_2_unicode_compatible +from jsonschema import ValidationError, validate from passerelle.utils.files import atomic_write - SCHEMA = { 'type': 'object', 'required': ['name_template'], diff --git a/passerelle/views.py b/passerelle/views.py index a50b8b5e..1df311cf 100644 --- a/passerelle/views.py +++ b/passerelle/views.py @@ -21,47 +21,46 @@ import json import logging import uuid +from dateutil import parser as date_parser from django.apps import apps +from django.conf import settings from django.conf.urls import url -from django.core.cache import cache -from django.core.exceptions import PermissionDenied from django.contrib.auth import logout as auth_logout from django.contrib.auth import views as auth_views +from django.core.cache import cache +from django.core.exceptions import PermissionDenied from django.db import transaction from django.db.models import Q -from django.http import HttpResponse, HttpResponseRedirect, Http404 -from django.views.decorators.csrf import csrf_exempt -from django.views.generic import ( - RedirectView, - View, - TemplateView, - CreateView, - DeleteView, - UpdateView, - DetailView, - ListView, -) -from django.views.generic.detail import SingleObjectMixin -from django.conf import settings +from django.http import Http404, HttpResponse, HttpResponseRedirect from django.shortcuts import resolve_url from django.urls import reverse -from django.utils.timezone import make_aware -from django.utils.translation import ugettext_lazy as _ from django.utils.encoding import force_bytes, force_text from django.utils.six.moves.urllib.parse import quote - -from dateutil import parser as date_parser -from jsonschema import validate, ValidationError +from django.utils.timezone import make_aware +from django.utils.translation import ugettext_lazy as _ +from django.views.decorators.csrf import csrf_exempt +from django.views.generic import ( + CreateView, + DeleteView, + DetailView, + ListView, + RedirectView, + TemplateView, + UpdateView, + View, +) +from django.views.generic.detail import SingleObjectMixin +from jsonschema import ValidationError, validate from passerelle.base.models import BaseResource, ResourceLog from passerelle.compat import json_loads from passerelle.utils.conversion import normalize -from passerelle.utils.jsonresponse import APIError from passerelle.utils.json import unflatten +from passerelle.utils.jsonresponse import APIError from passerelle.utils.paginator import InfinitePaginator -from .utils import to_json, is_authorized from .forms import ResourceLogSearchForm +from .utils import is_authorized, to_json if 'mellon' in settings.INSTALLED_APPS: from mellon.utils import get_idps diff --git a/setup.py b/setup.py index d7a20f73..a31a433f 100755 --- a/setup.py +++ b/setup.py @@ -3,12 +3,12 @@ import os import subprocess import sys +from distutils.cmd import Command +from distutils.command.build import build as _build +from setuptools import find_packages, setup from setuptools.command.install_lib import install_lib as _install_lib from setuptools.command.sdist import sdist -from distutils.command.build import build as _build -from distutils.cmd import Command -from setuptools import setup, find_packages class eo_sdist(sdist): diff --git a/tests/conftest.py b/tests/conftest.py index 80d51abf..4565f594 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,14 +1,12 @@ -import pytest -from httmock import urlmatch, HTTMock, response, remember_called - -import django_webtest - -from django.contrib.auth.models import User -from django.core.files import File -from django.core.cache import cache -from django.utils import six from io import BytesIO +import django_webtest +import pytest +from django.contrib.auth.models import User +from django.core.cache import cache +from django.core.files import File +from django.utils import six +from httmock import HTTMock, remember_called, response, urlmatch from utils import make_resource if six.PY2: @@ -111,6 +109,7 @@ def mock_api_adresse_data_gouv_fr_reverse(): @pytest.fixture def endpoint_dummy_cache(monkeypatch): from django.core.cache import caches + import passerelle.views monkeypatch.setattr(passerelle.views, 'cache', caches['dummy']) diff --git a/tests/test_actesweb.py b/tests/test_actesweb.py index 190db168..3c03e186 100644 --- a/tests/test_actesweb.py +++ b/tests/test_actesweb.py @@ -16,17 +16,16 @@ # along with this program. If not, see . from __future__ import unicode_literals -import json import io +import json import os import shutil import stat import pytest - +import utils from django.utils import six -import utils from passerelle.apps.actesweb.models import ActesWeb diff --git a/tests/test_adict.py b/tests/test_adict.py index 94a5ff8f..2c2da5ca 100644 --- a/tests/test_adict.py +++ b/tests/test_adict.py @@ -1,11 +1,11 @@ import json + import mock import pytest +import utils from passerelle.contrib.adict.models import Adict -import utils - FAKE_FEATURE_INFO = json.dumps( { 'type': 'FeatureCollection', diff --git a/tests/test_airquality.py b/tests/test_airquality.py index 12f04d93..22634562 100644 --- a/tests/test_airquality.py +++ b/tests/test_airquality.py @@ -1,9 +1,8 @@ # -*- coding: utf-8 -*- +import freezegun import pytest import utils - -import freezegun from httmock import HTTMock, response from passerelle.apps.airquality.models import AirQuality diff --git a/tests/test_api.py b/tests/test_api.py index 90713dcb..51bf84cb 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -16,15 +16,13 @@ import mock import pytest - -from django.urls import reverse from django.contrib.contenttypes.models import ContentType from django.test import override_settings +from django.urls import reverse +from test_manager import login from passerelle.apps.ovh.models import OVHSMSGateway -from passerelle.base.models import ApiUser, AccessRight, Job - -from test_manager import login +from passerelle.base.models import AccessRight, ApiUser, Job pytestmark = pytest.mark.django_db diff --git a/tests/test_api_access.py b/tests/test_api_access.py index 67ee07f0..d700492c 100644 --- a/tests/test_api_access.py +++ b/tests/test_api_access.py @@ -1,18 +1,16 @@ import re import sys -from django.contrib.auth.models import User -from django.contrib.contenttypes.models import ContentType -from django.urls import reverse - import pytest import utils - +from django.contrib.auth.models import User +from django.contrib.contenttypes.models import ContentType from django.test import override_settings +from django.urls import reverse -from passerelle.base import signature -from passerelle.base.models import ApiUser, AccessRight, ResourceLog from passerelle.apps.oxyd.models import OxydSMSGateway +from passerelle.base import signature +from passerelle.base.models import AccessRight, ApiUser, ResourceLog pytestmark = pytest.mark.django_db diff --git a/tests/test_api_entreprise.py b/tests/test_api_entreprise.py index 7d3055d2..236c95cc 100644 --- a/tests/test_api_entreprise.py +++ b/tests/test_api_entreprise.py @@ -16,18 +16,15 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import pytest import mock +import pytest import requests - -from httmock import urlmatch, HTTMock, response - from django.utils import timezone +from httmock import HTTMock, response, urlmatch +from utils import FakedResponse, make_resource from passerelle.apps.api_entreprise.models import APIEntreprise -from utils import make_resource, FakedResponse - ETABLISSEMENTS_RESPONSE = { "etablissement": { "siege_social": True, diff --git a/tests/test_api_particulier.py b/tests/test_api_particulier.py index c877d10f..4fa217e2 100644 --- a/tests/test_api_particulier.py +++ b/tests/test_api_particulier.py @@ -17,21 +17,17 @@ # along with this program. If not, see . import logging + import pytest -from httmock import urlmatch, HTTMock, response - -from django.urls import reverse - import requests +from django.urls import reverse +from httmock import HTTMock, response, urlmatch +from test_manager import login +from utils import endpoint_get, make_resource from passerelle.apps.api_particulier.models import APIParticulier from passerelle.base.models import ResourceLog -from utils import make_resource, endpoint_get - -from test_manager import login - - SVAIR_RESPONSE = { "declarant1": { "nom": "Martin", diff --git a/tests/test_arcgis.py b/tests/test_arcgis.py index 4a14b3a3..8dfc3121 100644 --- a/tests/test_arcgis.py +++ b/tests/test_arcgis.py @@ -2,20 +2,19 @@ from __future__ import unicode_literals import json -import pytest -import mock -import utils +import mock +import pytest +import utils from django.contrib.auth.models import User from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError - -from passerelle.apps.arcgis.models import ArcGIS, validate_where, SqlFormatter, Query -from passerelle.base.models import ApiUser, AccessRight -from passerelle.utils import import_site - from test_manager import login +from passerelle.apps.arcgis.models import ArcGIS, Query, SqlFormatter, validate_where +from passerelle.base.models import AccessRight, ApiUser +from passerelle.utils import import_site + pytestmark = pytest.mark.django_db # from http://sampleserver1.arcgisonline.com/ArcGIS/rest/services/fold/serv/MapServer/1 diff --git a/tests/test_arcgis_nancy.py b/tests/test_arcgis_nancy.py index ac9d0d33..d84d55d4 100644 --- a/tests/test_arcgis_nancy.py +++ b/tests/test_arcgis_nancy.py @@ -1,16 +1,13 @@ import os -import pytest import mock - - -from django.urls import reverse +import pytest from django.contrib.contenttypes.models import ContentType +from django.urls import reverse from passerelle.apps.arcgis.models import ArcGIS +from passerelle.base.models import AccessRight, ApiUser from passerelle.compat import json_loads -from passerelle.base.models import ApiUser, AccessRight - TEST_BASE_DIR = os.path.join(os.path.dirname(__file__), 'data', 'nancy_arcgis') diff --git a/tests/test_arpege_ecp.py b/tests/test_arpege_ecp.py index 7079ba2c..500184d8 100644 --- a/tests/test_arpege_ecp.py +++ b/tests/test_arpege_ecp.py @@ -1,16 +1,15 @@ # -*- coding: utf-8 -*- import json + import mock import pytest - +import utils from django.urls import reverse from passerelle.apps.arpege_ecp.models import ArpegeECP from passerelle.utils.jsonresponse import APIError -import utils - FAKE_HELLO_RESPONSE = """{"IsSuccess":true,"CodErreur":null,"LibErreur":null, "Data":"InteropAPI v1 (c) Arpège 2017"}""" diff --git a/tests/test_astech.py b/tests/test_astech.py index bf91f834..5833a69e 100644 --- a/tests/test_astech.py +++ b/tests/test_astech.py @@ -18,13 +18,10 @@ import mock import pytest -from requests.exceptions import ConnectionError -from requests import Request - - import utils - from django.urls import reverse +from requests import Request +from requests.exceptions import ConnectionError from passerelle.apps.astech.models import ASTech from passerelle.utils.jsonresponse import APIError diff --git a/tests/test_astregs.py b/tests/test_astregs.py index e6424b10..bb923c6a 100644 --- a/tests/test_astregs.py +++ b/tests/test_astregs.py @@ -1,21 +1,19 @@ # -*- coding: utf-8 -*- -import os import logging -import mock -import pytest +import os import re -from requests.exceptions import ConnectionError -from requests import Request - +import mock +import pytest +import utils from django.utils.encoding import force_bytes, force_str, force_text from django.utils.http import urlencode +from requests import Request +from requests.exceptions import ConnectionError from passerelle.apps.astregs.models import AstreGS, Link -import utils - BASE_URL = 'https://test-ws-astre-gs.departement06.fr/axis2/services/' diff --git a/tests/test_atal.py b/tests/test_atal.py index 03c93456..1f142d70 100644 --- a/tests/test_atal.py +++ b/tests/test_atal.py @@ -1,16 +1,16 @@ # coding: utf-8 import base64 -from datetime import datetime import os +from datetime import datetime -from django.contrib.contenttypes.models import ContentType -from django.utils.http import urlencode import mock import pytest +from django.contrib.contenttypes.models import ContentType +from django.utils.http import urlencode from passerelle.apps.atal.models import ATALConnector -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser def get_file(filename): diff --git a/tests/test_atos_genesys.py b/tests/test_atos_genesys.py index 592ca1f1..d48533cc 100644 --- a/tests/test_atos_genesys.py +++ b/tests/test_atos_genesys.py @@ -1,13 +1,12 @@ # -*- coding: utf-8 -*- import os + import pytest - import utils - from django.utils.http import urlencode -from passerelle.apps.atos_genesys.models import Resource, Link +from passerelle.apps.atos_genesys.models import Link, Resource FAKE_URL = 'https://sirus.fr/' @@ -221,6 +220,7 @@ def test_ws_dossiers(app, genesys): def test_row_locked_cache(genesys, freezer): import time + from passerelle.apps.atos_genesys.utils import RowLockedCache freezer.move_to('2018-01-01 00:00:00') diff --git a/tests/test_availability.py b/tests/test_availability.py index e7a5a7a2..2cf8b2c3 100644 --- a/tests/test_availability.py +++ b/tests/test_availability.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import pytest -from httmock import all_requests, HTTMock +import utils +from httmock import HTTMock, all_requests from passerelle.apps.feeds.models import Feed -import utils - FEED_EXAMPLE = u""" Actualités de Strasbourg diff --git a/tests/test_axel_utils.py b/tests/test_axel_utils.py index b8ee8369..539366ae 100644 --- a/tests/test_axel_utils.py +++ b/tests/test_axel_utils.py @@ -14,10 +14,7 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from passerelle.contrib.utils.axel import ( - parse_datetime, - encode_datetime, -) +from passerelle.contrib.utils.axel import encode_datetime, parse_datetime def test_parse_datetime(): diff --git a/tests/test_base_adresse.py b/tests/test_base_adresse.py index 62bcdb53..334e64d6 100644 --- a/tests/test_base_adresse.py +++ b/tests/test_base_adresse.py @@ -1,25 +1,24 @@ # -*- coding: utf-8 -*- import datetime -import os -import pytest -import mock -import utils import json +import os -from requests.exceptions import ConnectionError, HTTPError - +import mock +import pytest +import utils from django.core.management import call_command from django.core.management.base import CommandError from django.utils.six.moves.urllib.parse import urljoin +from requests.exceptions import ConnectionError, HTTPError from passerelle.apps.base_adresse.models import ( + AddressCacheModel, BaseAdresse, - StreetModel, CityModel, DepartmentModel, RegionModel, - AddressCacheModel, + StreetModel, ) FAKED_CONTENT = json.dumps( diff --git a/tests/test_cartads_cs.py b/tests/test_cartads_cs.py index 59182911..7ad87f5b 100644 --- a/tests/test_cartads_cs.py +++ b/tests/test_cartads_cs.py @@ -1,22 +1,20 @@ # -*- coding: utf-8 -*- -from collections import OrderedDict import datetime import json import os +from collections import OrderedDict import mock -from httmock import HTTMock import pytest - +import utils from django.core.files.storage import default_storage from django.test import override_settings +from httmock import HTTMock -from passerelle.apps.cartads_cs.models import CartaDSCS, CartaDSFile, CartaDSDossier -from passerelle.compat import json_loads +from passerelle.apps.cartads_cs.models import CartaDSCS, CartaDSDossier, CartaDSFile from passerelle.base.models import Job - -import utils +from passerelle.compat import json_loads @pytest.fixture diff --git a/tests/test_cityweb.py b/tests/test_cityweb.py index 5b131124..2d5f234d 100644 --- a/tests/test_cityweb.py +++ b/tests/test_cityweb.py @@ -16,23 +16,22 @@ # along with this program. If not, see . from __future__ import unicode_literals -import os import json +import os import shutil import stat - -import pytest -import mock -from lxml import etree, objectify as xobject import zipfile +import mock +import pytest import utils - -from passerelle.apps.cityweb.models import CityWeb -from passerelle.apps.cityweb.cityweb import DateType -from passerelle.utils.jsonresponse import APIError - from django.core.files.storage import default_storage +from lxml import etree +from lxml import objectify as xobject + +from passerelle.apps.cityweb.cityweb import DateType +from passerelle.apps.cityweb.models import CityWeb +from passerelle.utils.jsonresponse import APIError def get_test_base_dir(name): diff --git a/tests/test_clicrdv.py b/tests/test_clicrdv.py index 51bb111b..bee821be 100644 --- a/tests/test_clicrdv.py +++ b/tests/test_clicrdv.py @@ -1,16 +1,13 @@ import mock import pytest - -from requests.exceptions import HTTPError - from django.contrib.contenttypes.models import ContentType from django.utils.six.moves.urllib import parse as urlparse - -from passerelle.base.models import ApiUser, AccessRight -from passerelle.apps.clicrdv.models import ClicRdv - +from requests.exceptions import HTTPError from test_manager import login +from passerelle.apps.clicrdv.models import ClicRdv +from passerelle.base.models import AccessRight, ApiUser + @pytest.fixture def connector(db): diff --git a/tests/test_cmis.py b/tests/test_cmis.py index 8fbbe427..d9c575a9 100644 --- a/tests/test_cmis.py +++ b/tests/test_cmis.py @@ -1,29 +1,30 @@ import base64 -import httplib2 -import xml.etree.ElementTree as ET -import mock import os import re +import xml.etree.ElementTree as ET +import httplib2 +import mock +import py +import pytest from cmislib import CmisClient -from cmislib.exceptions import CmisException -from cmislib.exceptions import ObjectNotFoundException -from cmislib.exceptions import PermissionDeniedException -from cmislib.exceptions import UpdateConflictException -from cmislib.exceptions import InvalidArgumentException +from cmislib.exceptions import ( + CmisException, + InvalidArgumentException, + ObjectNotFoundException, + PermissionDeniedException, + UpdateConflictException, +) from django.contrib.contenttypes.models import ContentType from django.urls import reverse from django.utils.encoding import force_bytes, force_text from django.utils.six.moves.urllib import error as urllib2 -from mock import call, Mock -import py -import pytest - -from passerelle.base.models import ApiUser, AccessRight -from passerelle.apps.cmis.models import CmisConnector - +from mock import Mock, call from test_manager import login +from passerelle.apps.cmis.models import CmisConnector +from passerelle.base.models import AccessRight, ApiUser + def b64encode(content): return force_text(base64.b64encode(force_bytes(content))) @@ -417,8 +418,8 @@ def test_create_doc(): ], ) def test_wrap_cmis_error(app, setup, monkeypatch, cmis_exc, err_msg): - from passerelle.utils.jsonresponse import APIError from passerelle.apps.cmis.models import wrap_cmis_error + from passerelle.utils.jsonresponse import APIError @wrap_cmis_error def dummy_func(): diff --git a/tests/test_cron.py b/tests/test_cron.py index 53989677..5c9af22b 100644 --- a/tests/test_cron.py +++ b/tests/test_cron.py @@ -1,6 +1,5 @@ import mock import pytest - from django.core.management import call_command from django.core.management.base import CommandError diff --git a/tests/test_cryptor.py b/tests/test_cryptor.py index aa1ef162..65606fbf 100644 --- a/tests/test_cryptor.py +++ b/tests/test_cryptor.py @@ -1,16 +1,15 @@ # -*- coding: utf-8 -*- import base64 -import pytest +import pytest +import utils from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from django.utils.encoding import force_text -from passerelle.apps.cryptor.models import Cryptor, CryptedFile -from passerelle.base.models import ApiUser, AccessRight - -import utils +from passerelle.apps.cryptor.models import CryptedFile, Cryptor +from passerelle.base.models import AccessRight, ApiUser PUBLIC_KEY = '''-----BEGIN CERTIFICATE----- MIICyjCCAbKgAwIBAgIUQQzM2eFYF+LpUR3t2euAjZAwLCEwDQYJKoZIhvcNAQEL diff --git a/tests/test_csv_datasource.py b/tests/test_csv_datasource.py index 4132d269..580644d7 100644 --- a/tests/test_csv_datasource.py +++ b/tests/test_csv_datasource.py @@ -19,30 +19,28 @@ import datetime import os import time -import pytest -import mock -import six import uuid from posix import stat_result from stat import ST_MTIME -from django.core.files import File -from django.urls import reverse +import mock +import pytest +import six +import webtest from django.contrib.contenttypes.models import ContentType -from django.test import Client, override_settings +from django.core.files import File from django.core.management import call_command +from django.test import Client, override_settings +from django.urls import reverse from django.utils.encoding import force_bytes, force_str, force_text from django.utils.six import StringIO from django.utils.six.moves.urllib.parse import urlencode from django.utils.timezone import now - -from passerelle.base.models import ApiUser, AccessRight -from passerelle.compat import json_loads -from passerelle.apps.csvdatasource.models import CsvDataSource, Query, TableRow - from test_manager import login -import webtest +from passerelle.apps.csvdatasource.models import CsvDataSource, Query, TableRow +from passerelle.base.models import AccessRight, ApiUser +from passerelle.compat import json_loads data = """121;69981;DELANOUE;Eliot;H 525;6;DANIEL WILLIAMS;Shanone;F diff --git a/tests/test_dpark.py b/tests/test_dpark.py index b4044f2c..c5ff7780 100644 --- a/tests/test_dpark.py +++ b/tests/test_dpark.py @@ -1,21 +1,19 @@ # -*- coding: utf-8 -*- import base64 -import mock import os -import pytest import xml.etree.ElementTree as ET -from django.utils.encoding import force_text import httmock - -from zeep.exceptions import TransportError, Fault as WebFault - +import mock +import pytest +from django.utils.encoding import force_text from utils import make_resource +from zeep.exceptions import Fault as WebFault +from zeep.exceptions import TransportError from passerelle.contrib.dpark.models import DPark, Pairing from passerelle.utils.jsonresponse import APIError - SLUG = 'test' WSDL_URL = 'https://example.net/dpark?wsdl' OPERATIONAL_URL = 'https://example.net/dpark' diff --git a/tests/test_ensure_jsonbfields.py b/tests/test_ensure_jsonbfields.py index 02b768e7..77de6d41 100644 --- a/tests/test_ensure_jsonbfields.py +++ b/tests/test_ensure_jsonbfields.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- import pytest - from django.core.files import File from django.core.management import call_command from django.db import connection diff --git a/tests/test_esirius.py b/tests/test_esirius.py index b74282c8..7e53d048 100644 --- a/tests/test_esirius.py +++ b/tests/test_esirius.py @@ -16,21 +16,18 @@ import base64 import json + import httmock import pytest - +import utils from Cryptodome.Cipher import DES from Cryptodome.Util.Padding import pad, unpad - from django.utils.encoding import force_bytes +from test_manager import login from passerelle.apps.esirius.models import ESirius from passerelle.utils.jsonresponse import APIError -from test_manager import login -import utils - - CREATE_APPOINTMENT_PAYLOAD = { 'beginDate': '2021-02-24', 'beginTime': '16:40', diff --git a/tests/test_fake_family.py b/tests/test_fake_family.py index 61a6ac28..adc344c0 100644 --- a/tests/test_fake_family.py +++ b/tests/test_fake_family.py @@ -2,9 +2,9 @@ import json +import pytest from django.urls import reverse -import pytest from passerelle.contrib.fake_family.models import FakeFamily pytestmark = pytest.mark.django_db diff --git a/tests/test_family.py b/tests/test_family.py index b5085248..122fe403 100644 --- a/tests/test_family.py +++ b/tests/test_family.py @@ -1,30 +1,32 @@ # -*- coding: utf-8 -*- -import pytest -import os -from uuid import uuid4 -import zipfile import logging +import os import shutil +import zipfile +from uuid import uuid4 +import pytest +from django.contrib.contenttypes.models import ContentType from django.core.exceptions import ValidationError from django.core.files import File +from django.core.files.storage import default_storage +from django.core.management import call_command +from django.core.management.base import CommandError from django.urls import reverse from django.utils import timezone from django.utils.http import urlencode -from django.core.files import File -from django.core.management import call_command -from django.core.management.base import CommandError -from django.core.files.storage import default_storage - -from passerelle.apps.family.models import GenericFamily, Family, FamilyLink -from passerelle.apps.family.models import Invoice, Adult, Child, DATETIME_FORMAT - -from django.core.files import File -from django.contrib.contenttypes.models import ContentType - -from passerelle.base.models import ApiUser, AccessRight +from passerelle.apps.family.models import ( + DATETIME_FORMAT, + Adult, + Child, + Family, + FamilyLink, + GenericFamily, + Invoice, +) +from passerelle.base.models import AccessRight, ApiUser pytestmark = pytest.mark.django_db diff --git a/tests/test_feeds.py b/tests/test_feeds.py index 9a42b199..7b3d53c3 100644 --- a/tests/test_feeds.py +++ b/tests/test_feeds.py @@ -2,11 +2,10 @@ import mock import pytest +import utils from passerelle.apps.feeds.models import Feed -import utils - FEED_EXAMPLE = u""" Actualités de Strasbourg diff --git a/tests/test_gdema.py b/tests/test_gdema.py index 53044ff1..103f911d 100644 --- a/tests/test_gdema.py +++ b/tests/test_gdema.py @@ -1,14 +1,13 @@ # -*- coding: utf-8 -*- import json -import pytest -import mock -import utils +import mock +import pytest +import utils from django.contrib.contenttypes.models import ContentType +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.gdema.models import Gdema -from passerelle.base.models import ApiUser, AccessRight - SERVICES = '[{"AdminService":"ADMINISTRATEUR DIV - Transports et D\xc3\xa9placements","CommuneService":null,"Id":"16151","Label":"DMT - Mobilité et transports","Typology":[]},{"AdminService":"ADMINISTRATEUR DEP ADMINISTRATION","CommuneService":null,"Id":"10173","Label":"DESPU - Administration Direction environnement et services publics urbains","Typology":[{"Text":"Maintenance Cie","Value":"13067"},{"Text":"Sensibilisation en milieu scolaire","Value":"14948"},{"Text":"Demandes diverses","Value":"11532"},{"Text":"Demande de stage compostage","Value":"12992"},{"Text":"Pr\xc3\xa9sence de d\xc3\xa9chets verts","Value":"20432"}]},{"AdminService":"ADMINISTRATEUR DED3","CommuneService":null,"Id":"10426","Label":"DEE - Périscolaire et éducatif","Typology":[{"Text":"Activités périscolaires","Value":"10804"},{"Text":"Garderie","Value":"10805"},{"Text":"Restauration scolaire","Value":"10806"},{"Text":"Restauration scolaire \\/ Nutrition","Value":"11180"},{"Text":"Restauration scolaire \\/ Abonnements \\/cantine et r\xc3\xa9gie","Value":"10807"},{"Text":"Projets éducatifs en temps scolaire","Value":"10808"},{"Text":"Autres","Value":"10809"}]}]' diff --git a/tests/test_generic_endpoint.py b/tests/test_generic_endpoint.py index cd29b137..60d8df61 100644 --- a/tests/test_generic_endpoint.py +++ b/tests/test_generic_endpoint.py @@ -18,29 +18,32 @@ from __future__ import unicode_literals import copy -import os import json +import os import random import warnings import mock import pytest - import utils - from django.contrib.contenttypes.models import ContentType from django.urls import reverse +from test_manager import login -from passerelle.apps.arcgis.models import ArcGIS from passerelle.apps.api_particulier.models import APIParticulier -from passerelle.base.models import ResourceLog, ProxyLogger, BaseResource, HTTPResource, LoggingParameters -from passerelle.base.models import ResourceStatus +from passerelle.apps.arcgis.models import ArcGIS from passerelle.apps.mdel.models import MDEL +from passerelle.base.models import ( + BaseResource, + HTTPResource, + LoggingParameters, + ProxyLogger, + ResourceLog, + ResourceStatus, +) from passerelle.contrib.stub_invoices.models import StubInvoicesConnector from passerelle.utils.api import endpoint -from test_manager import login - @pytest.fixture def mdel(db): @@ -687,6 +690,7 @@ def test_endpoint_cookies(app, db, monkeypatch, httpbin): def test_https_warnings(app, db, monkeypatch, httpbin_secure, relax_openssl): from requests.exceptions import SSLError + from passerelle.apps.arcgis.models import ArcGIS resource = utils.make_resource(ArcGIS, base_url='https://example.com/', slug='gis', verify_cert=True) diff --git a/tests/test_gesbac.py b/tests/test_gesbac.py index bf299f81..8d27665a 100644 --- a/tests/test_gesbac.py +++ b/tests/test_gesbac.py @@ -17,14 +17,14 @@ # along with this program. If not, see . import datetime -import pytest -from django.utils.timezone import now +import pytest from django.utils.encoding import force_bytes, force_str, force_text +from django.utils.timezone import now from utils import make_resource +from passerelle.apps.gesbac.models import Form, Gesbac from passerelle.utils import SFTP -from passerelle.apps.gesbac.models import Gesbac, Form @pytest.fixture diff --git a/tests/test_grandlyon_streetsections.py b/tests/test_grandlyon_streetsections.py index 57d02105..ad04c443 100644 --- a/tests/test_grandlyon_streetsections.py +++ b/tests/test_grandlyon_streetsections.py @@ -1,9 +1,8 @@ -from django.contrib.contenttypes.models import ContentType - -from httmock import HTTMock import pytest +from django.contrib.contenttypes.models import ContentType +from httmock import HTTMock -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.grandlyon_streetsections.models import ( GrandLyonStreetSections, StreetSection, diff --git a/tests/test_greco.py b/tests/test_greco.py index 32bc3423..e7ebbc59 100644 --- a/tests/test_greco.py +++ b/tests/test_greco.py @@ -13,19 +13,19 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from base64 import b64encode import copy import os -import pytest -import mock -import utils import xml.etree.ElementTree as ET +from base64 import b64encode +import mock +import pytest +import utils from django.contrib.contenttypes.models import ContentType from django.urls import reverse from django.utils.encoding import force_str -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.greco.models import Greco pytestmark = pytest.mark.django_db diff --git a/tests/test_grenoble_gru.py b/tests/test_grenoble_gru.py index 58330905..b5293266 100644 --- a/tests/test_grenoble_gru.py +++ b/tests/test_grenoble_gru.py @@ -17,12 +17,11 @@ import json import os + import mock import pytest import six - import utils - from django.urls import reverse from passerelle.contrib.grenoble_gru.models import GrenobleGRU diff --git a/tests/test_import_export.py b/tests/test_import_export.py index f740b26a..e6bf6077 100644 --- a/tests/test_import_export.py +++ b/tests/test_import_export.py @@ -1,24 +1,24 @@ # -*- coding: utf-8 -*- -import sys import json import os -import pytest +import sys import tempfile -from django.core.files import File -from django.urls import reverse -from django.core.management import call_command +import pytest from django.contrib.contenttypes.models import ContentType +from django.core.files import File +from django.core.management import call_command from django.test import Client +from django.urls import reverse from django.utils import timezone from django.utils.encoding import force_bytes, force_text from django.utils.six import BytesIO, StringIO from passerelle.apps.base_adresse.models import BaseAdresse from passerelle.apps.ovh.models import OVHSMSGateway -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.compat import json_loads -from passerelle.utils import import_site, export_site +from passerelle.utils import export_site, import_site data = """121;69981;DELANOUE;Eliot;H 525;6;DANIEL WILLIAMS;Shanone;F @@ -44,8 +44,8 @@ data = """121;69981;DELANOUE;Eliot;H data_bom = force_text(data, 'utf-8').encode('utf-8-sig') -from passerelle.apps.csvdatasource.models import CsvDataSource, Query from passerelle.apps.bdp.models import Bdp +from passerelle.apps.csvdatasource.models import CsvDataSource, Query pytestmark = pytest.mark.django_db diff --git a/tests/test_iparapheur.py b/tests/test_iparapheur.py index 29f4a036..eea87172 100644 --- a/tests/test_iparapheur.py +++ b/tests/test_iparapheur.py @@ -1,21 +1,21 @@ # -*- coding: utf-8 -*- -import pytest -import mock -import uuid -import os import base64 +import os +import uuid import xml.etree.ElementTree as ET -from dateutil import parser -from requests import Response -from requests.exceptions import ConnectionError -from django.urls import reverse +import mock +import pytest +from dateutil import parser from django.contrib.contenttypes.models import ContentType +from django.urls import reverse from django.utils import timezone from django.utils.encoding import force_bytes +from requests import Response +from requests.exceptions import ConnectionError -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.iparapheur.models import IParapheur pytestmark = pytest.mark.django_db diff --git a/tests/test_isere_ens.py b/tests/test_isere_ens.py index 90fd39f1..987db18b 100644 --- a/tests/test_isere_ens.py +++ b/tests/test_isere_ens.py @@ -18,11 +18,10 @@ import json import os + import mock import pytest - import utils - from django.urls import reverse from passerelle.contrib.isere_ens.models import IsereENS diff --git a/tests/test_iws.py b/tests/test_iws.py index 45ede849..c1bdeff1 100644 --- a/tests/test_iws.py +++ b/tests/test_iws.py @@ -1,8 +1,8 @@ +import pytest from django.contrib.contenttypes.models import ContentType from mock import Mock -import pytest -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.iws.models import IWSConnector diff --git a/tests/test_jobs.py b/tests/test_jobs.py index b0966aec..b28eaeb6 100644 --- a/tests/test_jobs.py +++ b/tests/test_jobs.py @@ -3,19 +3,14 @@ import datetime import os -from django.core.management import call_command - +import isodate import mock import pytest - import utils +from django.core.management import call_command +from test_base_adresse import StreetModel, base_adresse -import isodate - - -from passerelle.base.models import Job, SkipJob, ResourceLog - -from test_base_adresse import base_adresse, StreetModel +from passerelle.base.models import Job, ResourceLog, SkipJob @mock.patch('passerelle.utils.Request.get') diff --git a/tests/test_jsondatastore.py b/tests/test_jsondatastore.py index 2b82f4bf..a8d541ce 100644 --- a/tests/test_jsondatastore.py +++ b/tests/test_jsondatastore.py @@ -1,12 +1,11 @@ # -*- coding: utf-8 -*- import pytest - from django.contrib.contenttypes.models import ContentType from django.core.serializers.json import DjangoJSONEncoder -from passerelle.apps.jsondatastore.models import JsonDataStore, JsonData -from passerelle.base.models import ApiUser, AccessRight +from passerelle.apps.jsondatastore.models import JsonData, JsonDataStore +from passerelle.base.models import AccessRight, ApiUser @pytest.fixture diff --git a/tests/test_jsonresponse.py b/tests/test_jsonresponse.py index d0fad637..1ab75c2f 100644 --- a/tests/test_jsonresponse.py +++ b/tests/test_jsonresponse.py @@ -1,9 +1,9 @@ import logging -import pytest -from django.test.client import RequestFactory -from django.http import Http404 +import pytest from django.core.exceptions import ObjectDoesNotExist, PermissionDenied +from django.http import Http404 +from django.test.client import RequestFactory from passerelle.compat import json_loads from passerelle.utils import to_json diff --git a/tests/test_lille_kimoce.py b/tests/test_lille_kimoce.py index 0f7fafba..9311b72b 100644 --- a/tests/test_lille_kimoce.py +++ b/tests/test_lille_kimoce.py @@ -18,11 +18,10 @@ import json import os + import mock import pytest - import utils - from django.urls import reverse from passerelle.contrib.lille_kimoce.models import Kimoce diff --git a/tests/test_lille_urban_card.py b/tests/test_lille_urban_card.py index 3c1d6e2a..8aea68f5 100644 --- a/tests/test_lille_urban_card.py +++ b/tests/test_lille_urban_card.py @@ -1,16 +1,16 @@ # -*- coding: utf-8 -*- -from httmock import HTTMock import json + import mock import pytest +import utils +from httmock import HTTMock from passerelle.compat import json_loads from passerelle.contrib.lille_urban_card.models import LilleUrbanCard from passerelle.utils.jsonresponse import APIError -import utils - @pytest.fixture def connector(db): diff --git a/tests/test_maelis.py b/tests/test_maelis.py index e1f9d4e5..89b14ea1 100644 --- a/tests/test_maelis.py +++ b/tests/test_maelis.py @@ -1,25 +1,23 @@ # -*- coding: utf-8 -*- import json -import mock import os -import pytest +import mock +import pytest +import utils from django.test import override_settings from django.utils.dateparse import parse_date -from passerelle.apps.maelis.models import Maelis, Link +from passerelle.apps.maelis.models import Link, Maelis from passerelle.apps.maelis.utils import ( - get_school_year, - week_boundaries_datetimes, - month_range, decompose_event, + get_school_year, + month_range, + week_boundaries_datetimes, ) - from passerelle.utils.jsonresponse import APIError -import utils - pytestmark = pytest.mark.django_db TEST_BASE_DIR = os.path.join(os.path.dirname(__file__), 'data', 'maelis') diff --git a/tests/test_manager.py b/tests/test_manager.py index fababf97..3f0c7bc4 100644 --- a/tests/test_manager.py +++ b/tests/test_manager.py @@ -2,19 +2,17 @@ import datetime import re import uuid -from webtest import Upload - +import freezegun +import pytest from django.contrib.contenttypes.models import ContentType from django.core.files import File from django.utils.six import StringIO from django.utils.timezone import now +from webtest import Upload -import freezegun -import pytest - -from passerelle.base.models import ApiUser, AccessRight, ResourceStatus, Job, ResourceLog from passerelle.apps.csvdatasource.models import CsvDataSource, Query from passerelle.apps.photon.models import Photon +from passerelle.base.models import AccessRight, ApiUser, Job, ResourceLog, ResourceStatus pytestmark = pytest.mark.django_db diff --git a/tests/test_mdel.py b/tests/test_mdel.py index d5ae5a6f..00a36712 100644 --- a/tests/test_mdel.py +++ b/tests/test_mdel.py @@ -16,25 +16,23 @@ # along with this program. If not, see . from __future__ import unicode_literals -import shutil -import os import base64 import copy +import os +import shutil import zipfile - from xml.etree import ElementTree as etree -from lxml import etree as letree import pytest +import utils +from lxml import etree as letree +from passerelle.apps.mdel.mdel import AttachedFile, Description, Message, get_resource_base_dir from passerelle.apps.mdel.models import MDEL, Demand -from passerelle.apps.mdel.mdel import Message, Description, AttachedFile, get_resource_base_dir from passerelle.apps.mdel.utils import parse_date from passerelle.compat import json_loads from passerelle.utils import SFTP -import utils - AEC_XSD = 'ActeEtatCivil-V1.A.xsd' ILE_XSD = 'ILE_v1.1.xsd' diff --git a/tests/test_mdel_ddpacs.py b/tests/test_mdel_ddpacs.py index 47c9f171..9d391009 100644 --- a/tests/test_mdel_ddpacs.py +++ b/tests/test_mdel_ddpacs.py @@ -23,13 +23,11 @@ import os import pytest import utils - import xmlschema -from passerelle.apps.mdel_ddpacs.models import Resource, Demand - +from passerelle.apps.mdel_ddpacs.models import Demand, Resource from passerelle.utils import json, sftp -from passerelle.utils.zip import diff_zip, ZipTemplate +from passerelle.utils.zip import ZipTemplate, diff_zip def build_response_zip(**kwargs): diff --git a/tests/test_mdph13.py b/tests/test_mdph13.py index 5f9ee76f..ad467cd7 100644 --- a/tests/test_mdph13.py +++ b/tests/test_mdph13.py @@ -15,21 +15,19 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import json import base64 import datetime +import json import logging -import requests -import requests.exceptions - import httmock import pytest - +import requests +import requests.exceptions import utils +from passerelle.contrib.mdph13.models import Link, MDPH13Resource from passerelle.utils.jsonresponse import APIError -from passerelle.contrib.mdph13.models import MDPH13Resource, Link NAME_ID = 'xyz' FILE_NUMBER = '1234' diff --git a/tests/test_misc.py b/tests/test_misc.py index 91eb8c66..05f2df94 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -1,7 +1,6 @@ import datetime -import pytest -from mock import patch +import pytest from django.contrib.contenttypes.models import ContentType from django.core.files import File from django.db import connection @@ -9,13 +8,13 @@ from django.db.migrations.executor import MigrationExecutor from django.urls import reverse from django.utils import timezone from django.utils.six import StringIO - -from passerelle.base.models import ResourceLog -from passerelle.apps.opengis.models import OpenGIS -from passerelle.apps.clicrdv.models import ClicRdv - +from mock import patch from test_manager import login +from passerelle.apps.clicrdv.models import ClicRdv +from passerelle.apps.opengis.models import OpenGIS +from passerelle.base.models import ResourceLog + def test_get_description_url_fields(db): connector = OpenGIS(slug='plop', wms_service_url='http://www.example.net') @@ -88,6 +87,7 @@ def test_log_cleaning(app, db, admin_user, settings): @pytest.fixture def email_handler(): import logging + from django.utils.log import AdminEmailHandler root = logging.getLogger() diff --git a/tests/test_nancypoll.py b/tests/test_nancypoll.py index 566900e0..f70afb35 100644 --- a/tests/test_nancypoll.py +++ b/tests/test_nancypoll.py @@ -1,13 +1,11 @@ import pytest - -from django.core.files import File -from django.urls import reverse from django.contrib.contenttypes.models import ContentType +from django.core.files import File from django.test import Client +from django.urls import reverse from django.utils.six import StringIO -from passerelle.base.models import ApiUser, AccessRight - +from passerelle.base.models import AccessRight, ApiUser from passerelle.compat import json_loads from passerelle.contrib.nancypoll.models import NancyPoll diff --git a/tests/test_okina.py b/tests/test_okina.py index df449ca6..260fe14c 100644 --- a/tests/test_okina.py +++ b/tests/test_okina.py @@ -1,14 +1,13 @@ # -*- coding: utf-8 -*- import json -import pytest -import mock -import utils +import mock +import pytest +import utils from django.contrib.contenttypes.models import ContentType from passerelle.apps.okina.models import Okina -from passerelle.base.models import ApiUser, AccessRight - +from passerelle.base.models import AccessRight, ApiUser CITIES = '''[ { "city" : 83355, diff --git a/tests/test_opendatasoft.py b/tests/test_opendatasoft.py index bb272a26..69eb6cfb 100644 --- a/tests/test_opendatasoft.py +++ b/tests/test_opendatasoft.py @@ -15,19 +15,17 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import mock import json + +import mock import pytest - import utils - from django.contrib.auth.models import User +from test_manager import login from passerelle.apps.opendatasoft.models import OpenDataSoft, Query from passerelle.utils import import_site -from test_manager import login - pytestmark = pytest.mark.django_db diff --git a/tests/test_opengis.py b/tests/test_opengis.py index d4e4ad57..2626121b 100644 --- a/tests/test_opengis.py +++ b/tests/test_opengis.py @@ -1,17 +1,15 @@ import json + import mock import pytest - +import utils from django.contrib.auth.models import User from django.core.management import call_command - -from passerelle.apps.opengis.models import OpenGIS, Query, FeatureCache -from passerelle.base.models import Job -from passerelle.utils import import_site - from test_manager import login -import utils +from passerelle.apps.opengis.models import FeatureCache, OpenGIS, Query +from passerelle.base.models import Job +from passerelle.utils import import_site pytestmark = pytest.mark.django_db diff --git a/tests/test_orange.py b/tests/test_orange.py index 89fbb60f..7dabd9c1 100644 --- a/tests/test_orange.py +++ b/tests/test_orange.py @@ -19,16 +19,13 @@ import json import httmock import pytest - from django.contrib.contenttypes.models import ContentType from django.utils.encoding import force_text -from passerelle.apps.orange.models import OrangeSMSGateway, OrangeError - -from passerelle.base.models import ApiUser, AccessRight, Job +from passerelle.apps.orange.models import OrangeError, OrangeSMSGateway +from passerelle.base.models import AccessRight, ApiUser, Job from passerelle.utils.jsonresponse import APIError - NETLOC = 'contact-everyone.orange-business.com' JSON_HEADERS = {'content-type': 'application/json'} PAYLOAD = { diff --git a/tests/test_phonecalls.py b/tests/test_phonecalls.py index 9517bd77..7408624f 100644 --- a/tests/test_phonecalls.py +++ b/tests/test_phonecalls.py @@ -1,12 +1,12 @@ -import pytest -import utils import re +import pytest +import utils from django.contrib.contenttypes.models import ContentType from django.utils.timezone import now, timedelta -from passerelle.apps.phonecalls.models import PhoneCalls, Call -from passerelle.base.models import ApiUser, AccessRight +from passerelle.apps.phonecalls.models import Call, PhoneCalls +from passerelle.base.models import AccessRight, ApiUser @pytest.fixture diff --git a/tests/test_photon.py b/tests/test_photon.py index 30f82b35..0f130e2f 100644 --- a/tests/test_photon.py +++ b/tests/test_photon.py @@ -15,18 +15,16 @@ # along with this program. If not, see . import datetime -from httmock import urlmatch, HTTMock, response, remember_called import json + import mock import pytest import utils - +from django.core.management import call_command +from httmock import HTTMock, remember_called, response, urlmatch from requests.exceptions import HTTPError -from django.core.management import call_command - -from passerelle.apps.photon.models import Photon, AddressCacheModel - +from passerelle.apps.photon.models import AddressCacheModel, Photon CONTENT = { "features": [ diff --git a/tests/test_planitech.py b/tests/test_planitech.py index 7ff1df7f..9f95afe6 100644 --- a/tests/test_planitech.py +++ b/tests/test_planitech.py @@ -1,16 +1,16 @@ import collections from datetime import datetime -from django.contrib.contenttypes.models import ContentType -from django.core.cache import cache -from httmock import urlmatch, HTTMock import mock import pytest import requests +from django.contrib.contenttypes.models import ContentType +from django.core.cache import cache +from httmock import HTTMock, urlmatch -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.planitech import mste -from passerelle.contrib.planitech.models import PlanitechConnector, Pairing, get_extensions +from passerelle.contrib.planitech.models import Pairing, PlanitechConnector, get_extensions from passerelle.utils.jsonresponse import APIError diff --git a/tests/test_proxylogger.py b/tests/test_proxylogger.py index af61769a..96b1df60 100644 --- a/tests/test_proxylogger.py +++ b/tests/test_proxylogger.py @@ -1,25 +1,23 @@ # -*- coding: utf-8 -*- -import logging import datetime import itertools +import logging import pytest -from httmock import HTTMock - +import utils from django.core.exceptions import ValidationError -from django.utils.six import PY2 from django.utils.log import AdminEmailHandler +from django.utils.six import PY2 +from httmock import HTTMock +from test_availability import down_mock, up_mock -from passerelle.base.models import ProxyLogger, ResourceLog from passerelle.apps.feeds.models import Feed +from passerelle.base.models import ProxyLogger, ResourceLog from passerelle.contrib.stub_invoices.models import StubInvoicesConnector from passerelle.utils.api import endpoint from passerelle.utils.jsonresponse import APIError -from test_availability import down_mock, up_mock -import utils - @pytest.fixture def connector(): diff --git a/tests/test_requests.py b/tests/test_requests.py index e2a96770..d3581def 100644 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -1,19 +1,17 @@ import logging -import pytest -import mohawk import mock +import mohawk +import pytest import requests - -from httmock import urlmatch, HTTMock, response - -from django.test import override_settings - -from passerelle.utils import Request, CaseInsensitiveDict, log_http_request -from passerelle.utils.http_authenticators import HawkAuth import utils +from django.test import override_settings +from httmock import HTTMock, response, urlmatch from utils import FakedResponse +from passerelle.utils import CaseInsensitiveDict, Request, log_http_request +from passerelle.utils.http_authenticators import HawkAuth + class MockFileField(object): def __init__(self, path): diff --git a/tests/test_rsa13.py b/tests/test_rsa13.py index bc09a6b9..2f7569b2 100644 --- a/tests/test_rsa13.py +++ b/tests/test_rsa13.py @@ -21,7 +21,6 @@ from urllib.parse import parse_qs import httmock import pytest - import utils from passerelle.contrib.rsa13.models import RSA13Resource diff --git a/tests/test_sigerly.py b/tests/test_sigerly.py index e2015e23..309e4e1f 100644 --- a/tests/test_sigerly.py +++ b/tests/test_sigerly.py @@ -19,11 +19,9 @@ import os import httmock import pytest - -from passerelle.contrib.sigerly.models import Sigerly - import utils +from passerelle.contrib.sigerly.models import Sigerly TEST_BASE_DIR = os.path.join(os.path.dirname(__file__), 'data', 'sigerly') diff --git a/tests/test_sms.py b/tests/test_sms.py index 36879b87..c0ed21d4 100644 --- a/tests/test_sms.py +++ b/tests/test_sms.py @@ -13,28 +13,26 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import isodate import json import logging + +import isodate import mock import pytest -from requests import RequestException - +import utils from django.conf import settings from django.contrib.contenttypes.models import ContentType from django.urls import reverse from django.utils.translation import ugettext as _ +from requests import RequestException +from test_manager import login from passerelle.apps.choosit.models import ChoositSMSGateway from passerelle.apps.ovh.models import OVHSMSGateway -from passerelle.base.models import ApiUser, AccessRight, Job, ResourceLog -from passerelle.sms.models import SMSResource, SMSLog +from passerelle.base.models import AccessRight, ApiUser, Job, ResourceLog +from passerelle.sms.models import SMSLog, SMSResource from passerelle.utils.jsonresponse import APIError -from test_manager import login - -import utils - pytestmark = pytest.mark.django_db klasses = SMSResource.__subclasses__() diff --git a/tests/test_soap.py b/tests/test_soap.py index e493329a..5e81c628 100644 --- a/tests/test_soap.py +++ b/tests/test_soap.py @@ -13,17 +13,16 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from django.utils.encoding import force_bytes -import pytest import mock +import pytest import requests +from django.utils.encoding import force_bytes from zeep import Settings +from zeep.exceptions import TransportError, XMLParseError from zeep.plugins import Plugin -from zeep.exceptions import XMLParseError, TransportError from passerelle.utils.soap import SOAPClient - WSDL = 'tests/data/soap.wsdl' diff --git a/tests/test_solis.py b/tests/test_solis.py index d0601709..e2d6e1dd 100644 --- a/tests/test_solis.py +++ b/tests/test_solis.py @@ -1,15 +1,14 @@ # -*- coding: utf-8 -*- -import pytest import mock +import pytest import utils - from django.contrib.contenttypes.models import ContentType from django.core.files import File from django.utils.six import StringIO from passerelle.apps.solis.models import Solis, SolisAPALink, SolisRSALink, unflat -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser NAMEID = 'bebe' APATOKEN = '''{"token":"1c2562e6-b0a9-4bcf-b669-e33a42397147","endDate":"2017-10-11T10:22:40.342"}''' diff --git a/tests/test_solis_afi_mss.py b/tests/test_solis_afi_mss.py index 658ba3ae..f17a18c7 100644 --- a/tests/test_solis_afi_mss.py +++ b/tests/test_solis_afi_mss.py @@ -19,7 +19,6 @@ import os import mock import pytest - import utils from passerelle.contrib.solis_afi_mss.models import SolisAfiMss diff --git a/tests/test_solis_apa.py b/tests/test_solis_apa.py index fed1a565..c41cf4df 100644 --- a/tests/test_solis_apa.py +++ b/tests/test_solis_apa.py @@ -1,18 +1,16 @@ import copy -import os import json +import os from decimal import Decimal import mock import pytest - -from django.urls import reverse from django.contrib.contenttypes.models import ContentType +from django.urls import reverse -from passerelle.base.models import ApiUser, AccessRight -from passerelle.contrib.solis_apa.models import SolisAPA +from passerelle.base.models import AccessRight, ApiUser from passerelle.contrib.solis_apa import integration - +from passerelle.contrib.solis_apa.models import SolisAPA TEST_BASE_DIR = os.path.join(os.path.dirname(__file__), 'data', 'solis_apa') diff --git a/tests/test_strasbourg_eu.py b/tests/test_strasbourg_eu.py index fb200ed8..459b9b99 100644 --- a/tests/test_strasbourg_eu.py +++ b/tests/test_strasbourg_eu.py @@ -1,14 +1,12 @@ # -*- coding: utf-8 -*- -from httmock import all_requests, HTTMock import pytest - -from django.contrib.contenttypes.models import ContentType - -from passerelle.contrib.strasbourg_eu.models import StrasbourgEu -from passerelle.base.models import ApiUser, AccessRight - import utils +from django.contrib.contenttypes.models import ContentType +from httmock import HTTMock, all_requests + +from passerelle.base.models import AccessRight, ApiUser +from passerelle.contrib.strasbourg_eu.models import StrasbourgEu INTERESTS_EXAMPLE = u"""{ "interests": [ diff --git a/tests/test_tcl.py b/tests/test_tcl.py index 1bda8041..a06c65bf 100644 --- a/tests/test_tcl.py +++ b/tests/test_tcl.py @@ -1,12 +1,11 @@ import copy -from django.utils.six.moves.urllib import parse as urlparse import mock import pytest - -from passerelle.contrib.tcl.models import Tcl, Line, Stop - import utils +from django.utils.six.moves.urllib import parse as urlparse + +from passerelle.contrib.tcl.models import Line, Stop, Tcl LIGNE_BUS = { "values": [ diff --git a/tests/test_teamnet_axel.py b/tests/test_teamnet_axel.py index dccb1900..95ad2a91 100644 --- a/tests/test_teamnet_axel.py +++ b/tests/test_teamnet_axel.py @@ -1,11 +1,9 @@ -from requests.exceptions import ConnectionError import mock import pytest - import utils +from requests.exceptions import ConnectionError -from passerelle.contrib.teamnet_axel.models import TeamnetAxel -from passerelle.contrib.teamnet_axel.models import Link +from passerelle.contrib.teamnet_axel.models import Link, TeamnetAxel from passerelle.utils.jsonresponse import APIError diff --git a/tests/test_toulouse_axel.py b/tests/test_toulouse_axel.py index 871a7b41..c0ea55bd 100644 --- a/tests/test_toulouse_axel.py +++ b/tests/test_toulouse_axel.py @@ -17,41 +17,35 @@ from __future__ import unicode_literals -from contextlib import contextmanager import copy import datetime import decimal import json -import mock import os import xml.etree.ElementTree as ET - -from django.core.cache import cache +from contextlib import contextmanager import freezegun -import pytest -import xmlschema import jsonschema +import mock +import pytest +import utils +import xmlschema +from django.core.cache import cache -from passerelle.contrib.toulouse_axel.models import ( - Link, - Lock, - ToulouseAxel, -) from passerelle.contrib.toulouse_axel import schemas +from passerelle.contrib.toulouse_axel.models import Link, Lock, ToulouseAxel from passerelle.contrib.toulouse_axel.utils import ( - situation_familiale_mapping, csp_mapping, lien_parente_mapping, - type_regime_mapping, regime_mapping, + situation_familiale_mapping, + type_regime_mapping, upperize, ) -from passerelle.contrib.utils.axel import AxelError -from passerelle.contrib.utils.axel import OperationResult +from passerelle.contrib.utils.axel import AxelError, OperationResult from passerelle.utils.jsonresponse import APIError from passerelle.utils.soap import SOAPError -import utils @pytest.fixture diff --git a/tests/test_toulouse_axel_schema.py b/tests/test_toulouse_axel_schema.py index bb8288f9..67c8e1ae 100644 --- a/tests/test_toulouse_axel_schema.py +++ b/tests/test_toulouse_axel_schema.py @@ -16,11 +16,11 @@ import os -from passerelle.contrib.utils.axel import AxelSchema - import pytest import xmlschema +from passerelle.contrib.utils.axel import AxelSchema + XSD_BASE_DIR = os.path.join( os.path.dirname(os.path.abspath(__file__)), '../passerelle/contrib/toulouse_axel/xsd' ) diff --git a/tests/test_toulouse_axel_utils.py b/tests/test_toulouse_axel_utils.py index 6d34fe11..f0324524 100644 --- a/tests/test_toulouse_axel_utils.py +++ b/tests/test_toulouse_axel_utils.py @@ -15,6 +15,7 @@ # along with this program. If not, see . import datetime + import pytest from passerelle.contrib.toulouse_axel.utils import ( diff --git a/tests/test_utils_files.py b/tests/test_utils_files.py index 294107c2..d9a5c877 100644 --- a/tests/test_utils_files.py +++ b/tests/test_utils_files.py @@ -15,9 +15,9 @@ import os +import pytest from django.core.files.storage import default_storage from django.utils.encoding import force_bytes -import pytest from passerelle.utils.files import atomic_write diff --git a/tests/test_utils_json.py b/tests/test_utils_json.py index 24a2d547..b408d4d3 100644 --- a/tests/test_utils_json.py +++ b/tests/test_utils_json.py @@ -29,11 +29,11 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import pytest - import jsonschema +import pytest -from passerelle.utils.json import flatten, unflatten, flatten_json_schema, FLATTEN_SEPARATOR as SEP +from passerelle.utils.json import FLATTEN_SEPARATOR as SEP +from passerelle.utils.json import flatten, flatten_json_schema, unflatten def test_unflatten_base(): diff --git a/tests/test_utils_sftp.py b/tests/test_utils_sftp.py index 7c80f8b8..2e860b4f 100644 --- a/tests/test_utils_sftp.py +++ b/tests/test_utils_sftp.py @@ -17,12 +17,11 @@ import os import pytest - from django.core.files.uploadedfile import SimpleUploadedFile from django.db import models from django.utils.encoding import force_text -from passerelle.utils.sftp import SFTP, SFTPFormField, SFTPField +from passerelle.utils.sftp import SFTP, SFTPField, SFTPFormField @pytest.fixture diff --git a/tests/test_utils_xml.py b/tests/test_utils_xml.py index cdca4f01..87c18563 100644 --- a/tests/test_utils_xml.py +++ b/tests/test_utils_xml.py @@ -16,12 +16,11 @@ import xml.etree.ElementTree as ET +import jsonschema import xmlschema -import jsonschema - -from passerelle.utils.xml import to_json, text_content, JSONSchemaFromXMLSchema -from passerelle.utils.json import flatten_json_schema, flatten, unflatten +from passerelle.utils.json import flatten, flatten_json_schema, unflatten +from passerelle.utils.xml import JSONSchemaFromXMLSchema, text_content, to_json def test_text_content(): diff --git a/tests/test_utils_zip.py b/tests/test_utils_zip.py index 4e31441d..5176541d 100644 --- a/tests/test_utils_zip.py +++ b/tests/test_utils_zip.py @@ -27,8 +27,8 @@ import pytest from passerelle.utils.zip import ( ZipTemplate, ZipTemplateDoesNotExist, - ZipTemplateSyntaxError, ZipTemplateError, + ZipTemplateSyntaxError, ) diff --git a/tests/test_vivaticket.py b/tests/test_vivaticket.py index 26525f43..f93457c8 100644 --- a/tests/test_vivaticket.py +++ b/tests/test_vivaticket.py @@ -1,13 +1,11 @@ # -*- coding: utf-8 -*- import mock import pytest +import utils from passerelle.apps.vivaticket.models import VivaTicket - from passerelle.utils.jsonresponse import APIError -import utils - ERROR_RESPONSE = """{ "Message": "Une erreur s’est produite." }""" diff --git a/tests/utils.py b/tests/utils.py index 1c0f5a80..dc0be7be 100644 --- a/tests/utils.py +++ b/tests/utils.py @@ -1,13 +1,12 @@ import json -import mock import httmock - +import mock from django.contrib.contenttypes.models import ContentType from django.urls import reverse from django.utils.six.moves.urllib import parse as urlparse -from passerelle.base.models import ApiUser, AccessRight +from passerelle.base.models import AccessRight, ApiUser from passerelle.compat import json_loads diff --git a/tests/wcs/conftest.py b/tests/wcs/conftest.py index 41cfd6bb..8716906b 100644 --- a/tests/wcs/conftest.py +++ b/tests/wcs/conftest.py @@ -16,20 +16,20 @@ # along with this program. If not, see . -import pickle -import sys -import time -import os -import shutil -import random -import socket -import tempfile import contextlib +import os +import pickle +import random +import shutil +import socket +import sys +import tempfile +import time -from django.utils.six.moves import configparser as ConfigParser +import httmock import psycopg2 import pytest -import httmock +from django.utils.six.moves import configparser as ConfigParser def find_free_tcp_port(): @@ -333,8 +333,8 @@ class DefaultWcsHost(WcsHost): get_publisher().write_cfg() def wcs_init_02_create_user(self): - from quixote import get_publisher from qommon.ident.password_accounts import PasswordAccount + from quixote import get_publisher pub = get_publisher() Role = pub.role_class @@ -366,11 +366,12 @@ class DefaultWcsHost(WcsHost): def wcs_init_03_create_data(self): import datetime import random + from quixote import get_publisher + from wcs import fields from wcs.categories import Category from wcs.formdef import FormDef - from wcs import fields pub = get_publisher() Role = pub.role_class diff --git a/tests/wcs/test_conftest.py b/tests/wcs/test_conftest.py index beb1739e..ec400f3d 100644 --- a/tests/wcs/test_conftest.py +++ b/tests/wcs/test_conftest.py @@ -16,9 +16,8 @@ # along with this program. If not, see . import pytest - -from django.utils.six.moves.urllib import parse as urlparse import requests +from django.utils.six.moves.urllib import parse as urlparse def test_wcs_fixture(wcs_host): diff --git a/tests/wcs/test_sp_fr.py b/tests/wcs/test_sp_fr.py index b35ed1b2..46d40673 100644 --- a/tests/wcs/test_sp_fr.py +++ b/tests/wcs/test_sp_fr.py @@ -15,15 +15,13 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import pytest import mock +import pytest +import utils from passerelle.apps.sp_fr.models import Resource from passerelle.utils.sftp import SFTP -from passerelle.utils.wcs import get_wcs_choices, FormDefRef - -import utils - +from passerelle.utils.wcs import FormDefRef, get_wcs_choices DUMMY_CONTENT = { 'DILA': {