mirror of
https://github.com/hacs/integration.git
synced 2025-07-22 00:35:16 +00:00
Set and store prerelease during category data generation (#3961)
* Set and store prerelease during category data generation * log out the version
This commit is contained in:
@ -82,7 +82,7 @@ def dicts_are_equal(a: dict, b: dict, ignore: set[str]) -> bool:
|
||||
|
||||
def repository_has_missing_keys(
|
||||
repository: HacsRepository,
|
||||
stage: Literal["update"] | Literal["store"],
|
||||
stage: Literal["update", "store"],
|
||||
) -> bool:
|
||||
"""Check if repository has missing keys."""
|
||||
retval = False
|
||||
@ -220,18 +220,22 @@ class AdjustedHacs(HacsBase):
|
||||
release_count = len(releases)
|
||||
|
||||
repository.data.etag_releases = response.etag
|
||||
repository.data.prerelease = None
|
||||
|
||||
if release_count != 0:
|
||||
for release in releases:
|
||||
if release.draft:
|
||||
repository.logger.warning(
|
||||
"%s Found draft", repository.string)
|
||||
"%s Found draft %s", repository.string, release.tag_name)
|
||||
|
||||
elif release.prerelease:
|
||||
repository.logger.info(
|
||||
"%s Found prerelease", repository.string)
|
||||
"%s Found prerelease %s", repository.string, release.tag_name)
|
||||
repository.data.prerelease = release.tag_name
|
||||
|
||||
else:
|
||||
repository.logger.info(
|
||||
"%s Found release %s", repository.string, release.tag_name)
|
||||
repository.data.releases = True
|
||||
repository.releases.objects = releases
|
||||
repository.data.published_tags = [
|
||||
@ -267,6 +271,12 @@ class AdjustedHacs(HacsBase):
|
||||
repository.data.last_version = next_version
|
||||
repository.data.etag_repository = None
|
||||
|
||||
if (
|
||||
repository.data.prerelease
|
||||
and repository.data.prerelease == repository.data.last_version
|
||||
):
|
||||
repository.data.prerelease = None
|
||||
|
||||
except GitHubNotModifiedException:
|
||||
repository.data.releases = True
|
||||
repository.logger.info(
|
||||
@ -490,7 +500,7 @@ async def generate_category_data(category: str, repository_name: str = None):
|
||||
or len(updated_data) == 0
|
||||
or not isinstance(updated_data, dict)
|
||||
):
|
||||
print_error_and_exit(f"Updated data is empty", category)
|
||||
print_error_and_exit("Updated data is empty", category)
|
||||
did_raise = True
|
||||
|
||||
try:
|
||||
|
@ -160,6 +160,7 @@ async def test_generate_category_data_with_prior_content(
|
||||
"full_name": category_test_data["repository"],
|
||||
"last_updated": "2011-01-26T19:06:43Z",
|
||||
"last_version": category_test_data["version_base"],
|
||||
"prerelease": "0.0.0",
|
||||
"stargazers_count": 0,
|
||||
"topics": ["api", "atom", "electron", "octocat"],
|
||||
**category_data.get(category_test_data["category"], {}),
|
||||
|
@ -12,6 +12,7 @@
|
||||
"name": "Proxy manifest"
|
||||
},
|
||||
"manifest_name": "Proxy manifest",
|
||||
"prerelease": "3.0.0",
|
||||
"stargazers_count": 80,
|
||||
"topics": [
|
||||
"api",
|
||||
|
@ -13,6 +13,7 @@
|
||||
"name": "Proxy manifest"
|
||||
},
|
||||
"manifest_name": "Proxy manifest",
|
||||
"prerelease": "3.0.0",
|
||||
"stargazers_count": 80,
|
||||
"topics": [
|
||||
"api",
|
||||
|
Reference in New Issue
Block a user