diff --git a/scripts/status_check.py b/scripts/status_check.py index 3eeeaba..a82e836 100644 --- a/scripts/status_check.py +++ b/scripts/status_check.py @@ -1,5 +1,4 @@ """Status check.""" -import json import re from typing import List @@ -10,7 +9,11 @@ from google_play_scraper.exceptions import GooglePlayScraperException from src.exceptions import APKMirrorScrapperFailure from src.patches import Patches -from src.utils import handle_github_response +from src.utils import ( + apk_mirror_base_url, + apkmirror_status_check, + handle_github_response, +) not_found_icon = "https://img.icons8.com/bubbles/500/android-os.png" headers = { @@ -34,19 +37,7 @@ def apkcombo_scrapper(package_name: str) -> str: def apkmirror_scrapper(package_name: str) -> str: """Apkmirror URL.""" - apk_mirror_base_url = "https://www.apkmirror.com" - check_if_exist = f"{apk_mirror_base_url}/wp-json/apkm/v1/app_exists/" - body = {"pnames": [package_name]} - check_header = { - "User-Agent": "APKUpdater-v" + "3.0.1", - "Authorization": "Basic YXBpLWFwa3VwZGF0ZXI6cm01cmNmcnVVakt5MDRzTXB5TVBKWFc4", - "Content-Type": "application/json", - } - response = json.loads( - requests.post( - check_if_exist, data=json.dumps(body), headers=check_header - ).content - ) + response = apkmirror_status_check(package_name) if response["data"][0]["exists"]: search_url = f"{apk_mirror_base_url}/?s={package_name}" r = requests.get(search_url, headers=headers) diff --git a/src/patches.py b/src/patches.py index 3d479d4..baa7e41 100644 --- a/src/patches.py +++ b/src/patches.py @@ -58,6 +58,14 @@ class Patches(object): key: (value, "_" + value) for key, value in _revanced_app_ids.items() } + @staticmethod + def get_package_name(app: str) -> str: + """Get Package name from app name.""" + for package, app_tuple in Patches.revanced_app_ids.items(): + if app_tuple[0] == app: + return package + raise AppNotFound("App Not Found.") + @staticmethod def support_app() -> Dict[str, str]: """Return supported apps.""" diff --git a/src/utils.py b/src/utils.py index ad3f723..88106ed 100644 --- a/src/utils.py +++ b/src/utils.py @@ -1,9 +1,11 @@ """Utilities.""" +import json import os import re import subprocess -from typing import Dict +from typing import Any, Dict +import requests from loguru import logger from requests import Response @@ -15,6 +17,12 @@ default_build = [ "youtube_music", ] possible_archs = ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] +apk_mirror_base_url = "https://www.apkmirror.com" +apk_mirror_header = { + "User-Agent": "APKUpdater-v" + "3.0.1", + "Authorization": "Basic YXBpLWFwa3VwZGF0ZXI6cm01cmNmcnVVakt5MDRzTXB5TVBKWFc4", + "Content-Type": "application/json", +} def update_changelog(name: str, response: Dict[str, str]) -> None: @@ -107,3 +115,14 @@ def extra_downloads(config: RevancedConfig) -> None: logger.info( "Unable to download extra file. Provide input in url@name.apk format." ) + + +def apkmirror_status_check(package_name: str) -> Any: + """Check if app exists on APKMirror.""" + check_if_exist = f"{apk_mirror_base_url}/wp-json/apkm/v1/app_exists/" + body = {"pnames": [package_name]} + return json.loads( + requests.post( + check_if_exist, data=json.dumps(body), headers=apk_mirror_header + ).content + )