Skip to content

Commit 3536c4c

Browse files
authored
Update isort version to 5.13.2; Disable import ordering in ruff; Add isort to make lint (CTFd#2455)
* Update isort version to 5.13.2 * Disable import ordering in ruff * Add isort to make lint
1 parent 7dab0e2 commit 3536c4c

File tree

7 files changed

+31
-25
lines changed

7 files changed

+31
-25
lines changed

CTFd/cache/__init__.py

+13-11
Original file line numberDiff line numberDiff line change
@@ -60,16 +60,16 @@ def clear_config():
6060

6161

6262
def clear_standings():
63-
from CTFd.models import Users, Teams # noqa: I001
63+
from CTFd.api import api
64+
from CTFd.api.v1.scoreboard import ScoreboardDetail, ScoreboardList
6465
from CTFd.constants.static import CacheKeys
66+
from CTFd.models import Teams, Users # noqa: I001
6567
from CTFd.utils.scores import get_standings, get_team_standings, get_user_standings
66-
from CTFd.api.v1.scoreboard import ScoreboardDetail, ScoreboardList
67-
from CTFd.api import api
6868
from CTFd.utils.user import (
69-
get_user_score,
70-
get_user_place,
71-
get_team_score,
7269
get_team_place,
70+
get_team_score,
71+
get_user_place,
72+
get_user_score,
7373
)
7474

7575
# Clear out the bulk standings functions
@@ -100,9 +100,11 @@ def clear_standings():
100100

101101
def clear_challenges():
102102
from CTFd.utils.challenges import get_all_challenges # noqa: I001
103-
from CTFd.utils.challenges import get_solves_for_challenge_id
104-
from CTFd.utils.challenges import get_solve_ids_for_user_id
105-
from CTFd.utils.challenges import get_solve_counts_for_challenges
103+
from CTFd.utils.challenges import (
104+
get_solve_counts_for_challenges,
105+
get_solve_ids_for_user_id,
106+
get_solves_for_challenge_id,
107+
)
106108

107109
cache.delete_memoized(get_all_challenges)
108110
cache.delete_memoized(get_solves_for_challenge_id)
@@ -127,8 +129,8 @@ def clear_user_session(user_id):
127129
from CTFd.utils.user import ( # noqa: I001
128130
get_user_attrs,
129131
get_user_place,
130-
get_user_score,
131132
get_user_recent_ips,
133+
get_user_score,
132134
)
133135

134136
cache.delete_memoized(get_user_attrs, user_id=user_id)
@@ -141,8 +143,8 @@ def clear_all_user_sessions():
141143
from CTFd.utils.user import ( # noqa: I001
142144
get_user_attrs,
143145
get_user_place,
144-
get_user_score,
145146
get_user_recent_ips,
147+
get_user_score,
146148
)
147149

148150
cache.delete_memoized(get_user_attrs)

CTFd/models/__init__.py

+9-7
Original file line numberDiff line numberDiff line change
@@ -533,8 +533,8 @@ def get_place(self, admin=False, numeric=False):
533533
to no imports within the CTFd application as importing from the
534534
application itself will result in a circular import.
535535
"""
536-
from CTFd.utils.scores import get_user_standings # noqa: I001
537536
from CTFd.utils.humanize.numbers import ordinalize
537+
from CTFd.utils.scores import get_user_standings
538538

539539
standings = get_user_standings(admin=admin)
540540

@@ -659,7 +659,8 @@ def get_fields(self, admin=False):
659659

660660
def get_invite_code(self):
661661
from flask import current_app # noqa: I001
662-
from CTFd.utils.security.signing import serialize, hmac
662+
663+
from CTFd.utils.security.signing import hmac, serialize
663664

664665
secret_key = current_app.config["SECRET_KEY"]
665666
if isinstance(secret_key, str):
@@ -678,13 +679,14 @@ def get_invite_code(self):
678679
@classmethod
679680
def load_invite_code(cls, code):
680681
from flask import current_app # noqa: I001
682+
683+
from CTFd.exceptions import TeamTokenExpiredException, TeamTokenInvalidException
681684
from CTFd.utils.security.signing import (
682-
unserialize,
683-
hmac,
684-
BadTimeSignature,
685685
BadSignature,
686+
BadTimeSignature,
687+
hmac,
688+
unserialize,
686689
)
687-
from CTFd.exceptions import TeamTokenExpiredException, TeamTokenInvalidException
688690

689691
secret_key = current_app.config["SECRET_KEY"]
690692
if isinstance(secret_key, str):
@@ -776,8 +778,8 @@ def get_place(self, admin=False, numeric=False):
776778
to no imports within the CTFd application as importing from the
777779
application itself will result in a circular import.
778780
"""
779-
from CTFd.utils.scores import get_team_standings # noqa: I001
780781
from CTFd.utils.humanize.numbers import ordinalize
782+
from CTFd.utils.scores import get_team_standings # noqa: I001
781783

782784
standings = get_team_standings(admin=admin)
783785

CTFd/utils/initialization/__init__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -65,8 +65,8 @@ def init_template_globals(app):
6565
from CTFd.constants.plugins import Plugins
6666
from CTFd.constants.sessions import Session
6767
from CTFd.constants.static import Static
68-
from CTFd.constants.users import User
6968
from CTFd.constants.teams import Team
69+
from CTFd.constants.users import User
7070
from CTFd.forms import Forms
7171
from CTFd.utils.config.visibility import (
7272
accounts_visible,

Makefile

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
lint:
2-
ruff check --select E,F,W,B,C4,I --ignore E402,E501,E712,B904,B905 --exclude=CTFd/uploads CTFd/ migrations/ tests/
2+
ruff check --select E,F,W,B,C4,I --ignore E402,E501,E712,B904,B905,I001 --exclude=CTFd/uploads CTFd/ migrations/ tests/
3+
isort --profile=black --check-only --skip=CTFd/uploads -rc CTFd/ tests/
34
yarn lint
45
black --check --diff --exclude=CTFd/uploads --exclude=node_modules .
56
prettier --check 'CTFd/themes/**/assets/**/*'
67
prettier --check '**/*.md'
78

89
format:
9-
isort --skip=CTFd/uploads -rc CTFd/ tests/
10+
isort --profile=black --skip=CTFd/uploads -rc CTFd/ tests/
1011
black --exclude=CTFd/uploads --exclude=node_modules .
1112
prettier --write 'CTFd/themes/**/assets/**/*'
1213
prettier --write '**/*.md'

linting.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
black==22.3.0
2-
isort==4.3.21
2+
isort==5.13.2
33
ruff==0.0.260
44
dennis==1.1.0

tests/cache/test_challenges.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ def test_deleting_challenge_clears_cache_solves():
6161
challenge = data[0]
6262
assert challenge["solves"] == 1
6363
from CTFd.utils.challenges import ( # noqa: I001
64-
get_solves_for_challenge_id,
6564
get_solve_counts_for_challenges,
65+
get_solves_for_challenge_id,
6666
)
6767

6868
solves = get_solves_for_challenge_id(1)
@@ -101,8 +101,8 @@ def test_deleting_solve_clears_cache():
101101
challenge = data[0]
102102
assert challenge["solves"] == 1
103103
from CTFd.utils.challenges import ( # noqa: I001
104-
get_solves_for_challenge_id,
105104
get_solve_counts_for_challenges,
105+
get_solves_for_challenge_id,
106106
)
107107

108108
solves = get_solves_for_challenge_id(1)

tests/constants/test_constants.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,10 @@ class Numbers(str, RawEnum):
2424

2525

2626
def test_JSEnum():
27-
from CTFd.constants import JS_ENUMS # noqa: I001
2827
import json
2928

29+
from CTFd.constants import JS_ENUMS # noqa: I001
30+
3031
@JSEnum
3132
class Colors(str, RawEnum):
3233
RED = "red"

0 commit comments

Comments
 (0)