diff options
author | Timothy Crosley <timothy.crosley@gmail.com> | 2020-01-04 23:29:30 -0800 |
---|---|---|
committer | Timothy Crosley <timothy.crosley@gmail.com> | 2020-01-04 23:29:30 -0800 |
commit | 7dab76f00370c97ee68d9aaed10781cb91d4f933 (patch) | |
tree | a189fabbce694ab29b7280228959e7e628160442 | |
parent | a3e8d4d9ea007679eabfd20929550bffa6fbd481 (diff) | |
download | isort-7dab76f00370c97ee68d9aaed10781cb91d4f933.tar.gz |
Add ability to output cimport or import to output.py
-rw-r--r-- | isort/output.py | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/isort/output.py b/isort/output.py index f2d287a7..73b1e4cb 100644 --- a/isort/output.py +++ b/isort/output.py @@ -11,7 +11,7 @@ from .settings import DEFAULT_CONFIG, Config def sorted_imports( - parsed: parse.ParsedContent, config: Config = DEFAULT_CONFIG, extension: str = "py" + parsed: parse.ParsedContent, config: Config = DEFAULT_CONFIG, extension: str = "py", import_type: str="import" ) -> str: """Adds the imports back to the file. @@ -61,15 +61,16 @@ def sorted_imports( section_output, sort_ignore_case, remove_imports, + import_type, ) if config.lines_between_types and from_modules and straight_modules: section_output.extend([""] * config.lines_between_types) section_output = _with_straight_imports( - parsed, config, straight_modules, section, section_output, remove_imports + parsed, config, straight_modules, section, section_output, remove_imports, import_type ) else: section_output = _with_straight_imports( - parsed, config, straight_modules, section, section_output, remove_imports + parsed, config, straight_modules, section, section_output, remove_imports, import_type ) if config.lines_between_types and from_modules and straight_modules: section_output.extend([""] * config.lines_between_types) @@ -81,6 +82,7 @@ def sorted_imports( section_output, sort_ignore_case, remove_imports, + import_type, ) if config.force_sort_within_sections: @@ -216,13 +218,14 @@ def _with_from_imports( section_output: List[str], ignore_case: bool, remove_imports: List[str], + import_type: str, ) -> List[str]: new_section_output = section_output.copy() for module in from_modules: if module in remove_imports: continue - import_start = f"from {module} import " + import_start = f"from {module} {import_type} " from_imports = list(parsed.imports[section]["from"][module]) if not config.no_inline_sort or config.force_single_line: from_imports = sorting.naturally( @@ -475,6 +478,7 @@ def _with_straight_imports( section: str, section_output: List[str], remove_imports: List[str], + import_type: str, ) -> List[str]: new_section_output = section_output.copy() for module in straight_modules: @@ -484,12 +488,12 @@ def _with_straight_imports( import_definition = [] if module in parsed.as_map: if config.keep_direct_and_as_imports and parsed.imports[section]["straight"][module]: - import_definition.append(f"import {module}") + import_definition.append(f"{import_type} {module}") import_definition.extend( - f"import {module} as {as_import}" for as_import in parsed.as_map[module] + f"{import_type} {module} as {as_import}" for as_import in parsed.as_map[module] ) else: - import_definition.append(f"import {module}") + import_definition.append(f"{import_type} {module}") comments_above = parsed.categorized_comments["above"]["straight"].pop(module, None) if comments_above: |