diff --git a/chrono/agendas/management/commands/cancel_events.py b/chrono/agendas/management/commands/cancel_events.py index 926634a3..37ff4af8 100644 --- a/chrono/agendas/management/commands/cancel_events.py +++ b/chrono/agendas/management/commands/cancel_events.py @@ -16,11 +16,10 @@ from datetime import timedelta -from requests import RequestException - from django.core.management.base import BaseCommand from django.db import transaction from django.utils import timezone +from requests import RequestException from chrono.agendas.models import Event, EventCancellationReport diff --git a/chrono/agendas/management/commands/send_booking_reminders.py b/chrono/agendas/management/commands/send_booking_reminders.py index c7e65441..4b3495ef 100644 --- a/chrono/agendas/management/commands/send_booking_reminders.py +++ b/chrono/agendas/management/commands/send_booking_reminders.py @@ -15,12 +15,10 @@ # along with this program. If not, see . from datetime import datetime, timedelta -from urllib.parse import urljoin -from requests import RequestException from smtplib import SMTPException +from urllib.parse import urljoin import pytz - from django.conf import settings from django.core.mail import send_mail from django.core.management.base import BaseCommand @@ -29,6 +27,7 @@ from django.db.transaction import atomic from django.template.loader import render_to_string from django.utils import timezone, translation from django.utils.translation import ugettext_lazy as _ +from requests import RequestException from chrono.agendas.models import Agenda, Booking from chrono.utils.requests_wrapper import requests diff --git a/chrono/agendas/migrations/0001_initial.py b/chrono/agendas/migrations/0001_initial.py index 741e9486..71e3d60c 100644 --- a/chrono/agendas/migrations/0001_initial.py +++ b/chrono/agendas/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/chrono/agendas/migrations/0002_event.py b/chrono/agendas/migrations/0002_event.py index 75d346c5..4bd52d9f 100644 --- a/chrono/agendas/migrations/0002_event.py +++ b/chrono/agendas/migrations/0002_event.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/chrono/agendas/migrations/0003_booking.py b/chrono/agendas/migrations/0003_booking.py index d7a1996e..5ea140fb 100644 --- a/chrono/agendas/migrations/0003_booking.py +++ b/chrono/agendas/migrations/0003_booking.py @@ -1,8 +1,8 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -from django.db import models, migrations import jsonfield.fields +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0004_booking_cancellation_datetime.py b/chrono/agendas/migrations/0004_booking_cancellation_datetime.py index 2eac49c0..d5d3fbc0 100644 --- a/chrono/agendas/migrations/0004_booking_cancellation_datetime.py +++ b/chrono/agendas/migrations/0004_booking_cancellation_datetime.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/chrono/agendas/migrations/0006_auto_20160707_1357.py b/chrono/agendas/migrations/0006_auto_20160707_1357.py index ec257816..5046f956 100644 --- a/chrono/agendas/migrations/0006_auto_20160707_1357.py +++ b/chrono/agendas/migrations/0006_auto_20160707_1357.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/chrono/agendas/migrations/0020_auto_20171102_1021.py b/chrono/agendas/migrations/0020_auto_20171102_1021.py index 49d7aa68..4bdb3d48 100644 --- a/chrono/agendas/migrations/0020_auto_20171102_1021.py +++ b/chrono/agendas/migrations/0020_auto_20171102_1021.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/chrono/agendas/migrations/0025_auto_20181206_1252.py b/chrono/agendas/migrations/0025_auto_20181206_1252.py index e733eca7..be9d1d6b 100644 --- a/chrono/agendas/migrations/0025_auto_20181206_1252.py +++ b/chrono/agendas/migrations/0025_auto_20181206_1252.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.12 on 2018-12-06 12:52 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0037_timeperiodexceptionsource_ics_file.py b/chrono/agendas/migrations/0037_timeperiodexceptionsource_ics_file.py index b6ca2e71..f346154d 100644 --- a/chrono/agendas/migrations/0037_timeperiodexceptionsource_ics_file.py +++ b/chrono/agendas/migrations/0037_timeperiodexceptionsource_ics_file.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import chrono.agendas.models from django.db import migrations, models +import chrono.agendas.models + class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0038_start_virtual_agendas.py b/chrono/agendas/migrations/0038_start_virtual_agendas.py index 29de801c..9f3bc573 100644 --- a/chrono/agendas/migrations/0038_start_virtual_agendas.py +++ b/chrono/agendas/migrations/0038_start_virtual_agendas.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-02-20 12:15 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/chrono/agendas/migrations/0040_timeperiod_agenda.py b/chrono/agendas/migrations/0040_timeperiod_agenda.py index e07ec7d8..9c762447 100644 --- a/chrono/agendas/migrations/0040_timeperiod_agenda.py +++ b/chrono/agendas/migrations/0040_timeperiod_agenda.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-02-26 13:27 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0047_auto_20200617_1521.py b/chrono/agendas/migrations/0047_auto_20200617_1521.py index 5653cbab..b928fd80 100644 --- a/chrono/agendas/migrations/0047_auto_20200617_1521.py +++ b/chrono/agendas/migrations/0047_auto_20200617_1521.py @@ -2,9 +2,10 @@ # Generated by Django 1.11.18 on 2020-06-17 13:21 from __future__ import unicode_literals -import chrono.agendas.models from django.db import migrations, models +import chrono.agendas.models + class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0050_event_slug.py b/chrono/agendas/migrations/0050_event_slug.py index d8153c24..370b8922 100644 --- a/chrono/agendas/migrations/0050_event_slug.py +++ b/chrono/agendas/migrations/0050_event_slug.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import chrono.agendas.models from django.db import migrations, models +import chrono.agendas.models + class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0053_event_date_range_constraint.py b/chrono/agendas/migrations/0053_event_date_range_constraint.py index 3b298f11..97880bc0 100644 --- a/chrono/agendas/migrations/0053_event_date_range_constraint.py +++ b/chrono/agendas/migrations/0053_event_date_range_constraint.py @@ -4,7 +4,6 @@ from __future__ import unicode_literals from django.db import migrations, transaction from django.db.utils import InternalError, OperationalError, ProgrammingError - sql_forwards = """ ALTER TABLE agendas_event ADD CONSTRAINT tstzrange_constraint diff --git a/chrono/agendas/migrations/0054_agenda_categories.py b/chrono/agendas/migrations/0054_agenda_categories.py index e68c0bc6..35766d26 100644 --- a/chrono/agendas/migrations/0054_agenda_categories.py +++ b/chrono/agendas/migrations/0054_agenda_categories.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/chrono/agendas/migrations/0056_auto_20200811_1611.py b/chrono/agendas/migrations/0056_auto_20200811_1611.py index 18df6a49..aa9a35d8 100644 --- a/chrono/agendas/migrations/0056_auto_20200811_1611.py +++ b/chrono/agendas/migrations/0056_auto_20200811_1611.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.18 on 2020-08-11 14:11 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion import jsonfield.fields +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0060_auto_20200903_1041.py b/chrono/agendas/migrations/0060_auto_20200903_1041.py index 2096ec2d..98c5b124 100644 --- a/chrono/agendas/migrations/0060_auto_20200903_1041.py +++ b/chrono/agendas/migrations/0060_auto_20200903_1041.py @@ -3,8 +3,8 @@ from __future__ import unicode_literals import django.contrib.postgres.fields -from django.db import migrations, models import django.db.models.deletion +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0062_auto_20200915_1401.py b/chrono/agendas/migrations/0062_auto_20200915_1401.py index 202d2e58..3f682a1e 100644 --- a/chrono/agendas/migrations/0062_auto_20200915_1401.py +++ b/chrono/agendas/migrations/0062_auto_20200915_1401.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-09-15 12:01 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/chrono/agendas/migrations/0064_booking_form_url.py b/chrono/agendas/migrations/0064_booking_form_url.py index cd4a63d2..ed232038 100644 --- a/chrono/agendas/migrations/0064_booking_form_url.py +++ b/chrono/agendas/migrations/0064_booking_form_url.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals -import chrono.agendas.models from django.db import migrations, models +import chrono.agendas.models + class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0065_unavailability_calendar.py b/chrono/agendas/migrations/0065_unavailability_calendar.py index 39702b23..16fc0b6f 100644 --- a/chrono/agendas/migrations/0065_unavailability_calendar.py +++ b/chrono/agendas/migrations/0065_unavailability_calendar.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.18 on 2020-10-05 12:37 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/chrono/agendas/migrations/0070_auto_20201202_1834.py b/chrono/agendas/migrations/0070_auto_20201202_1834.py index 95c199a3..db6b613a 100644 --- a/chrono/agendas/migrations/0070_auto_20201202_1834.py +++ b/chrono/agendas/migrations/0070_auto_20201202_1834.py @@ -2,8 +2,8 @@ # Generated by Django 1.11.29 on 2020-12-02 17:34 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/chrono/agendas/migrations/0075_auto_20210216_1553.py b/chrono/agendas/migrations/0075_auto_20210216_1553.py index 584ddf50..05ced74e 100644 --- a/chrono/agendas/migrations/0075_auto_20210216_1553.py +++ b/chrono/agendas/migrations/0075_auto_20210216_1553.py @@ -2,9 +2,9 @@ # Generated by Django 1.11.18 on 2021-02-16 14:53 from __future__ import unicode_literals -from django.db import migrations, models import django.db.models.deletion import jsonfield.fields +from django.db import migrations, models class Migration(migrations.Migration): diff --git a/chrono/agendas/migrations/0078_absence_reasons.py b/chrono/agendas/migrations/0078_absence_reasons.py index 028ecd88..32d10406 100644 --- a/chrono/agendas/migrations/0078_absence_reasons.py +++ b/chrono/agendas/migrations/0078_absence_reasons.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/chrono/agendas/models.py b/chrono/agendas/models.py index 81b0888d..03b05f75 100644 --- a/chrono/agendas/models.py +++ b/chrono/agendas/models.py @@ -15,8 +15,8 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import copy import collections +import copy import datetime import functools import itertools @@ -24,20 +24,18 @@ import math import sys import uuid +import django import requests import vobject -from dateutil.rrule import rrule, rruleset, DAILY, WEEKLY - -import django +from dateutil.rrule import DAILY, WEEKLY, rrule, rruleset from django.conf import settings from django.contrib.auth.models import Group from django.contrib.postgres.fields import ArrayField -from django.core.exceptions import FieldDoesNotExist -from django.core.exceptions import ValidationError +from django.core.exceptions import FieldDoesNotExist, ValidationError from django.core.validators import MaxValueValidator, MinValueValidator -from django.db import models, transaction, connection -from django.db.models import Count, Q, Case, When -from django.template import engines, Context, Template, TemplateSyntaxError, VariableDoesNotExist +from django.db import connection, models, transaction +from django.db.models import Case, Count, Q, When +from django.template import Context, Template, TemplateSyntaxError, VariableDoesNotExist, engines from django.urls import reverse from django.utils import functional from django.utils.dates import WEEKDAYS @@ -45,15 +43,15 @@ from django.utils.encoding import force_text from django.utils.formats import date_format from django.utils.module_loading import import_string from django.utils.text import slugify -from django.utils.timezone import localtime, now, make_aware, make_naive, is_aware, utc -from django.utils.translation import ugettext_lazy as _, ugettext, ungettext - +from django.utils.timezone import is_aware, localtime, make_aware, make_naive, now, utc +from django.utils.translation import ugettext +from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ungettext from jsonfield import JSONField from chrono.interval import Interval, IntervalSet from chrono.utils.requests_wrapper import requests as requests_wrapper - AGENDA_KINDS = ( ('events', _('Events')), ('meetings', _('Meetings')), diff --git a/chrono/api/utils.py b/chrono/api/utils.py index 0ddba265..2646b8bb 100644 --- a/chrono/api/utils.py +++ b/chrono/api/utils.py @@ -17,7 +17,6 @@ from django.utils.encoding import force_text - from rest_framework.response import Response as DRFResponse from rest_framework.views import exception_handler as DRF_exception_handler diff --git a/chrono/api/views.py b/chrono/api/views.py index e11bca72..fd25c1ee 100644 --- a/chrono/api/views.py +++ b/chrono/api/views.py @@ -27,18 +27,18 @@ from django.urls import reverse from django.utils.dateparse import parse_date, parse_datetime from django.utils.encoding import force_text from django.utils.formats import date_format -from django.utils.timezone import now, is_naive, make_aware, localtime +from django.utils.timezone import is_naive, localtime, make_aware, now from django.utils.translation import gettext_noop from django.utils.translation import ugettext_lazy as _ - from django_filters import rest_framework as filters from rest_framework import permissions, serializers, status from rest_framework.exceptions import ValidationError from rest_framework.generics import ListAPIView from rest_framework.views import APIView -from chrono.api.utils import Response, APIError -from ..agendas.models import Agenda, Event, Booking, MeetingType, TimePeriodException, Desk, BookingColor +from chrono.api.utils import APIError, Response + +from ..agendas.models import Agenda, Booking, BookingColor, Desk, Event, MeetingType, TimePeriodException from ..interval import IntervalSet diff --git a/chrono/interval.py b/chrono/interval.py index 1af6ea04..4dcd2d5b 100644 --- a/chrono/interval.py +++ b/chrono/interval.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 collections import bisect +import collections Interval = collections.namedtuple('Interval', ['begin', 'end']) diff --git a/chrono/manager/forms.py b/chrono/manager/forms.py index 85bd044e..185248eb 100644 --- a/chrono/manager/forms.py +++ b/chrono/manager/forms.py @@ -27,25 +27,25 @@ from django.db import transaction from django.forms import ValidationError from django.utils.encoding import force_text from django.utils.six import StringIO -from django.utils.timezone import now, make_aware, make_naive +from django.utils.timezone import make_aware, make_naive, now from django.utils.translation import ugettext_lazy as _ from chrono.agendas.models import ( + WEEKDAYS_LIST, AbsenceReason, Agenda, - Booking, - Event, - MeetingType, - TimePeriod, - Desk, - TimePeriodException, - TimePeriodExceptionSource, - VirtualMember, - Resource, AgendaNotificationsSettings, AgendaReminderSettings, - WEEKDAYS_LIST, + Booking, + Desk, + Event, + MeetingType, + Resource, + TimePeriod, + TimePeriodException, + TimePeriodExceptionSource, UnavailabilityCalendar, + VirtualMember, generate_slug, ) diff --git a/chrono/manager/views.py b/chrono/manager/views.py index 0275b09e..f7e39fa1 100644 --- a/chrono/manager/views.py +++ b/chrono/manager/views.py @@ -19,97 +19,94 @@ import datetime import itertools import json import math -import requests import uuid +import requests from django.contrib import messages from django.core.exceptions import PermissionDenied from django.db import transaction -from django.db.models import Q, Value, BooleanField -from django.db.models import Min, Max +from django.db.models import BooleanField, Max, Min, Q, Value from django.http import Http404, HttpResponse, HttpResponseRedirect -from django.shortcuts import get_object_or_404 -from django.shortcuts import redirect -from django.shortcuts import render +from django.shortcuts import get_object_or_404, redirect, render from django.template.defaultfilters import title from django.template.loader import render_to_string from django.urls import reverse, reverse_lazy from django.utils import lorem_ipsum from django.utils.dates import MONTHS +from django.utils.encoding import force_text from django.utils.html import format_html -from django.utils.timezone import now, make_aware, make_naive, localtime +from django.utils.timezone import localtime, make_aware, make_naive, now from django.utils.translation import ugettext_lazy as _ from django.utils.translation import ungettext -from django.utils.encoding import force_text from django.views.generic import ( - DetailView, CreateView, - UpdateView, - ListView, - DeleteView, - FormView, - TemplateView, DayArchiveView, + DeleteView, + DetailView, + FormView, + ListView, MonthArchiveView, RedirectView, + TemplateView, + UpdateView, View, ) from chrono.agendas.models import ( - Agenda, - Event, - MeetingType, - TimePeriod, - Booking, - Desk, - TimePeriodException, - ICSError, - AgendaImportError, - TimePeriodExceptionSource, - VirtualMember, - Resource, - Category, - EventCancellationReport, - AgendaNotificationsSettings, - AgendaReminderSettings, - UnavailabilityCalendar, - BookingColor, AbsenceReason, AbsenceReasonGroup, + Agenda, + AgendaImportError, + AgendaNotificationsSettings, + AgendaReminderSettings, + Booking, + BookingColor, + Category, + Desk, + Event, + EventCancellationReport, + ICSError, + MeetingType, + Resource, + TimePeriod, + TimePeriodException, + TimePeriodExceptionSource, + UnavailabilityCalendar, + VirtualMember, ) from .forms import ( AgendaAddForm, - AgendaEditForm, AgendaBookingDelaysForm, - AgendaRolesForm, - NewEventForm, - EventForm, - NewMeetingTypeForm, - MeetingTypeForm, - TimePeriodForm, - ImportEventsForm, - NewDeskForm, - DeskForm, - NewTimePeriodExceptionForm, - TimePeriodExceptionForm, - ExceptionsImportForm, - AgendasImportForm, - TimePeriodAddForm, - TimePeriodExceptionSourceReplaceForm, - VirtualMemberForm, - AgendaResourceForm, AgendaDuplicateForm, - BookingCancelForm, - EventCancelForm, + AgendaEditForm, AgendaNotificationsForm, AgendaReminderForm, + AgendaResourceForm, + AgendaRolesForm, + AgendasExportForm, + AgendasImportForm, + BookingAbsenceReasonForm, + BookingCancelForm, + DeskForm, + EventCancelForm, + EventForm, + ExceptionsImportForm, + ImportEventsForm, + MeetingTypeForm, + NewDeskForm, + NewEventForm, + NewMeetingTypeForm, + NewTimePeriodExceptionForm, + TimePeriodAddForm, + TimePeriodExceptionForm, + TimePeriodExceptionSourceReplaceForm, + TimePeriodForm, UnavailabilityCalendarAddForm, UnavailabilityCalendarEditForm, - AgendasExportForm, - BookingAbsenceReasonForm, + VirtualMemberForm, ) -from .utils import import_site, export_site +from .utils import export_site, import_site FUTURE_BOOKING_ERROR_MSG = _('This cannot be removed as there are bookings for a future date.') diff --git a/chrono/manager/widgets.py b/chrono/manager/widgets.py index d93e4d1e..bba7bb0f 100644 --- a/chrono/manager/widgets.py +++ b/chrono/manager/widgets.py @@ -16,7 +16,7 @@ from django.forms.fields import SplitDateTimeField -from django.forms.widgets import TimeInput, SelectMultiple, SplitDateTimeWidget +from django.forms.widgets import SelectMultiple, SplitDateTimeWidget, TimeInput from django.utils.safestring import mark_safe diff --git a/chrono/settings.py b/chrono/settings.py index f4a334ad..8fcb8de3 100644 --- a/chrono/settings.py +++ b/chrono/settings.py @@ -24,6 +24,7 @@ and to disable DEBUG mode in production. """ import os + from django.conf.global_settings import STATICFILES_FINDERS _ = lambda s: s diff --git a/chrono/urls.py b/chrono/urls.py index 5f0e7006..003930e2 100644 --- a/chrono/urls.py +++ b/chrono/urls.py @@ -15,17 +15,15 @@ # along with this program. If not, see . from django.conf import settings -from django.contrib.auth.decorators import login_required from django.conf.urls import include, url from django.conf.urls.static import static +from django.contrib.auth.decorators import login_required from django.contrib.staticfiles.urls import staticfiles_urlpatterns -from .urls_utils import decorated_includes - -from .views import homepage, LoginView, LogoutView from .api.urls import urlpatterns as chrono_api_urls from .manager.urls import urlpatterns as chrono_manager_urls - +from .urls_utils import decorated_includes +from .views import LoginView, LogoutView, homepage urlpatterns = [ url(r'^$', homepage, name='home'), diff --git a/chrono/urls_utils.py b/chrono/urls_utils.py index dc768070..9c5d1318 100644 --- a/chrono/urls_utils.py +++ b/chrono/urls_utils.py @@ -17,7 +17,6 @@ # Decorating URL includes, import django - from django.contrib.auth.decorators import user_passes_test from django.core.exceptions import PermissionDenied from django.db.models import Q diff --git a/chrono/utils/requests_wrapper.py b/chrono/utils/requests_wrapper.py index 5505e193..17361d0c 100644 --- a/chrono/utils/requests_wrapper.py +++ b/chrono/utils/requests_wrapper.py @@ -17,15 +17,15 @@ import hashlib import logging -from requests import Response, Session as RequestsSession -from requests.auth import AuthBase - from django.conf import settings from django.core.cache import cache from django.utils.encoding import smart_bytes from django.utils.http import urlencode -from django.utils.six.moves.urllib import parse as urlparse from django.utils.six import BytesIO +from django.utils.six.moves.urllib import parse as urlparse +from requests import Response +from requests import Session as RequestsSession +from requests.auth import AuthBase from .signature import sign_url diff --git a/chrono/utils/signature.py b/chrono/utils/signature.py index efd560e1..0cc74c7c 100644 --- a/chrono/utils/signature.py +++ b/chrono/utils/signature.py @@ -16,17 +16,16 @@ import base64 import datetime -import hmac import hashlib +import hmac import random from django.conf import settings +from django.utils import six from django.utils.encoding import smart_bytes from django.utils.http import quote, urlencode -from django.utils import six from django.utils.six.moves.urllib import parse as urlparse - # Simple signature scheme for query strings diff --git a/chrono/utils/spooler.py b/chrono/utils/spooler.py index c0e6644d..3ab6c3ca 100644 --- a/chrono/utils/spooler.py +++ b/chrono/utils/spooler.py @@ -16,7 +16,6 @@ # along with this program. If not, see . from django.db import connection - from uwsgidecorators import spool from chrono.agendas.models import ICSError, TimePeriodExceptionSource diff --git a/chrono/views.py b/chrono/views.py index f26423a4..2ce68330 100644 --- a/chrono/views.py +++ b/chrono/views.py @@ -23,7 +23,6 @@ from django.shortcuts import resolve_url from django.utils.decorators import method_decorator from django.views.decorators.cache import never_cache - if 'mellon' in settings.INSTALLED_APPS: from mellon.utils import get_idps else: diff --git a/setup.py b/setup.py index 2412e9da..e10fd47d 100644 --- a/setup.py +++ b/setup.py @@ -6,14 +6,14 @@ import os import re import subprocess import sys - -from setuptools.command.install_lib import install_lib as _install_lib +from distutils.cmd import Command from distutils.command.build import build as _build from distutils.command.sdist import sdist -from distutils.cmd import Command from distutils.errors import CompileError from distutils.spawn import find_executable -from setuptools import setup, find_packages + +from setuptools import find_packages, setup +from setuptools.command.install_lib import install_lib as _install_lib class eo_sdist(sdist): diff --git a/tests/conftest.py b/tests/conftest.py index bc14a960..ebd52a1a 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -1,6 +1,5 @@ -import pytest - import django_webtest +import pytest @pytest.fixture diff --git a/tests/manager/test_absence_reason.py b/tests/manager/test_absence_reason.py index d4ffc298..d6db734a 100644 --- a/tests/manager/test_absence_reason.py +++ b/tests/manager/test_absence_reason.py @@ -5,7 +5,7 @@ from __future__ import unicode_literals import pytest from django.contrib.auth.models import Group, User -from chrono.agendas.models import Agenda, AbsenceReason, AbsenceReasonGroup +from chrono.agendas.models import AbsenceReason, AbsenceReasonGroup, Agenda from .test_all import login diff --git a/tests/manager/test_all.py b/tests/manager/test_all.py index 1f85d90e..46a1d704 100644 --- a/tests/manager/test_all.py +++ b/tests/manager/test_all.py @@ -1,13 +1,17 @@ # -*- coding: utf-8 -*- from __future__ import unicode_literals + import copy import datetime import json -import mock import os -from django.contrib.auth.models import User, Group +import freezegun +import mock +import pytest +import requests +from django.contrib.auth.models import Group, User from django.core.files.base import ContentFile from django.core.management import call_command from django.db import connection @@ -15,15 +19,12 @@ from django.test import override_settings from django.test.utils import CaptureQueriesContext from django.urls import reverse from django.utils.encoding import force_text -from django.utils.timezone import make_aware, now, localtime - -import freezegun -import pytest -import requests +from django.utils.timezone import localtime, make_aware, now from webtest import Upload from chrono.agendas.models import ( Agenda, + AgendaReminderSettings, Booking, Desk, Event, @@ -32,9 +33,8 @@ from chrono.agendas.models import ( TimePeriod, TimePeriodException, TimePeriodExceptionSource, - VirtualMember, - AgendaReminderSettings, UnavailabilityCalendar, + VirtualMember, ) from chrono.manager.forms import TimePeriodExceptionForm from chrono.utils.signature import check_query diff --git a/tests/manager/test_event.py b/tests/manager/test_event.py index 4ff1b45a..9427b656 100644 --- a/tests/manager/test_event.py +++ b/tests/manager/test_event.py @@ -15,7 +15,7 @@ from django.test.utils import CaptureQueriesContext from django.utils.timezone import localtime, make_aware, now from webtest import Upload -from chrono.agendas.models import Agenda, Booking, Event, AbsenceReasonGroup, AbsenceReason +from chrono.agendas.models import AbsenceReason, AbsenceReasonGroup, Agenda, Booking, Event from .test_all import login diff --git a/tests/test_agendas.py b/tests/test_agendas.py index 667a84fb..0ce5a243 100644 --- a/tests/test_agendas.py +++ b/tests/test_agendas.py @@ -1,35 +1,34 @@ -import pytest import datetime import json -import mock -import requests import smtplib - -from django.db.models import Q +import mock +import pytest +import requests from django.contrib.auth.models import Group, User from django.core.files.base import ContentFile from django.core.management import call_command +from django.db.models import Q from django.test import override_settings from django.utils.timezone import localtime, make_aware, now from chrono.agendas.models import ( Agenda, + AgendaNotificationsSettings, + AgendaReminderSettings, Booking, Category, Desk, Event, + EventCancellationReport, ICSError, MeetingType, Resource, TimePeriod, TimePeriodException, TimePeriodExceptionSource, - VirtualMember, - EventCancellationReport, - AgendaNotificationsSettings, - AgendaReminderSettings, UnavailabilityCalendar, + VirtualMember, ) pytestmark = pytest.mark.django_db diff --git a/tests/test_api.py b/tests/test_api.py index 6b2389cb..53c4a5fb 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1,19 +1,20 @@ # -*- coding: utf-8 -*- import datetime -import mock import urllib.parse as urlparse -import pytest +import mock +import pytest from django.contrib.auth import get_user_model from django.db import connection from django.test import override_settings from django.test.utils import CaptureQueriesContext -from django.utils.timezone import now, make_aware, localtime +from django.utils.timezone import localtime, make_aware, now from chrono.agendas.models import ( Agenda, Booking, + BookingColor, Category, Desk, Event, @@ -23,10 +24,8 @@ from chrono.agendas.models import ( TimePeriodException, UnavailabilityCalendar, VirtualMember, - BookingColor, ) - pytestmark = pytest.mark.django_db diff --git a/tests/test_import_export.py b/tests/test_import_export.py index e8203db6..235fce8e 100644 --- a/tests/test_import_export.py +++ b/tests/test_import_export.py @@ -4,39 +4,38 @@ from __future__ import unicode_literals import copy import datetime -from io import StringIO import json -import mock import os import shutil import sys import tempfile +from io import StringIO +import mock import pytest from dateutil.rrule import DAILY - from django.contrib.auth.models import Group -from django.core.management import call_command, CommandError +from django.core.management import CommandError, call_command from django.test import override_settings from django.utils.encoding import force_bytes from django.utils.timezone import make_aware, now from chrono.agendas.models import ( + AbsenceReasonGroup, Agenda, + AgendaImportError, + AgendaNotificationsSettings, + AgendaReminderSettings, Category, Desk, Event, + MeetingType, Resource, TimePeriod, TimePeriodException, TimePeriodExceptionSource, - AgendaImportError, - MeetingType, - VirtualMember, - AgendaNotificationsSettings, - AgendaReminderSettings, UnavailabilityCalendar, - AbsenceReasonGroup, + VirtualMember, ) from chrono.manager.utils import import_site diff --git a/tests/test_metz.py b/tests/test_metz.py index ee924ebc..fb664500 100644 --- a/tests/test_metz.py +++ b/tests/test_metz.py @@ -1,5 +1,4 @@ import pytest - from django.core.management import call_command diff --git a/tests/test_misc.py b/tests/test_misc.py index 258754eb..de2772cc 100644 --- a/tests/test_misc.py +++ b/tests/test_misc.py @@ -1,21 +1,12 @@ import datetime -from django.db import IntegrityError -from django.db import ProgrammingError -from django.db import connection -from django.db import transaction +import pytest +from django.db import IntegrityError, ProgrammingError, connection, transaction from django.db.migrations.executor import MigrationExecutor from django.test import override_settings from django.utils.timezone import now - -import pytest - -from chrono.agendas.models import Agenda -from chrono.agendas.models import Booking -from chrono.agendas.models import Desk -from chrono.agendas.models import Event -from chrono.agendas.models import MeetingType +from chrono.agendas.models import Agenda, Booking, Desk, Event, MeetingType pytestmark = pytest.mark.django_db diff --git a/tests/test_requests.py b/tests/test_requests.py index d92f72f9..ad62826d 100644 --- a/tests/test_requests.py +++ b/tests/test_requests.py @@ -2,11 +2,10 @@ import mock import pytest - from django.contrib.auth.models import AnonymousUser from django.utils.six.moves.urllib import parse as urlparse -from chrono.utils.requests_wrapper import requests, NothingInCacheException +from chrono.utils.requests_wrapper import NothingInCacheException, requests from chrono.utils.signature import check_query diff --git a/tests/test_sso.py b/tests/test_sso.py index af0c5a48..8e521ab9 100644 --- a/tests/test_sso.py +++ b/tests/test_sso.py @@ -1,5 +1,4 @@ import pytest - from django.test import override_settings from chrono.wsgi import application diff --git a/tests/test_time_periods.py b/tests/test_time_periods.py index 15ac888f..8b0e33e5 100644 --- a/tests/test_time_periods.py +++ b/tests/test_time_periods.py @@ -1,14 +1,14 @@ # -*- coding: utf-8 -*- import datetime -import pytest +import pytest from django.db.models import Q from django.test import override_settings from django.utils.encoding import force_text from django.utils.timezone import localtime, make_aware -from chrono.agendas.models import Agenda, TimePeriod, TimePeriodException, MeetingType, Desk +from chrono.agendas.models import Agenda, Desk, MeetingType, TimePeriod, TimePeriodException pytestmark = pytest.mark.django_db