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)
示例#3
0
 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
示例#4
0
 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,
         ),
     )
示例#5
0
 def test_empty(self) -> None:
     assert ImportString.empty() == ""
     assert ImportString.empty().render() == ""
     assert ImportString.parent().render() == ""