summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTimothy Edmund Crosley <timothy.crosley@gmail.com>2020-01-07 14:45:57 -0800
committerGitHub <noreply@github.com>2020-01-07 14:45:57 -0800
commitfbe1ab9290f08521d39a929b516a973b14a53627 (patch)
tree4f94bac38ab3b9ac9006c3299af6d01476a1290d
parent0ee43b6a4f3c40876c3c7714846ecf8e584dc314 (diff)
parentc528c36078ebf2714d66f39d44cc47ce4e0b1488 (diff)
downloadisort-fbe1ab9290f08521d39a929b516a973b14a53627.tar.gz
Merge pull request #1087 from timothycrosley/feature/fix-issue-574
Feature/fix issue 574
-rw-r--r--isort/main.py20
1 files changed, 17 insertions, 3 deletions
diff --git a/isort/main.py b/isort/main.py
index 0bbf3353..27d01cc1 100644
--- a/isort/main.py
+++ b/isort/main.py
@@ -7,6 +7,7 @@ import re
import stat
import sys
from pathlib import Path
+from pprint import pprint
from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence
from warnings import warn
@@ -552,6 +553,12 @@ def parse_args(argv: Optional[Sequence[str]] = None) -> Dict[str, Any]:
action="store_true",
help="Tells isort to apply changes interactively.",
)
+ parser.add_argument(
+ "--show-config",
+ dest="show_config",
+ action="store_true",
+ help="See isort's determined config, as well as sources of config options.",
+ )
arguments = {key: value for key, value in vars(parser.parse_args(argv)).items() if value}
if "dont_order_by_type" in arguments:
@@ -571,6 +578,8 @@ def main(argv: Optional[Sequence[str]] = None) -> None:
print(ASCII_ART)
return
+ show_config: bool = arguments.pop("show_config", False)
+
if "settings_path" in arguments:
sp = arguments["settings_path"]
arguments["settings_path"] = (
@@ -586,14 +595,16 @@ def main(argv: Optional[Sequence[str]] = None) -> None:
warn(f"virtual_env dir does not exist: {arguments['virtual_env']}")
file_names = arguments.pop("files", [])
- if not file_names:
+ if not file_names and not show_config:
print(QUICK_GUIDE)
return
- elif file_names == ["-"]:
+ elif file_names == ["-"] and not show_config:
SortImports(file_contents=sys.stdin.read(), write_to_stdout=True, **arguments)
else:
if "settings_path" not in arguments:
- arguments["settings_path"] = os.path.abspath(file_names[0]) or os.getcwd()
+ arguments["settings_path"] = (
+ os.path.abspath(file_names[0] if file_names else ".") or os.getcwd()
+ )
if not os.path.isdir(arguments["settings_path"]):
arguments["settings_path"] = os.path.dirname(arguments["settings_path"])
@@ -605,6 +616,9 @@ def main(argv: Optional[Sequence[str]] = None) -> None:
check = config_dict.pop("check", False)
show_diff = config_dict.pop("show_diff", False)
config = Config(**config_dict)
+ if show_config:
+ pprint(config.__dict__)
+ return
wrong_sorted_files = False
skipped: List[str] = []