diff options
| author | Timothy Crosley <timothy.crosley@gmail.com> | 2020-07-01 00:04:26 -0700 |
|---|---|---|
| committer | Timothy Crosley <timothy.crosley@gmail.com> | 2020-07-01 00:04:26 -0700 |
| commit | e248cd4ad4bf0424f0ab9d60155fcaee981d273a (patch) | |
| tree | e266bc369268af62fbc6f12c276f8614c2986212 /scripts | |
| parent | 2ea917e8dad7116584c0c5927b43f25ca300f819 (diff) | |
| download | isort-e248cd4ad4bf0424f0ab9d60155fcaee981d273a.tar.gz | |
Improve profile docs
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/build_profile_docs.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/scripts/build_profile_docs.py b/scripts/build_profile_docs.py new file mode 100755 index 00000000..e0a86f89 --- /dev/null +++ b/scripts/build_profile_docs.py @@ -0,0 +1,44 @@ +#! /bin/env python +import os +from typing import Any, Generator, Iterable, Type, Dict + +from isort._future import dataclass +from isort.main import _build_arg_parser +from isort.profiles import profiles +from isort.settings import _DEFAULT_SETTINGS as config + +OUTPUT_FILE = os.path.abspath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), "../docs/configuration/profiles.md") +) + +HEADER = """Built-in Profile for isort +======== + +The following profiles are built into isort to allow easy interoperability with +common projects and code styles. + +To use any of the listed profiles, use `isort --profile PROFILE_NAME` from the command line, or `profile=PROFILE_NAME` in your configuration file. + +""" + +def format_profile(profile_name: str, profile: Dict[str, Any]) -> str: + options = "\n".join(f" - **{name}**: `{repr(value)}`" for name, value in profile.items()) + return f""" +#{profile_name} + +{profile.get('descripiton', '')} +{options} +""" + + +def document_text() -> str: + return f"{HEADER}{''.join(format_profile(profile_name, profile) for profile_name, profile in profiles.items())}" + + +def write_document(): + with open(OUTPUT_FILE, "w") as output_file: + output_file.write(document_text()) + + +if __name__ == "__main__": + write_document() |
