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(
|
def repository_has_missing_keys(
|
||||||
repository: HacsRepository,
|
repository: HacsRepository,
|
||||||
stage: Literal["update"] | Literal["store"],
|
stage: Literal["update", "store"],
|
||||||
) -> bool:
|
) -> bool:
|
||||||
"""Check if repository has missing keys."""
|
"""Check if repository has missing keys."""
|
||||||
retval = False
|
retval = False
|
||||||
@ -220,18 +220,22 @@ class AdjustedHacs(HacsBase):
|
|||||||
release_count = len(releases)
|
release_count = len(releases)
|
||||||
|
|
||||||
repository.data.etag_releases = response.etag
|
repository.data.etag_releases = response.etag
|
||||||
|
repository.data.prerelease = None
|
||||||
|
|
||||||
if release_count != 0:
|
if release_count != 0:
|
||||||
for release in releases:
|
for release in releases:
|
||||||
if release.draft:
|
if release.draft:
|
||||||
repository.logger.warning(
|
repository.logger.warning(
|
||||||
"%s Found draft", repository.string)
|
"%s Found draft %s", repository.string, release.tag_name)
|
||||||
|
|
||||||
elif release.prerelease:
|
elif release.prerelease:
|
||||||
repository.logger.info(
|
repository.logger.info(
|
||||||
"%s Found prerelease", repository.string)
|
"%s Found prerelease %s", repository.string, release.tag_name)
|
||||||
|
repository.data.prerelease = release.tag_name
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
repository.logger.info(
|
||||||
|
"%s Found release %s", repository.string, release.tag_name)
|
||||||
repository.data.releases = True
|
repository.data.releases = True
|
||||||
repository.releases.objects = releases
|
repository.releases.objects = releases
|
||||||
repository.data.published_tags = [
|
repository.data.published_tags = [
|
||||||
@ -267,6 +271,12 @@ class AdjustedHacs(HacsBase):
|
|||||||
repository.data.last_version = next_version
|
repository.data.last_version = next_version
|
||||||
repository.data.etag_repository = None
|
repository.data.etag_repository = None
|
||||||
|
|
||||||
|
if (
|
||||||
|
repository.data.prerelease
|
||||||
|
and repository.data.prerelease == repository.data.last_version
|
||||||
|
):
|
||||||
|
repository.data.prerelease = None
|
||||||
|
|
||||||
except GitHubNotModifiedException:
|
except GitHubNotModifiedException:
|
||||||
repository.data.releases = True
|
repository.data.releases = True
|
||||||
repository.logger.info(
|
repository.logger.info(
|
||||||
@ -490,7 +500,7 @@ async def generate_category_data(category: str, repository_name: str = None):
|
|||||||
or len(updated_data) == 0
|
or len(updated_data) == 0
|
||||||
or not isinstance(updated_data, dict)
|
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
|
did_raise = True
|
||||||
|
|
||||||
try:
|
try:
|
||||||
|
@ -160,6 +160,7 @@ async def test_generate_category_data_with_prior_content(
|
|||||||
"full_name": category_test_data["repository"],
|
"full_name": category_test_data["repository"],
|
||||||
"last_updated": "2011-01-26T19:06:43Z",
|
"last_updated": "2011-01-26T19:06:43Z",
|
||||||
"last_version": category_test_data["version_base"],
|
"last_version": category_test_data["version_base"],
|
||||||
|
"prerelease": "0.0.0",
|
||||||
"stargazers_count": 0,
|
"stargazers_count": 0,
|
||||||
"topics": ["api", "atom", "electron", "octocat"],
|
"topics": ["api", "atom", "electron", "octocat"],
|
||||||
**category_data.get(category_test_data["category"], {}),
|
**category_data.get(category_test_data["category"], {}),
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
"name": "Proxy manifest"
|
"name": "Proxy manifest"
|
||||||
},
|
},
|
||||||
"manifest_name": "Proxy manifest",
|
"manifest_name": "Proxy manifest",
|
||||||
|
"prerelease": "3.0.0",
|
||||||
"stargazers_count": 80,
|
"stargazers_count": 80,
|
||||||
"topics": [
|
"topics": [
|
||||||
"api",
|
"api",
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
"name": "Proxy manifest"
|
"name": "Proxy manifest"
|
||||||
},
|
},
|
||||||
"manifest_name": "Proxy manifest",
|
"manifest_name": "Proxy manifest",
|
||||||
|
"prerelease": "3.0.0",
|
||||||
"stargazers_count": 80,
|
"stargazers_count": 80,
|
||||||
"topics": [
|
"topics": [
|
||||||
"api",
|
"api",
|
||||||
|
Reference in New Issue
Block a user