mirror of
https://github.com/sotam0316/docker-py-revanced.git
synced 2026-04-24 19:38:36 +09:00
48 lines
1.7 KiB
Python
48 lines
1.7 KiB
Python
"""Check patching resource updates."""
|
|
|
|
from environs import Env
|
|
from loguru import logger
|
|
|
|
from main import get_app
|
|
from src.config import RevancedConfig
|
|
from src.manager.github import GitHubManager
|
|
from src.utils import default_build, patches_dl_key, patches_version_key
|
|
|
|
|
|
def check_if_build_is_required() -> bool:
|
|
"""Read resource version."""
|
|
env = Env()
|
|
env.read_env()
|
|
config = RevancedConfig(env)
|
|
needs_to_repatched = []
|
|
resource_cache: dict[str, tuple[str, str]] = {}
|
|
for app_name in env.list("PATCH_APPS", default_build):
|
|
logger.info(f"Checking {app_name}")
|
|
app_obj = get_app(config, app_name)
|
|
old_patches_version = GitHubManager(env).get_last_version(app_obj, patches_version_key)
|
|
old_patches_source = GitHubManager(env).get_last_version_source(app_obj, patches_dl_key)
|
|
app_obj.download_patch_resources(config, resource_cache)
|
|
if GitHubManager(env).should_trigger_build(
|
|
old_patches_version,
|
|
old_patches_source,
|
|
app_obj.resource["patches"]["version"],
|
|
app_obj.patches_dl,
|
|
):
|
|
caused_by = {
|
|
"app_name": app_name,
|
|
"patches": {
|
|
"old": old_patches_version,
|
|
"new": app_obj.resource["patches"]["version"],
|
|
},
|
|
}
|
|
logger.info(f"New build can be triggered caused by {caused_by}")
|
|
needs_to_repatched.append(app_name)
|
|
logger.info(f"{needs_to_repatched} are need to repatched.")
|
|
if needs_to_repatched:
|
|
print(",".join(needs_to_repatched)) # noqa: T201
|
|
return True
|
|
return False
|
|
|
|
|
|
check_if_build_is_required()
|