Extracted common methods (#281)

This commit is contained in:
Nikhil Badyal
2023-08-15 15:19:02 +05:30
committed by GitHub
parent a373242773
commit 4d3e82b4fb
3 changed files with 34 additions and 16 deletions
+6 -15
View File
@@ -1,5 +1,4 @@
"""Status check.""" """Status check."""
import json
import re import re
from typing import List from typing import List
@@ -10,7 +9,11 @@ from google_play_scraper.exceptions import GooglePlayScraperException
from src.exceptions import APKMirrorScrapperFailure from src.exceptions import APKMirrorScrapperFailure
from src.patches import Patches 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" not_found_icon = "https://img.icons8.com/bubbles/500/android-os.png"
headers = { headers = {
@@ -34,19 +37,7 @@ def apkcombo_scrapper(package_name: str) -> str:
def apkmirror_scrapper(package_name: str) -> str: def apkmirror_scrapper(package_name: str) -> str:
"""Apkmirror URL.""" """Apkmirror URL."""
apk_mirror_base_url = "https://www.apkmirror.com" response = apkmirror_status_check(package_name)
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
)
if response["data"][0]["exists"]: if response["data"][0]["exists"]:
search_url = f"{apk_mirror_base_url}/?s={package_name}" search_url = f"{apk_mirror_base_url}/?s={package_name}"
r = requests.get(search_url, headers=headers) r = requests.get(search_url, headers=headers)
+8
View File
@@ -58,6 +58,14 @@ class Patches(object):
key: (value, "_" + value) for key, value in _revanced_app_ids.items() 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 @staticmethod
def support_app() -> Dict[str, str]: def support_app() -> Dict[str, str]:
"""Return supported apps.""" """Return supported apps."""
+20 -1
View File
@@ -1,9 +1,11 @@
"""Utilities.""" """Utilities."""
import json
import os import os
import re import re
import subprocess import subprocess
from typing import Dict from typing import Any, Dict
import requests
from loguru import logger from loguru import logger
from requests import Response from requests import Response
@@ -15,6 +17,12 @@ default_build = [
"youtube_music", "youtube_music",
] ]
possible_archs = ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"] 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: def update_changelog(name: str, response: Dict[str, str]) -> None:
@@ -107,3 +115,14 @@ def extra_downloads(config: RevancedConfig) -> None:
logger.info( logger.info(
"Unable to download extra file. Provide input in url@name.apk format." "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
)