mirror of
https://github.com/YunoHost/apps.git
synced 2024-09-03 20:06:07 +02:00
Merge 1d36d3888e
into 8c9d6219ab
This commit is contained in:
commit
d06acface0
1 changed files with 7 additions and 7 deletions
|
@ -8,13 +8,13 @@ from bs4 import BeautifulSoup
|
||||||
from urllib.parse import urljoin
|
from urllib.parse import urljoin
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
ITEMS_LIMIT=100
|
||||||
|
|
||||||
class RefType(Enum):
|
class RefType(Enum):
|
||||||
tags = 1
|
tags = 1
|
||||||
commits = 2
|
commits = 2
|
||||||
releases = 3
|
releases = 3
|
||||||
|
|
||||||
|
|
||||||
class GithubAPI:
|
class GithubAPI:
|
||||||
def __init__(self, upstream: str, auth: Optional[tuple[str, str]] = None):
|
def __init__(self, upstream: str, auth: Optional[tuple[str, str]] = None):
|
||||||
self.upstream = upstream.strip("/")
|
self.upstream = upstream.strip("/")
|
||||||
|
@ -32,7 +32,7 @@ class GithubAPI:
|
||||||
|
|
||||||
def tags(self) -> list[dict[str, str]]:
|
def tags(self) -> list[dict[str, str]]:
|
||||||
"""Get a list of tags for project."""
|
"""Get a list of tags for project."""
|
||||||
return self.internal_api(f"repos/{self.upstream_repo}/tags")
|
return self.internal_api(f"repos/{self.upstream_repo}/tags?per_page={ITEMS_LIMIT}"
|
||||||
|
|
||||||
def commits(self) -> list[dict[str, Any]]:
|
def commits(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of commits for project."""
|
"""Get a list of commits for project."""
|
||||||
|
@ -40,7 +40,7 @@ class GithubAPI:
|
||||||
|
|
||||||
def releases(self) -> list[dict[str, Any]]:
|
def releases(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of releases for project."""
|
"""Get a list of releases for project."""
|
||||||
return self.internal_api(f"repos/{self.upstream_repo}/releases?per_page=100")
|
return self.internal_api(f"repos/{self.upstream_repo}/releases?per_page={ITEMS_LIMIT}"
|
||||||
|
|
||||||
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
|
def url_for_ref(self, ref: str, ref_type: RefType) -> str:
|
||||||
"""Get a URL for a ref."""
|
"""Get a URL for a ref."""
|
||||||
|
@ -102,7 +102,7 @@ class GitlabAPI:
|
||||||
|
|
||||||
def tags(self) -> list[dict[str, str]]:
|
def tags(self) -> list[dict[str, str]]:
|
||||||
"""Get a list of tags for project."""
|
"""Get a list of tags for project."""
|
||||||
return self.internal_api(f"projects/{self.project_id}/repository/tags")
|
return self.internal_api(f"projects/{self.project_id}/repository/tags?per_page={ITEMS_LIMIT}"
|
||||||
|
|
||||||
def commits(self) -> list[dict[str, Any]]:
|
def commits(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of commits for project."""
|
"""Get a list of commits for project."""
|
||||||
|
@ -118,7 +118,7 @@ class GitlabAPI:
|
||||||
|
|
||||||
def releases(self) -> list[dict[str, Any]]:
|
def releases(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of releases for project."""
|
"""Get a list of releases for project."""
|
||||||
releases = self.internal_api(f"projects/{self.project_id}/releases")
|
releases = self.internal_api(f"projects/{self.project_id}/releases?per_page={ITEMS_LIMIT}"
|
||||||
retval = []
|
retval = []
|
||||||
for release in releases:
|
for release in releases:
|
||||||
r = {
|
r = {
|
||||||
|
@ -186,7 +186,7 @@ class GiteaForgejoAPI:
|
||||||
|
|
||||||
def tags(self) -> list[dict[str, Any]]:
|
def tags(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of tags for project."""
|
"""Get a list of tags for project."""
|
||||||
return self.internal_api(f"repos/{self.project_path}/tags")
|
return self.internal_api(f"repos/{self.project_path}/tags?limit={ITEMS_LIMIT}"
|
||||||
|
|
||||||
def commits(self) -> list[dict[str, Any]]:
|
def commits(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of commits for project."""
|
"""Get a list of commits for project."""
|
||||||
|
@ -194,7 +194,7 @@ class GiteaForgejoAPI:
|
||||||
|
|
||||||
def releases(self) -> list[dict[str, Any]]:
|
def releases(self) -> list[dict[str, Any]]:
|
||||||
"""Get a list of releases for project."""
|
"""Get a list of releases for project."""
|
||||||
return self.internal_api(f"repos/{self.project_path}/releases")
|
return self.internal_api(f"repos/{self.project_path}/releases?limit={ITEMS_LIMIT}"
|
||||||
|
|
||||||
def url_for_ref(self, ref: str, _: RefType) -> str:
|
def url_for_ref(self, ref: str, _: RefType) -> str:
|
||||||
"""Get a URL for a ref."""
|
"""Get a URL for a ref."""
|
||||||
|
|
Loading…
Add table
Reference in a new issue