# pylint: disable=missing-class-docstring,missing-module-docstring,missing-function-docstring,no-member, attribute-defined-outside-init from abc import ABC from custom_components.hacs.validate import async_run_repository_checks class RepositoryMethodPreRegistration(ABC): async def async_pre_registration(self): pass class RepositoryMethodRegistration(ABC): async def registration(self, ref=None) -> None: self.logger.warning( "'registration' is deprecated, use 'async_registration' instead" ) await self.async_registration(ref) async def async_registration(self, ref=None) -> None: # Run local pre registration steps. await self.async_pre_registration() if ref is not None: self.data.selected_tag = ref self.ref = ref self.force_branch = True if not await self.validate_repository(): return False # Run common registration steps. await self.common_registration() # Set correct local path self.content.path.local = self.localpath # Run local post registration steps. await self.async_post_registration() class RepositoryMethodPostRegistration(ABC): async def async_post_registration(self): await async_run_repository_checks(self)