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."""
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)
+8
View File
@@ -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."""
+20 -1
View File
@@ -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
)