Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
line_separator=parsed.line_separator,
config=config,
)
if config.multi_line_output == wrap.Modes.GRID: # type: ignore
other_import_statement = wrap.import_statement(
import_start=import_start,
from_imports=from_import_section,
comments=comments,
line_separator=parsed.line_separator,
config=config,
multi_line_output=wrap.Modes.VERTICAL_GRID, # type: ignore
)
if max(len(x) for x in import_statement.split("\n")) > config.line_length:
import_statement = other_import_statement
if not do_multiline_reformat and len(import_statement) > config.line_length:
import_statement = wrap.line(import_statement, parsed.line_separator, config)
if import_statement:
above_comments = parsed.categorized_comments["above"]["from"].pop(module, None)
if above_comments:
if new_section_output and config.ensure_newline_before_comments:
new_section_output.append("")
new_section_output.extend(above_comments)
new_section_output.append(import_statement)
return new_section_output
comment_prefix=config.comment_prefix,
)
comment = (
parsed.categorized_comments["nested"].get(module, {}).pop(from_import, None)
)
if comment:
single_import_line += (
f"{comments and ';' or config.comment_prefix} " f"{comment}"
)
if from_import in as_imports:
if (
config.keep_direct_and_as_imports
and parsed.imports[section]["from"][module][from_import]
):
new_section_output.append(
wrap.line(single_import_line, parsed.line_separator, config)
)
from_comments = parsed.categorized_comments["straight"].get(
f"{module}.{from_import}"
)
new_section_output.extend(
with_comments(
from_comments,
wrap.line(import_start + as_import, parsed.line_separator, config),
removed=config.ignore_comments,
comment_prefix=config.comment_prefix,
)
for as_import in sorting.naturally(as_imports[from_import])
)
else:
new_section_output.append(
wrap.line(single_import_line, parsed.line_separator, config)
as_imports[as_import] = sorting.naturally(as_imports[as_import])
for from_import in copy.copy(from_imports):
if from_import in as_imports:
idx = from_imports.index(from_import)
if (
config.keep_direct_and_as_imports
and parsed.imports[section]["from"][module][from_import]
):
from_imports[(idx + 1) : (idx + 1)] = as_imports.pop(from_import)
else:
from_imports[idx : (idx + 1)] = as_imports.pop(from_import)
while from_imports:
comments = parsed.categorized_comments["from"].pop(module, ())
if "*" in from_imports and config.combine_star:
import_statement = wrap.line(
with_comments(
comments,
f"{import_start}*",
removed=config.ignore_comments,
comment_prefix=config.comment_prefix,
),
parsed.line_separator,
config,
)
from_imports = []
elif config.force_single_line:
import_statement = ""
while from_imports:
from_import = from_imports.pop(0)
single_import_line = with_comments(
comments,
)
if from_import in as_imports:
if (
config.keep_direct_and_as_imports
and parsed.imports[section]["from"][module][from_import]
):
new_section_output.append(
wrap.line(single_import_line, parsed.line_separator, config)
)
from_comments = parsed.categorized_comments["straight"].get(
f"{module}.{from_import}"
)
new_section_output.extend(
with_comments(
from_comments,
wrap.line(import_start + as_import, parsed.line_separator, config),
removed=config.ignore_comments,
comment_prefix=config.comment_prefix,
)
for as_import in sorting.naturally(as_imports[from_import])
)
else:
new_section_output.append(
wrap.line(single_import_line, parsed.line_separator, config)
)
comments = None
else:
while from_imports and from_imports[0] in as_imports:
from_import = from_imports.pop(0)
as_imports[from_import] = sorting.naturally(as_imports[from_import])
from_comments = parsed.categorized_comments["straight"].get(
f"{module}.{from_import}"
)
from_comments = parsed.categorized_comments["straight"].get(
f"{module}.{from_import}"
)
new_section_output.extend(
with_comments(
from_comments,
wrap.line(import_start + as_import, parsed.line_separator, config),
removed=config.ignore_comments,
comment_prefix=config.comment_prefix,
)
for as_import in sorting.naturally(as_imports[from_import])
)
else:
new_section_output.append(
wrap.line(single_import_line, parsed.line_separator, config)
)
comments = None
else:
while from_imports and from_imports[0] in as_imports:
from_import = from_imports.pop(0)
as_imports[from_import] = sorting.naturally(as_imports[from_import])
from_comments = parsed.categorized_comments["straight"].get(
f"{module}.{from_import}"
)
above_comments = parsed.categorized_comments["above"]["from"].pop(module, None)
if above_comments:
if new_section_output and config.ensure_newline_before_comments:
new_section_output.append("")
new_section_output.extend(above_comments)
if (