From 7075ccdf7aa58d22c062787098595c25457e0e9d Mon Sep 17 00:00:00 2001 From: Peter Pfeufer Date: Tue, 1 Aug 2023 12:51:58 +0200 Subject: [PATCH] [CHANGE] Django Upgrade checks applied --- .pre-commit-config.yaml | 42 +++++++++++++++---- allianceauth/authentication/decorators.py | 2 +- allianceauth/authentication/hmac_urls.py | 5 +-- allianceauth/eveonline/autogroups/admin.py | 2 +- allianceauth/hrapplications/admin.py | 2 +- allianceauth/notifications/__init__.py | 2 - allianceauth/notifications/admin.py | 8 +++- .../project_template/project_name/urls.py | 5 +-- allianceauth/services/admin.py | 4 +- allianceauth/services/hooks.py | 3 +- allianceauth/services/modules/discord/urls.py | 3 +- allianceauth/services/modules/example/urls.py | 3 +- allianceauth/services/modules/ips4/admin.py | 3 +- allianceauth/services/modules/ips4/urls.py | 3 +- allianceauth/services/modules/mumble/urls.py | 3 +- .../services/modules/openfire/urls.py | 3 +- allianceauth/services/modules/phpbb3/urls.py | 3 +- allianceauth/services/modules/smf/urls.py | 3 +- .../services/modules/teamspeak3/admin.py | 4 +- .../services/modules/teamspeak3/urls.py | 3 +- allianceauth/services/modules/xenforo/urls.py | 3 +- allianceauth/services/urls.py | 2 +- 22 files changed, 63 insertions(+), 48 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2692002c..0300e17f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -7,12 +7,33 @@ repos: - repo: https://github.com/pre-commit/pre-commit-hooks rev: v4.4.0 hooks: - - id: check-case-conflict - - id: check-json - - id: check-xml + # Identify invalid files + - id: check-ast - id: check-yaml + - id: check-json + - id: check-toml + - id: check-xml + + # git checks + - id: check-merge-conflict + - id: check-added-large-files + args: [ --maxkb=1000 ] + - id: detect-private-key + - id: check-case-conflict + + # Python checks +# - id: check-docstring-first + - id: debug-statements +# - id: requirements-txt-fixer + - id: fix-encoding-pragma + args: [ --remove ] - id: fix-byte-order-marker + + # General quality checks + - id: mixed-line-ending + args: [ --fix=lf ] - id: trailing-whitespace + args: [ --markdown-linebreak-ext=md ] exclude: | (?x)( \.min\.css| @@ -21,6 +42,7 @@ repos: \.mo| swagger\.json ) +# - id: check-executables-have-shebangs - id: end-of-file-fixer exclude: | (?x)( @@ -30,13 +52,9 @@ repos: \.mo| swagger\.json ) - - id: mixed-line-ending - args: [ '--fix=lf' ] - - id: fix-encoding-pragma - args: [ '--remove' ] - repo: https://github.com/editorconfig-checker/editorconfig-checker.python - rev: 2.7.1 + rev: 2.7.2 hooks: - id: editorconfig-checker exclude: | @@ -48,8 +66,14 @@ repos: swagger\.json ) + - repo: https://github.com/adamchainz/django-upgrade + rev: 1.14.0 + hooks: + - id: django-upgrade + args: [ --target-version=4.0 ] + - repo: https://github.com/asottile/pyupgrade - rev: v3.3.1 + rev: v3.10.1 hooks: - id: pyupgrade args: [ --py38-plus ] diff --git a/allianceauth/authentication/decorators.py b/allianceauth/authentication/decorators.py index 6a5d0b91..13b4ed0a 100644 --- a/allianceauth/authentication/decorators.py +++ b/allianceauth/authentication/decorators.py @@ -1,7 +1,7 @@ from functools import wraps from typing import Callable, Iterable, Optional -from django.conf.urls import include +from django.urls import include from django.contrib import messages from django.contrib.auth.decorators import login_required, user_passes_test from django.core.exceptions import PermissionDenied diff --git a/allianceauth/authentication/hmac_urls.py b/allianceauth/authentication/hmac_urls.py index e7c03d11..61bcd99b 100644 --- a/allianceauth/authentication/hmac_urls.py +++ b/allianceauth/authentication/hmac_urls.py @@ -1,8 +1,5 @@ -from django.conf.urls import include - from allianceauth.authentication import views -from django.urls import re_path -from django.urls import path +from django.urls import include, re_path, path urlpatterns = [ path('activate/complete/', views.activation_complete, name='registration_activation_complete'), diff --git a/allianceauth/eveonline/autogroups/admin.py b/allianceauth/eveonline/autogroups/admin.py index 7f2ebabe..240d4578 100644 --- a/allianceauth/eveonline/autogroups/admin.py +++ b/allianceauth/eveonline/autogroups/admin.py @@ -14,6 +14,7 @@ def sync_user_groups(modeladmin, request, queryset): agc.update_all_states_group_membership() +@admin.register(AutogroupsConfig) class AutogroupsConfigAdmin(admin.ModelAdmin): formfield_overrides = { models.CharField: {'strip': False} @@ -36,6 +37,5 @@ class AutogroupsConfigAdmin(admin.ModelAdmin): return actions -admin.site.register(AutogroupsConfig, AutogroupsConfigAdmin) admin.site.register(ManagedCorpGroup) admin.site.register(ManagedAllianceGroup) diff --git a/allianceauth/hrapplications/admin.py b/allianceauth/hrapplications/admin.py index de3cff38..538d3ffa 100755 --- a/allianceauth/hrapplications/admin.py +++ b/allianceauth/hrapplications/admin.py @@ -10,6 +10,7 @@ class ChoiceInline(admin.TabularInline): verbose_name_plural = 'Choices (optional)' verbose_name= 'Choice' +@admin.register(ApplicationQuestion) class QuestionAdmin(admin.ModelAdmin): fieldsets = [ (None, {'fields': ['title', 'help_text', 'multi_select']}), @@ -18,6 +19,5 @@ class QuestionAdmin(admin.ModelAdmin): admin.site.register(Application) admin.site.register(ApplicationComment) -admin.site.register(ApplicationQuestion, QuestionAdmin) admin.site.register(ApplicationForm) admin.site.register(ApplicationResponse) diff --git a/allianceauth/notifications/__init__.py b/allianceauth/notifications/__init__.py index e22e6ad7..1a7c9e01 100644 --- a/allianceauth/notifications/__init__.py +++ b/allianceauth/notifications/__init__.py @@ -1,3 +1 @@ from .core import notify # noqa: F401 - -default_app_config = 'allianceauth.notifications.apps.NotificationsConfig' diff --git a/allianceauth/notifications/admin.py b/allianceauth/notifications/admin.py index 03f1dd4e..3fb3242a 100644 --- a/allianceauth/notifications/admin.py +++ b/allianceauth/notifications/admin.py @@ -15,18 +15,22 @@ class NotificationAdmin(admin.ModelAdmin): ordering = ("-timestamp", ) search_fields = ["user__username", "user__profile__main_character__character_name"] + @admin.display( + ordering="user__profile__main_character__character_name" + ) def _main(self, obj): try: return obj.user.profile.main_character except AttributeError: return obj.user - _main.admin_order_field = "user__profile__main_character__character_name" + @admin.display( + ordering="user__profile__state__name" + ) def _state(self, obj): return obj.user.profile.state - _state.admin_order_field = "user__profile__state__name" def has_change_permission(self, request, obj=None): return False diff --git a/allianceauth/project_template/project_name/urls.py b/allianceauth/project_template/project_name/urls.py index 803ef102..58d40642 100644 --- a/allianceauth/project_template/project_name/urls.py +++ b/allianceauth/project_template/project_name/urls.py @@ -1,9 +1,8 @@ -from django.conf.urls import include from allianceauth import urls -from django.urls import re_path +from django.urls import include, path urlpatterns = [ - re_path(r'', include(urls)), + path('', include(urls)), ] handler500 = 'allianceauth.views.Generic500Redirect' diff --git a/allianceauth/services/admin.py b/allianceauth/services/admin.py index b204938b..f2c64573 100644 --- a/allianceauth/services/admin.py +++ b/allianceauth/services/admin.py @@ -66,6 +66,8 @@ class NameFormatConfigAdmin(admin.ModelAdmin): form = NameFormatConfigForm list_display = ('service_name', 'get_state_display_string') + @admin.display( + description='States' + ) def get_state_display_string(self, obj): return ', '.join([state.name for state in obj.states.all()]) - get_state_display_string.short_description = 'States' diff --git a/allianceauth/services/hooks.py b/allianceauth/services/hooks.py index 986dc6f5..2547b78a 100644 --- a/allianceauth/services/hooks.py +++ b/allianceauth/services/hooks.py @@ -2,10 +2,9 @@ from string import Formatter from typing import Iterable, Optional from django.conf import settings -from django.conf.urls import include from django.core.exceptions import ObjectDoesNotExist from django.template.loader import render_to_string -from django.urls import re_path +from django.urls import include, re_path from django.utils.functional import cached_property from allianceauth.hooks import get_hooks diff --git a/allianceauth/services/modules/discord/urls.py b/allianceauth/services/modules/discord/urls.py index 749a8090..4685a3c5 100644 --- a/allianceauth/services/modules/discord/urls.py +++ b/allianceauth/services/modules/discord/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/example/urls.py b/allianceauth/services/modules/example/urls.py index cefb0650..a08be65f 100644 --- a/allianceauth/services/modules/example/urls.py +++ b/allianceauth/services/modules/example/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path app_name = 'example' diff --git a/allianceauth/services/modules/ips4/admin.py b/allianceauth/services/modules/ips4/admin.py index d70aeede..38ad5f50 100644 --- a/allianceauth/services/modules/ips4/admin.py +++ b/allianceauth/services/modules/ips4/admin.py @@ -2,8 +2,7 @@ from django.contrib import admin from .models import Ips4User +@admin.register(Ips4User) class Ips4UserAdmin(admin.ModelAdmin): list_display = ('user', 'username', 'id') search_fields = ('user__username', 'username', 'id') - -admin.site.register(Ips4User, Ips4UserAdmin) diff --git a/allianceauth/services/modules/ips4/urls.py b/allianceauth/services/modules/ips4/urls.py index 87c9ca31..cb8aaa4b 100644 --- a/allianceauth/services/modules/ips4/urls.py +++ b/allianceauth/services/modules/ips4/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/mumble/urls.py b/allianceauth/services/modules/mumble/urls.py index 6c403fc2..ef7ff699 100644 --- a/allianceauth/services/modules/mumble/urls.py +++ b/allianceauth/services/modules/mumble/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/openfire/urls.py b/allianceauth/services/modules/openfire/urls.py index 8823ad18..17da5b33 100644 --- a/allianceauth/services/modules/openfire/urls.py +++ b/allianceauth/services/modules/openfire/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/phpbb3/urls.py b/allianceauth/services/modules/phpbb3/urls.py index d7d7bce9..e9dcbd2a 100644 --- a/allianceauth/services/modules/phpbb3/urls.py +++ b/allianceauth/services/modules/phpbb3/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/smf/urls.py b/allianceauth/services/modules/smf/urls.py index 92aba143..3f8308f5 100644 --- a/allianceauth/services/modules/smf/urls.py +++ b/allianceauth/services/modules/smf/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/teamspeak3/admin.py b/allianceauth/services/modules/teamspeak3/admin.py index dbba1cb1..92a1fcfe 100644 --- a/allianceauth/services/modules/teamspeak3/admin.py +++ b/allianceauth/services/modules/teamspeak3/admin.py @@ -36,10 +36,12 @@ class AuthTSgroupAdmin(admin.ModelAdmin): kwargs['queryset'] = TSgroup.objects.exclude(ts_group_name__in=ReservedGroupName.objects.values_list('name', flat=True)) return super().formfield_for_manytomany(db_field, request, **kwargs) + @admin.display( + description='ts groups' + ) def _ts_group(self, obj): return [x for x in obj.ts_group.all().order_by('ts_group_id')] - _ts_group.short_description = 'ts groups' # _ts_group.admin_order_field = 'profile__state' diff --git a/allianceauth/services/modules/teamspeak3/urls.py b/allianceauth/services/modules/teamspeak3/urls.py index 4c6831e3..83cc4287 100644 --- a/allianceauth/services/modules/teamspeak3/urls.py +++ b/allianceauth/services/modules/teamspeak3/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/modules/xenforo/urls.py b/allianceauth/services/modules/xenforo/urls.py index 9bad105e..bec8e6ef 100644 --- a/allianceauth/services/modules/xenforo/urls.py +++ b/allianceauth/services/modules/xenforo/urls.py @@ -1,5 +1,4 @@ -from django.conf.urls import include -from django.urls import path +from django.urls import include, path from . import views diff --git a/allianceauth/services/urls.py b/allianceauth/services/urls.py index e43b0e30..9c8a8141 100644 --- a/allianceauth/services/urls.py +++ b/allianceauth/services/urls.py @@ -1,4 +1,4 @@ -from django.conf.urls import include +from django.urls import include from allianceauth.hooks import get_hooks from django.urls import path