def get_init_import_records(self) -> List[ImportRecord]: """ Get import records for `__init__.py[i]`. """ import_records: Set[ImportRecord] = set() import_records.add( ImportRecord( ImportString.parent() + ImportString(ServiceModuleName.client.name), self.client.name, ) ) if self.service_resource: import_records.add( ImportRecord( ImportString.parent() + ImportString(ServiceModuleName.service_resource.name), self.service_resource.name, ) ) for waiter in self.waiters: import_records.add( ImportRecord( ImportString.parent() + ImportString(ServiceModuleName.waiter.name), waiter.name, ) ) for paginator in self.paginators: import_records.add( ImportRecord( ImportString.parent() + ImportString(ServiceModuleName.paginator.name), paginator.name, ) ) return list(sorted(import_records))
def __init__(self, service_module_name: ServiceModuleName, name: str = "", alias: str = ""): self._local_source = ImportString(service_module_name.name) source = ImportString.parent() + self._local_source super().__init__(source, name=name, alias=alias)
def _get_client_import(self, service_name: ServiceName) -> ExternalImport: client_import = ExternalImport( source=ImportString.parent() + ImportString(ServiceModuleName.client.value), name=Client.get_class_name(service_name), ) client_import.import_record = InternalImportRecord( ServiceModuleName.client, client_import.name) return client_import
def get_client_method(self) -> Method: """ Get `get_waiter` method for `Client`. """ return Method( name="get_waiter", decorators=[Type.overload], docstring=self.docstring, arguments=[ Argument("self", None), Argument("waiter_name", TypeLiteral(f"{self.name}Name", [self.waiter_name])), ], return_type=ExternalImport( source=ImportString.parent() + ImportString(ServiceModuleName.waiter.value), name=self.name, ), )
def test_empty(self) -> None: assert ImportString.empty() == "" assert ImportString.empty().render() == "" assert ImportString.parent().render() == ""