def process_boto3_stubs( session: Session, output_path: Path, service_names: List[ServiceName], generate_setup: bool, ) -> Boto3StubsPackage: """ Parse and write stubs package `boto3_stubs`. Arguments: session -- boto3 session. output_path -- Package output path. service_names -- List of known service names. generate_setup -- Generate ready-to-install or to-use package. Return: Parsed Boto3StubsPackage. """ logger = get_logger() logger.debug("Parsing boto3 stubs") boto3_stubs_package = parse_boto3_stubs_package( session=session, service_names=service_names) logger.debug(f"Writing boto3 stubs to {NicePath(output_path)}") write_boto3_stubs_package(boto3_stubs_package, output_path, generate_setup=generate_setup) return boto3_stubs_package
def process_boto3_stubs( session: Session, output_path: Path, service_names: List[ServiceName], generate_setup: bool, ) -> Boto3StubsPackage: """ Parse and write stubs package `boto3_stubs`. Arguments: session -- boto3 session. output_path -- Package output path. service_names -- List of known service names. generate_setup -- Whether to generate install or installed package. Return: Parsed Boto3StubsPackage. """ logger.debug("Parsing boto3 stubs") boto3_stub_package = parse_boto3_stubs_package(session=session, service_names=service_names) logger.debug(f"Writing boto3 stubs to {NicePath(output_path)}") modified_paths = write_boto3_stubs_package(boto3_stub_package, output_path, generate_setup=generate_setup) for modified_path in modified_paths: logger.debug(f"Updated {NicePath(modified_path)}") return boto3_stub_package
def test_parse_boto3_stubs_package(self) -> None: session_mock = MagicMock() service_name_mock = MagicMock() service_name2_mock = MagicMock() result = parse_boto3_stubs_package( session_mock, service_names=[service_name_mock, service_name2_mock]) assert result.essential_service_names == [ service_name_mock, service_name2_mock ] session_mock.resource.return_value = None parse_boto3_stubs_package( session_mock, service_names=[service_name_mock, service_name2_mock])
def process_boto3_stubs_docs( session: Session, output_path: Path, service_names: Iterable[ServiceName], ) -> Boto3StubsPackage: """ Parse and write master package docs. Arguments: session -- boto3 session output_path -- Package output path service_names -- List of known service names Return: Parsed Boto3StubsPackage. """ logger = get_logger() package_data = Boto3StubsPackageData logger.debug(f"Parsing {package_data.PYPI_NAME}") boto3_stubs_package = parse_boto3_stubs_package(session, service_names, package_data) logger.debug( f"Writing {package_data.PYPI_NAME} to {NicePath(output_path)}") package_writer = PackageWriter(output_path=output_path) package_writer.write_docs( boto3_stubs_package, templates_path=TEMPLATES_PATH / "boto3_stubs_docs", ) return boto3_stubs_package
def test_parse_boto3_stubs_package(self) -> None: session_mock = MagicMock() service_name_mock = MagicMock() service_name_mock.underscore_name = "service_name" service_name2_mock = MagicMock() service_name2_mock.underscore_name = "service_name2" result = parse_boto3_stubs_package( session_mock, [service_name_mock, service_name2_mock], Boto3StubsPackageData, ) assert result.essential_service_names == [service_name_mock, service_name2_mock] session_mock.resource.return_value = None parse_boto3_stubs_package( session_mock, [service_name_mock, service_name2_mock], Boto3StubsPackageData, )
def process_boto3_stubs_lite( session: Session, output_path: Path, service_names: Iterable[ServiceName], generate_setup: bool, version: str, ) -> Boto3StubsPackage: """ Parse and write stubs package `boto3-stubs-lite`. Arguments: session -- boto3 session output_path -- Package output path service_names -- List of known service names generate_setup -- Generate ready-to-install or to-use package version -- Package version Return: Parsed Boto3StubsPackage. """ logger = get_logger() package_data = Boto3StubsLitePackageData logger.debug(f"Parsing {package_data.PYPI_NAME}") boto3_stubs_package = parse_boto3_stubs_package( session=session, service_names=service_names, package_data=package_data, ) boto3_stubs_package.version = version logger.debug( f"Writing {package_data.PYPI_NAME} to {NicePath(output_path)}") package_writer = PackageWriter(output_path=output_path, generate_setup=generate_setup) package_writer.write_package( boto3_stubs_package, templates_path=TEMPLATES_PATH / "boto3-stubs", static_files_path=BOTO3_STUBS_STATIC_PATH, exclude_template_names=[ "session.pyi.jinja2", "__init__.pyi.jinja2", ], ) return boto3_stubs_package
def process_boto3_stubs_docs( session: Session, output_path: Path, service_names: List[ServiceName], ) -> Boto3StubsPackage: """ Parse and write master package docs. Arguments: session -- boto3 session. output_path -- Package output path. service_names -- List of known service names. Return: Parsed Boto3StubsPackage. """ logger = get_logger() logger.debug("Parsing boto3 stubs") boto3_stubs_package = parse_boto3_stubs_package(session, service_names) logger.debug(f"Writing boto3 stubs to {NicePath(output_path)}") write_boto3_stubs_docs(boto3_stubs_package, output_path=output_path) return boto3_stubs_package