diff --git a/custom_components/hacs/repositories/appdaemon.py b/custom_components/hacs/repositories/appdaemon.py index 32daa22d5d4..69d6ad4806d 100644 --- a/custom_components/hacs/repositories/appdaemon.py +++ b/custom_components/hacs/repositories/appdaemon.py @@ -7,6 +7,7 @@ from ..enums import HacsCategory from ..exceptions import HacsException +from ..utils.decorator import concurrent from .base import HacsRepository if TYPE_CHECKING: @@ -57,9 +58,10 @@ async def validate_repository(self): self.logger.error("%s %s", self, error) return self.validate.success + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return # Get appdaemon objects. diff --git a/custom_components/hacs/repositories/integration.py b/custom_components/hacs/repositories/integration.py index 26fe547c9ee..b399ebaa884 100644 --- a/custom_components/hacs/repositories/integration.py +++ b/custom_components/hacs/repositories/integration.py @@ -9,6 +9,7 @@ from ..enums import HacsCategory, HacsGitHubRepo, RepositoryFile from ..exceptions import HacsException from ..utils.decode import decode_content +from ..utils.decorator import concurrent from ..utils.filters import get_first_directory_in_directory from ..utils.version import version_to_download from .base import HacsRepository @@ -97,9 +98,10 @@ async def validate_repository(self): self.logger.error("%s %s", self, error) return self.validate.success + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return if self.data.content_in_root: diff --git a/custom_components/hacs/repositories/netdaemon.py b/custom_components/hacs/repositories/netdaemon.py index 76c6cee0e8e..6df6b4c05da 100644 --- a/custom_components/hacs/repositories/netdaemon.py +++ b/custom_components/hacs/repositories/netdaemon.py @@ -6,6 +6,7 @@ from ..enums import HacsCategory from ..exceptions import HacsException from ..utils import filters +from ..utils.decorator import concurrent from .base import HacsRepository if TYPE_CHECKING: @@ -61,9 +62,10 @@ async def validate_repository(self): self.logger.error("%s %s", self, error) return self.validate.success + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return # Get appdaemon objects. diff --git a/custom_components/hacs/repositories/plugin.py b/custom_components/hacs/repositories/plugin.py index 2c13d960ad0..5f65f8fea25 100644 --- a/custom_components/hacs/repositories/plugin.py +++ b/custom_components/hacs/repositories/plugin.py @@ -5,6 +5,7 @@ from typing import TYPE_CHECKING from ..exceptions import HacsException +from ..utils.decorator import concurrent from .base import HacsRepository if TYPE_CHECKING: @@ -51,9 +52,10 @@ async def validate_repository(self): self.logger.error("%s %s", self, error) return self.validate.success + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return # Get plugin objects. diff --git a/custom_components/hacs/repositories/python_script.py b/custom_components/hacs/repositories/python_script.py index 697aaa4cd49..71b49ecda75 100644 --- a/custom_components/hacs/repositories/python_script.py +++ b/custom_components/hacs/repositories/python_script.py @@ -5,6 +5,7 @@ from ..enums import HacsCategory from ..exceptions import HacsException +from ..utils.decorator import concurrent from .base import HacsRepository if TYPE_CHECKING: @@ -62,9 +63,10 @@ async def async_post_registration(self): # Set name self.update_filenames() + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return # Get python_script objects. diff --git a/custom_components/hacs/repositories/theme.py b/custom_components/hacs/repositories/theme.py index e902193472b..b268aa0fbd4 100644 --- a/custom_components/hacs/repositories/theme.py +++ b/custom_components/hacs/repositories/theme.py @@ -5,6 +5,7 @@ from ..enums import HacsCategory from ..exceptions import HacsException +from ..utils.decorator import concurrent from .base import HacsRepository if TYPE_CHECKING: @@ -68,9 +69,10 @@ async def async_post_registration(self): self.update_filenames() self.content.path.local = self.localpath + @concurrent(concurrenttasks=10, backoff_time=5) async def update_repository(self, ignore_issues=False, force=False): """Update.""" - if not await self.common_update(ignore_issues, force): + if not await self.common_update(ignore_issues, force) and not force: return # Get theme objects.