Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitc36e43c

Browse files
authored
Merge pull request#2184 from bp72/issue/2154
Apply the bracket fix from issue 471 only for use_parentheses=True
2 parentse38702f +ee8d87f commitc36e43c

File tree

3 files changed

+46
-9
lines changed

3 files changed

+46
-9
lines changed

‎isort/parse.py‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -519,7 +519,11 @@ def file_contents(contents: str, config: Config = DEFAULT_CONFIG) -> ParsedConte
519519
ifcommentsandattach_comments_toisnotNone:
520520
attach_comments_to.extend(comments)
521521

522-
if","inimport_string.split(just_imports[-1])[-1]:
522+
if (
523+
just_imports
524+
andjust_imports[-1]
525+
and","inimport_string.split(just_imports[-1])[-1]
526+
):
523527
trailing_commas.add(import_from)
524528
else:
525529
ifcommentsandattach_comments_toisnotNone:

‎isort/wrap.py‎

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -122,20 +122,21 @@ def line(content: str, line_separator: str, config: Config = DEFAULT_CONFIG) ->
122122
_separator=line_separator
123123
else:
124124
_separator=""
125-
_comment=""
125+
noqa_comment=""
126126
ifcommentand"noqa"incomment:
127-
_comment=f"{config.comment_prefix}{comment}"
127+
noqa_comment=f"{config.comment_prefix}{comment}"
128128
cont_line=cont_line.rstrip()
129129
_comma=","ifconfig.include_trailing_commaelse""
130130
output= (
131-
f"{content}{splitter}({_comment}"
131+
f"{content}{splitter}({noqa_comment}"
132132
f"{line_separator}{cont_line}{_comma}{_separator})"
133133
)
134-
lines=output.split(line_separator)
135-
ifconfig.comment_prefixinlines[-1]andlines[-1].endswith(")"):
136-
content,comment=lines[-1].split(config.comment_prefix,1)
137-
lines[-1]=content+")"+config.comment_prefix+comment[:-1]
138-
returnline_separator.join(lines)
134+
lines=output.split(line_separator)
135+
ifconfig.comment_prefixinlines[-1]andlines[-1].endswith(")"):
136+
content,comment=lines[-1].split(config.comment_prefix,1)
137+
lines[-1]=content+")"+config.comment_prefix+comment[:-1]
138+
output=line_separator.join(lines)
139+
returnoutput
139140
returnf"{content}{splitter}\\{line_separator}{cont_line}"
140141
eliflen(content)>config.line_lengthandwrap_mode==Modes.NOQAand"# NOQA"notincontent:# type: ignore
141142
returnf"{content}{config.comment_prefix} NOQA"

‎tests/unit/test_wrap.py‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
1+
importpytest
2+
13
fromisortimportwrap
24
fromisort.settingsimportConfig
5+
fromisort.wrap_modesimportWrapModes
36

47

58
deftest_import_statement():
@@ -16,3 +19,32 @@ def test_import_statement():
1619
assertwrap.import_statement("from x import ", ["y","z"], [],explode=True)== (
1720
"from x import (\n y,\n z,\n)"
1821
)
22+
23+
24+
@pytest.mark.parametrize(
25+
"multi_line_output, expected",
26+
(
27+
(
28+
WrapModes.VERTICAL_HANGING_INDENT,# type: ignore
29+
"""from a import (
30+
b as c # comment that is long enough that this import doesn't fit in one line (parens)
31+
)""",
32+
),
33+
(
34+
WrapModes.VERTICAL,# type: ignore
35+
"""from a import (
36+
b as c) # comment that is long enough that this import doesn't fit in one line (parens)""",
37+
),
38+
),
39+
)
40+
deftest_line__comment_with_brackets__expects_unchanged_comment(multi_line_output,expected):
41+
content= (
42+
"from a import b as c "
43+
"# comment that is long enough that this import doesn't fit in one line (parens)"
44+
)
45+
config=Config(
46+
multi_line_output=multi_line_output,
47+
use_parentheses=True,
48+
)
49+
50+
assertwrap.line(content=content,line_separator="\n",config=config)==expected

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp