From 07b01bb3a1c6a88c5273dce5691ca6ec5d14e2c2 Mon Sep 17 00:00:00 2001 From: Nikhil Badyal Date: Tue, 22 Aug 2023 21:06:53 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=A8=20Updated=20variable=20name?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 1 + scripts/status_check.py | 10 +++------- src/config.py | 4 ++-- src/downloader/apkmirror.py | 5 ++--- src/downloader/apksos.py | 5 ++--- src/downloader/uptodown.py | 5 ++--- src/patches.py | 1 - src/utils.py | 8 +++++--- 8 files changed, 17 insertions(+), 22 deletions(-) diff --git a/main.py b/main.py index 0715919..95da132 100644 --- a/main.py +++ b/main.py @@ -35,6 +35,7 @@ def main() -> None: app=app.app_name, patcher=patcher, config=config ) app.download_file_name = downloader.download(app.app_version, app.app_name) + logger.info(app) parser.patch_app(app) except AppNotFound as e: logger.info(f"Invalid app requested to build {e}") diff --git a/scripts/status_check.py b/scripts/status_check.py index 7c4d6a0..566186a 100644 --- a/scripts/status_check.py +++ b/scripts/status_check.py @@ -14,14 +14,10 @@ from src.utils import ( apkmirror_status_check, bs4_parser, handle_request_response, + request_header, ) not_found_icon = "https://img.icons8.com/bubbles/500/android-os.png" -headers = { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " - "AppleWebKit/537.36 (HTML, like Gecko)" - " Chrome/96.0.4664.93 Safari/537.36" -} def apkcombo_scrapper(package_name: str) -> str: @@ -29,7 +25,7 @@ def apkcombo_scrapper(package_name: str) -> str: try: apkcombo_url = f"https://apkcombo.com/genericApp/{package_name}" r = requests.get( - apkcombo_url, headers=headers, allow_redirects=True, timeout=10 + apkcombo_url, headers=request_header, allow_redirects=True, timeout=10 ) soup = BeautifulSoup(r.text, bs4_parser) url = soup.select_one("div.avatar > img")["data-src"] @@ -48,7 +44,7 @@ def apkmirror_scrapper(package_name: str) -> str: def _extracted_from_apkmirror_scrapper(search_url: str) -> str: - r = requests.get(search_url, headers=headers, timeout=60) + r = requests.get(search_url, headers=request_header, timeout=60) soup = BeautifulSoup(r.text, bs4_parser) sub_url = soup.select_one("div.bubble-wrap > img")["src"] new_width = 500 diff --git a/src/config.py b/src/config.py index c3305c5..0ec4f67 100644 --- a/src/config.py +++ b/src/config.py @@ -17,12 +17,12 @@ class RevancedConfig(object): """Revanced Configurations.""" def __init__(self, env: Env) -> None: - from src.utils import default_build + from src.utils import default_build, request_header self.env = env self.temp_folder = Path("apks") self.session = Session() - self.session.headers["User-Agent"] = "anything" + self.session.headers["User-Agent"] = request_header["User-Agent"] self.ci_test = env.bool("CI_TEST", False) self.apps = env.list( "PATCH_APPS", diff --git a/src/downloader/apkmirror.py b/src/downloader/apkmirror.py index dd6fb41..a7c734f 100644 --- a/src/downloader/apkmirror.py +++ b/src/downloader/apkmirror.py @@ -5,11 +5,10 @@ import requests from bs4 import BeautifulSoup, Tag from loguru import logger -from scripts.status_check import headers from src.downloader.download import Downloader from src.downloader.sources import APK_MIRROR_BASE_URL, apk_sources from src.exceptions import APKMirrorAPKDownloadFailure -from src.utils import bs4_parser, contains_any_word +from src.utils import bs4_parser, contains_any_word, request_header class ApkMirror(Downloader): @@ -84,7 +83,7 @@ class ApkMirror(Downloader): @staticmethod def _extracted_search_div(url: str, search_class: str) -> Tag: """Extract search div.""" - r = requests.get(url, headers=headers, timeout=60) + r = requests.get(url, headers=request_header, timeout=60) if r.status_code != 200: raise APKMirrorAPKDownloadFailure( f"Unable to connect with {url} on ApkMirror. Are you blocked by APKMirror or abused apkmirror " diff --git a/src/downloader/apksos.py b/src/downloader/apksos.py index 851888a..7b6982e 100644 --- a/src/downloader/apksos.py +++ b/src/downloader/apksos.py @@ -4,11 +4,10 @@ from typing import Any import requests from bs4 import BeautifulSoup -from scripts.status_check import headers from src.downloader.download import Downloader from src.downloader.sources import apk_sources from src.exceptions import APKSosAPKDownloadFailure -from src.utils import bs4_parser +from src.utils import bs4_parser, request_header class ApkSos(Downloader): @@ -20,7 +19,7 @@ class ApkSos(Downloader): :param page: Url of the page :param app: Name of the app """ - r = requests.get(page, headers=headers, allow_redirects=True) + r = requests.get(page, headers=request_header, allow_redirects=True) soup = BeautifulSoup(r.text, bs4_parser) download_button = soup.find(class_="col-sm-12 col-md-8 text-center") possible_links = download_button.find_all("a") diff --git a/src/downloader/uptodown.py b/src/downloader/uptodown.py index 95c0323..ea02676 100644 --- a/src/downloader/uptodown.py +++ b/src/downloader/uptodown.py @@ -5,18 +5,17 @@ import requests from bs4 import BeautifulSoup from loguru import logger -from scripts.status_check import headers from src.downloader.download import Downloader from src.downloader.sources import apk_sources from src.exceptions import UptoDownAPKDownloadFailure -from src.utils import bs4_parser +from src.utils import bs4_parser, request_header class UptoDown(Downloader): """Files downloader.""" def extract_download_link(self, page: str, app: str) -> str: - r = requests.get(page, headers=headers, allow_redirects=True, timeout=60) + r = requests.get(page, headers=request_header, allow_redirects=True, timeout=60) soup = BeautifulSoup(r.text, bs4_parser) soup = soup.find(id="detail-download-button") download_url = soup.get("data-url") diff --git a/src/patches.py b/src/patches.py index 9c10778..04dfeb4 100644 --- a/src/patches.py +++ b/src/patches.py @@ -188,7 +188,6 @@ class Patches(object): parser.include(normalized_patch) if normalized_patch not in getattr( self, "universal_patch", [] ) else () - logger.info(app) def get_app_configs(self, app: "APP") -> List[Dict[str, str]]: """The function `get_app_configs` retrieves configurations for a given diff --git a/src/utils.py b/src/utils.py index 3aa1cfa..c3dbbb4 100644 --- a/src/utils.py +++ b/src/utils.py @@ -17,8 +17,10 @@ default_build = [ ] 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", +request_header = { + "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (HTML, like Gecko)" + " Chrome/96.0.4664.93 Safari/537.36", "Authorization": "Basic YXBpLWFwa3VwZGF0ZXI6cm01cmNmcnVVakt5MDRzTXB5TVBKWFc4", "Content-Type": "application/json", } @@ -237,7 +239,7 @@ def apkmirror_status_check(package_name: str) -> Any: """ api_url = f"{apk_mirror_base_url}/wp-json/apkm/v1/app_exists/" body = {"pnames": [package_name]} - response = requests.post(api_url, json=body, headers=apk_mirror_header) + response = requests.post(api_url, json=body, headers=request_header) return response.json()