diff --git a/openslides/agenda/apps.py b/openslides/agenda/apps.py index 88baf1fb8..00d358838 100644 --- a/openslides/agenda/apps.py +++ b/openslides/agenda/apps.py @@ -9,9 +9,12 @@ class AgendaAppConfig(AppConfig): def ready(self): # Import all required stuff. - from django.db.models.signals import pre_delete, post_save + from django.db.models.signals import post_save, pre_delete + from ..core.signals import permission_change + from ..utils.access_permissions import required_user from ..utils.rest_api import router + from . import serializers # noqa from .projector import register_projector_slides from .signals import ( get_permission_change_data, @@ -19,8 +22,6 @@ class AgendaAppConfig(AppConfig): listen_to_related_object_post_save, ) from .views import ItemViewSet, ListOfSpeakersViewSet - from . import serializers # noqa - from ..utils.access_permissions import required_user # Define projector elements. register_projector_slides() diff --git a/openslides/assignments/apps.py b/openslides/assignments/apps.py index fb65e081e..2397ca945 100644 --- a/openslides/assignments/apps.py +++ b/openslides/assignments/apps.py @@ -16,9 +16,9 @@ class AssignmentsAppConfig(AppConfig): from .projector import register_projector_slides from .signals import get_permission_change_data from .views import ( - AssignmentViewSet, - AssignmentPollViewSet, AssignmentOptionViewSet, + AssignmentPollViewSet, + AssignmentViewSet, AssignmentVoteViewSet, ) @@ -82,7 +82,7 @@ async def required_users_assignments(element: Dict[str, Any]) -> Set[int]: Returns all user ids that are displayed as candidates (including poll options) in the assignment element. """ - from openslides.assignments.models import AssignmentPoll, AssignmentOption + from openslides.assignments.models import AssignmentOption, AssignmentPoll from openslides.utils.cache import element_cache candidates = set( diff --git a/openslides/core/apps.py b/openslides/core/apps.py index 3481e402a..1899e24dc 100644 --- a/openslides/core/apps.py +++ b/openslides/core/apps.py @@ -15,9 +15,12 @@ class CoreAppConfig(AppConfig): def ready(self): # Import all required stuff. + # Let all client websocket message register + from ..utils import websocket_client_messages # noqa + from ..utils.rest_api import router + from . import serializers # noqa from .config import config from .projector import register_projector_slides - from . import serializers # noqa from .signals import ( autoupdate_for_many_to_many_relations, cleanup_unused_permissions, @@ -29,15 +32,11 @@ class CoreAppConfig(AppConfig): from .views import ( ConfigViewSet, CountdownViewSet, + ProjectionDefaultViewSet, ProjectorMessageViewSet, ProjectorViewSet, - ProjectionDefaultViewSet, TagViewSet, ) - from ..utils.rest_api import router - - # Let all client websocket message register - from ..utils import websocket_client_messages # noqa # Collect all config variables before getting the constants. config.collect_config_variables_from_apps() @@ -92,9 +91,9 @@ class CoreAppConfig(AppConfig): run_startup_hooks() def get_startup_hooks(self): - from openslides.utils.constants import set_constants_from_apps - from openslides.utils.cache import element_cache from openslides.core.models import History + from openslides.utils.cache import element_cache + from openslides.utils.constants import set_constants_from_apps return { 10: element_cache.ensure_schema_version, diff --git a/openslides/mediafiles/apps.py b/openslides/mediafiles/apps.py index 0dcf06fdc..ce557ae42 100644 --- a/openslides/mediafiles/apps.py +++ b/openslides/mediafiles/apps.py @@ -11,10 +11,11 @@ class MediafilesAppConfig(AppConfig): # Import all required stuff. from openslides.core.signals import permission_change from openslides.utils.rest_api import router + + from . import serializers # noqa from .projector import register_projector_slides from .signals import get_permission_change_data from .views import MediafileViewSet - from . import serializers # noqa # Validate, that the media_url is correct formatted: # Must begin and end with a slash. It has to be at least "/". diff --git a/openslides/motions/apps.py b/openslides/motions/apps.py index 087aedb0d..7a0d0c90b 100644 --- a/openslides/motions/apps.py +++ b/openslides/motions/apps.py @@ -12,23 +12,24 @@ class MotionsAppConfig(AppConfig): # Import all required stuff. from openslides.core.signals import permission_change from openslides.utils.rest_api import router + + from ..utils.access_permissions import required_user + from . import serializers # noqa from .projector import register_projector_slides from .signals import create_builtin_workflows, get_permission_change_data - from . import serializers # noqa from .views import ( CategoryViewSet, - StatuteParagraphViewSet, - MotionViewSet, - MotionCommentSectionViewSet, - MotionVoteViewSet, MotionBlockViewSet, - MotionPollViewSet, - MotionOptionViewSet, MotionChangeRecommendationViewSet, + MotionCommentSectionViewSet, + MotionOptionViewSet, + MotionPollViewSet, + MotionViewSet, + MotionVoteViewSet, StateViewSet, + StatuteParagraphViewSet, WorkflowViewSet, ) - from ..utils.access_permissions import required_user # Define projector elements. register_projector_slides() diff --git a/openslides/topics/apps.py b/openslides/topics/apps.py index 10f0d6790..0424f8562 100644 --- a/openslides/topics/apps.py +++ b/openslides/topics/apps.py @@ -8,11 +8,12 @@ class TopicsAppConfig(AppConfig): def ready(self): # Import all required stuff. from openslides.core.signals import permission_change + from ..utils.rest_api import router + from . import serializers # noqa from .projector import register_projector_slides from .signals import get_permission_change_data from .views import TopicViewSet - from . import serializers # noqa # Define projector elements. register_projector_slides() diff --git a/openslides/users/access_permissions.py b/openslides/users/access_permissions.py index 6bc1f92ae..4e4084f01 100644 --- a/openslides/users/access_permissions.py +++ b/openslides/users/access_permissions.py @@ -19,8 +19,8 @@ class UserAccessPermissions(BaseAccessPermissions): not get the fields they should not get. """ from .serializers import ( - USERCANSEESERIALIZER_FIELDS, USERCANSEEEXTRASERIALIZER_FIELDS, + USERCANSEESERIALIZER_FIELDS, ) def filtered_data(full_data, whitelist, whitelist_operator=None): diff --git a/openslides/users/apps.py b/openslides/users/apps.py index 200578d72..71e18d7cd 100644 --- a/openslides/users/apps.py +++ b/openslides/users/apps.py @@ -12,9 +12,9 @@ class UsersAppConfig(AppConfig): def ready(self): # Import all required stuff. - from . import serializers # noqa - from ..core.signals import post_permission_creation, permission_change + from ..core.signals import permission_change, post_permission_creation from ..utils.rest_api import router + from . import serializers # noqa from .projector import register_projector_slides from .signals import create_builtin_groups_and_admin, get_permission_change_data from .views import GroupViewSet, PersonalNoteViewSet, UserViewSet diff --git a/openslides/utils/cache_providers.py b/openslides/utils/cache_providers.py index d37d2e058..53676d011 100644 --- a/openslides/utils/cache_providers.py +++ b/openslides/utils/cache_providers.py @@ -20,7 +20,7 @@ from .utils import split_element_id, str_dict_to_bytes logger = logging.getLogger(__name__) if use_redis: - from .redis import get_connection, aioredis + from .redis import aioredis, get_connection class CacheReset(Exception): diff --git a/requirements/development.txt b/requirements/development.txt index 4bcc167eb..c419bae22 100644 --- a/requirements/development.txt +++ b/requirements/development.txt @@ -1,7 +1,7 @@ black coverage flake8 -isort +isort<5.0.0 mypy pytest<5.4.2 pytest-django<3.9.0 diff --git a/tests/conftest.py b/tests/conftest.py index 01885741b..514d9401e 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -64,7 +64,7 @@ def constants(request, reset_cache): Uses fake constants, if the db is not in use. """ - from openslides.utils.constants import set_constants, get_constants_from_apps + from openslides.utils.constants import get_constants_from_apps, set_constants if "django_db" in request.node.keywords or is_django_unittest(request): # When the db is created, use the original constants diff --git a/tests/settings.py b/tests/settings.py index 37f1e2ac6..912e7eb96 100644 --- a/tests/settings.py +++ b/tests/settings.py @@ -1,7 +1,6 @@ """ Settings file for OpenSlides' tests. """ - import os from openslides.global_settings import * # noqa @@ -82,7 +81,8 @@ ENABLE_ELECTRONIC_VOTING = True # https://stackoverflow.com/questions/24876343/django-traceback-on-queries if os.environ.get("DEBUG_SQL_TRACEBACK"): import traceback - import django.db.backends.utils as bakutils + + from django.db.backends import utils as bakutils cursor_debug_wrapper_orig = bakutils.CursorDebugWrapper