refactor: more flexible tag implementation

This commit is contained in:
Indranil012 2023-03-12 00:37:41 +05:30
parent 32b1a3cf35
commit 9d72b7a68a
4 changed files with 15 additions and 19 deletions

View File

@ -91,13 +91,12 @@ class Releases:
return assets
async def get_latest_releases(self, repositories: list, tag: str = "latest") -> dict:
async def get_latest_releases(self, repositories: dict) -> dict:
"""Runs get_release() asynchronously for each repository.
Args:
repositories (list): List of repositories in Github's standard username/repository notation
tag (str): lateset(default), prerelease, recent, tag_name
see get_tag_name() for more details.
repositories (dict): dict of repositories and tags in Github's standard username/repository notation
example (dict): {repo : tag, ...}
Returns:
dict: A dictionary containing assets from each repository
@ -106,7 +105,7 @@ class Releases:
releases: dict[str, list] = {}
releases['tools'] = []
results: list = await asyncio.gather(*[self.__get_release(repository, tag) for _, repository in repositories.items()])
results: list = await asyncio.gather(*[self.__get_release(repository, tag) for repository, tag in repositories.items()])
releases['tools'] = [asset for result in results for asset in result]

View File

@ -19,5 +19,5 @@ async def patches(request: Request, response: Response) -> dict:
json: list of latest patches
"""
return await releases.get_patches_json(config['repositories']['patches'],
config['release']['tag'])
return await releases.get_patches_json(config['repositories']['patches'][0],
config['repositories']['patches'][1])

View File

@ -18,5 +18,5 @@ async def tools(request: Request, response: Response) -> dict:
Returns:
json: information about the patching tools' latest version
"""
return await releases.get_latest_releases(config['repositories'],
config['release']['tag'])
repositories = dict(config['repositories'].values())
return await releases.get_latest_releases(repositories)

View File

@ -55,16 +55,13 @@ database = 5
access_token_expires = false
[repositories]
patcher = "revanced/revanced-patcher"
patches = "revanced/revanced-patches"
integration = "revanced/revanced-integrations"
manager = "revanced/revanced-manager"
cli = "revanced/revanced-cli"
website = "revanced/revanced-website"
release-api = "revanced/revanced-releases-api"
[release]
tag = "latest"
patcher = ["revanced/revanced-patcher", "latest"]
patches = ["revanced/revanced-patches", "latest"]
integration = ["revanced/revanced-integrations", "latest"]
manager = ["revanced/revanced-manager", "latest"]
cli = ["revanced/revanced-cli", "latest"]
website = ["revanced/revanced-website", "latest"]
release-api = ["revanced/revanced-releases-api", "latest"]
[socials]
website = "https://revanced.app"