1
0
Fork 0
mirror of https://github.com/YunoHost/apps.git synced 2024-09-03 20:06:07 +02:00

find_deprecated: Read the archived status of the upstream repository

This commit is contained in:
Salamandar 2024-03-08 19:02:33 +01:00
parent 36df64ceda
commit 9eb9c16442
2 changed files with 16 additions and 1 deletions

View file

@ -42,6 +42,10 @@ class GithubAPI:
"""Get a list of releases for project."""
return self.internal_api(f"repos/{self.upstream_repo}/releases?per_page=100")
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"repos/{self.upstream_repo}")["archived"]
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
"""Get a URL for a ref."""
if ref_type == RefType.tags or ref_type == RefType.releases:
@ -145,6 +149,10 @@ class GitlabAPI:
return retval
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"projects/{self.project_id}")["archived"]
def url_for_ref(self, ref: str, _: RefType) -> str:
name = self.project_path.split("/")[-1]
clean_ref = ref.replace("/", "-")
@ -196,6 +204,10 @@ class GiteaForgejoAPI:
"""Get a list of releases for project."""
return self.internal_api(f"repos/{self.project_path}/releases")
def archived(self) -> bool:
"""Return the archival status for the repository"""
return self.internal_api(f"repos/{self.project_path}")["archived"]
def url_for_ref(self, ref: str, _: RefType) -> str:
"""Get a URL for a ref."""
return f"{self.forge_root}/{self.project_path}/archive/{ref}.tar.gz"

View file

@ -39,7 +39,6 @@ def get_github() -> tuple[Optional[tuple[str, str]], Optional[github.Github], Op
return None, None, None
def upstream_last_update_ago(app: str) -> tuple[str, int | None]:
manifest_toml = app_cache_folder(app) / "manifest.toml"
manifest_json = app_cache_folder(app) / "manifest.json"
@ -75,6 +74,10 @@ def upstream_last_update_ago(app: str) -> tuple[str, int | None]:
api = GiteaForgejoAPI(upstream)
if api:
if api.archived():
# A stupid value that we know to be higher than the trigger value
return app, 1000
last_commit = api.commits()[0]
date = last_commit["commit"]["author"]["date"]
date = datetime.datetime.fromisoformat(date)