Best Python code snippet using localstack_python
scaffold.py
Source:scaffold.py
...312 # either just print the code to stdout313 click.echo(code)314 return315 # or find the file path and write the code to that location316 create_code_directory(service, code, path)317 click.echo("done!")318def generate_code(service_name: str, doc: bool = False) -> str:319 model = load_service(service_name)320 output = io.StringIO()321 generate_service_types(output, model, doc=doc)322 generate_service_api(output, model, doc=doc)323 code = output.getvalue()324 try:325 import autoflake326 import isort327 from black import FileMode, format_str328 # try to format with black329 code = format_str(code, mode=FileMode(line_length=100))330 # try to remove unused imports331 code = autoflake.fix_code(code, remove_all_unused_imports=True)332 # try to sort imports333 code = isort.code(code, config=isort.Config(profile="black", line_length=100))334 except Exception:335 pass336 return code337def create_code_directory(service_name: str, code: str, base_path: str):338 service_name = service_name.replace("-", "_")339 path = Path(base_path, service_name)340 if not path.exists():341 click.echo(f"creating directory {path}")342 path.mkdir()343 file = path / "__init__.py"344 click.echo(f"writing to file {file}")345 file.write_text(code)346@scaffold.command()347@click.option("--doc/--no-doc", default=False, help="whether or not to generate docstrings")348@click.option(349 "--path",350 default="./localstack/aws/api",351 help="the path in which to upgrade ASF APIs",352)353def upgrade(path: str, doc: bool = False):354 """355 Execute the code generation for all existing APIs.356 """357 services = [358 d.name.replace("_", "-")359 for d in Path(path).iterdir()360 if d.is_dir() and not d.name.startswith("__")361 ]362 for service in services:363 try:364 code = generate_code(service, doc)365 except UnknownServiceError:366 click.echo(f"unknown service {service}! skipping...")367 continue368 create_code_directory(service, code, base_path=path)369 click.echo("done!")370if __name__ == "__main__":...
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!