diff --git a/tools/azure-sdk-tools/packaging_tools/auto_codegen.py b/tools/azure-sdk-tools/packaging_tools/auto_codegen.py index 2f88527f4374..460d9a546f60 100644 --- a/tools/azure-sdk-tools/packaging_tools/auto_codegen.py +++ b/tools/azure-sdk-tools/packaging_tools/auto_codegen.py @@ -6,7 +6,8 @@ from .swaggertosdk.SwaggerToSdkCore import CONFIG_FILE, CONFIG_FILE_DPG from .generate_sdk import generate -from .generate_utils import get_package_names, init_new_service, update_servicemetadata, judge_tag_preview +from .generate_utils import (get_package_names, init_new_service, update_servicemetadata, judge_tag_preview, + format_samples) _LOGGER = logging.getLogger(__name__) @@ -47,6 +48,7 @@ def main(generate_input, generate_output): # Generate some necessary file for new service init_new_service(package_name, folder_name) + format_samples(sdk_code_path) # Update metadata try: diff --git a/tools/azure-sdk-tools/packaging_tools/generate_utils.py b/tools/azure-sdk-tools/packaging_tools/generate_utils.py index 574d7b23eb6d..1990df93dcc8 100644 --- a/tools/azure-sdk-tools/packaging_tools/generate_utils.py +++ b/tools/azure-sdk-tools/packaging_tools/generate_utils.py @@ -1,3 +1,4 @@ +from contextlib import suppress import json import logging import os @@ -126,3 +127,31 @@ def judge_tag_preview(path: str) -> bool: _LOGGER.info(f'find single api version:{api_version}') return 'preview' in api_version + + +def format_samples(sdk_code_path) -> None: + generate_sample_path = Path(sdk_code_path) / 'generated_samples' + if not generate_sample_path.exists(): + _LOGGER.info(f'not find generated_samples') + return + + try: + import black + except Exception as e: + check_call('pip install black', shell=True) + import black + + _BLACK_MODE = black.Mode() + _BLACK_MODE.line_length = 120 + files = generate_sample_path.glob('**/*.py') + for path in files: + with open(path, 'r') as fr: + file_content = fr.read() + + with suppress(black.NothingChanged): + file_content = black.format_file_contents(file_content, fast=True, mode=_BLACK_MODE) + + with open(path, 'w') as fw: + fw.write(file_content) + + _LOGGER.info(f'format generated_samples successfully') diff --git a/tools/azure-sdk-tools/setup.py b/tools/azure-sdk-tools/setup.py index 53c644ce32ba..f04d6eb63994 100644 --- a/tools/azure-sdk-tools/setup.py +++ b/tools/azure-sdk-tools/setup.py @@ -10,6 +10,7 @@ "wheel", "Jinja2", "MarkupSafe==2.0.1", + # black, "pytoml", "json-delta>=2.0", # Tests