mirror of
https://github.com/sotam0316/docker-py-revanced.git
synced 2026-04-25 03:48:37 +09:00
🎨 Moved apk sources out of config. (#294)
This commit is contained in:
+17
-11
@@ -7,6 +7,7 @@ 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
|
||||
|
||||
@@ -23,7 +24,7 @@ class ApkMirror(Downloader):
|
||||
"href"
|
||||
):
|
||||
return self._download(
|
||||
self.config.apk_mirror + possible_link["href"], f"{app}.apk"
|
||||
APK_MIRROR_BASE_URL + possible_link["href"], f"{app}.apk"
|
||||
)
|
||||
raise APKMirrorAPKDownloadFailure(
|
||||
f"Unable to extract force download for {app}", url=link
|
||||
@@ -48,7 +49,7 @@ class ApkMirror(Downloader):
|
||||
None,
|
||||
):
|
||||
self._extract_force_download_link(
|
||||
self.config.apk_mirror + final_download_link, app
|
||||
APK_MIRROR_BASE_URL + final_download_link, app
|
||||
)
|
||||
else:
|
||||
raise APKMirrorAPKDownloadFailure(
|
||||
@@ -68,7 +69,9 @@ class ApkMirror(Downloader):
|
||||
if row.find(class_="accent_color"):
|
||||
apk_type = row.find(class_="apkm-badge").get_text()
|
||||
if apk_type == "APK" and (
|
||||
"arm64-v8a" in row.text.strip() or "universal" in row.text.strip()
|
||||
"arm64-v8a" in row.text.strip()
|
||||
or "universal" in row.text.strip()
|
||||
or "noarch" in row.text.strip()
|
||||
):
|
||||
sub_url = row.find(class_="accent_color")["href"]
|
||||
break
|
||||
@@ -76,12 +79,12 @@ class ApkMirror(Downloader):
|
||||
raise APKMirrorAPKDownloadFailure(
|
||||
"Unable to extract download page", url=main_page
|
||||
)
|
||||
return f"{self.config.apk_mirror}{sub_url}"
|
||||
return f"{APK_MIRROR_BASE_URL}{sub_url}"
|
||||
|
||||
@staticmethod
|
||||
def _extracted_search_div(url: str, search_class: str) -> Tag:
|
||||
"""Extract search div."""
|
||||
r = requests.get(url, headers=headers)
|
||||
r = requests.get(url, headers=headers, timeout=10)
|
||||
if r.status_code != 200:
|
||||
raise APKMirrorAPKDownloadFailure(
|
||||
f"Unable to connect with {url} on ApkMirror. Are you blocked by APKMirror or abused apkmirror "
|
||||
@@ -101,9 +104,9 @@ class ApkMirror(Downloader):
|
||||
"""
|
||||
if not main_page:
|
||||
version = version.replace(".", "-")
|
||||
main_page = (
|
||||
f"{self.config.apk_mirror_version_urls.get(app)}-{version}-release/"
|
||||
)
|
||||
apk_main_page = apk_sources[app]
|
||||
version_page = apk_main_page + apk_main_page.split("/")[-2]
|
||||
main_page = f"{version_page}-{version}-release/"
|
||||
download_page = self.get_download_page(main_page)
|
||||
self.extract_download_link(download_page, app)
|
||||
|
||||
@@ -115,14 +118,17 @@ class ApkMirror(Downloader):
|
||||
:return: Version of downloaded apk
|
||||
"""
|
||||
|
||||
app_main_page = self.config.apk_mirror_urls[app]
|
||||
app_main_page = apk_sources[app]
|
||||
versions_div = self._extracted_search_div(
|
||||
app_main_page, "listWidget p-relative"
|
||||
)
|
||||
app_rows = versions_div.find_all(class_="appRow")
|
||||
version_urls = [
|
||||
app_row.find(class_="downloadLink")["href"] for app_row in app_rows
|
||||
app_row.find(class_="downloadLink")["href"]
|
||||
for app_row in app_rows
|
||||
if "beta" not in app_row.find(class_="appRowTitle").get_text().lower()
|
||||
and "alpha" not in app_row.find(class_="appRowTitle").get_text().lower()
|
||||
]
|
||||
return self.specific_version(
|
||||
app, "latest", self.config.apk_mirror + max(version_urls)
|
||||
app, "latest", APK_MIRROR_BASE_URL + max(version_urls)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user