🎨 Handle request status (#351)

This commit is contained in:
Nikhil Badyal
2023-08-28 22:08:27 +05:30
committed by GitHub
parent bc5635530b
commit 30e92acaee
8 changed files with 40 additions and 52 deletions
+9 -24
View File
@@ -9,9 +9,8 @@ from scripts.status_check import combo_headers
from src.app import APP
from src.downloader.download import Downloader
from src.downloader.sources import APK_MONK_BASE_URL
from src.downloader.utils import status_code_200
from src.exceptions import APKMonkAPKDownloadError
from src.utils import bs4_parser, request_header
from src.utils import bs4_parser, handle_request_response, request_header, request_timeout
class ApkMonk(Downloader):
@@ -24,13 +23,8 @@ class ApkMonk(Downloader):
:param app: Name of the app
"""
file_name = f"{app}.apk"
r = requests.get(page, headers=request_header, allow_redirects=True, timeout=60)
if r.status_code != status_code_200:
msg = f"Unable to connect with {page}.Reason - {r.text}"
raise APKMonkAPKDownloadError(
msg,
url=page,
)
r = requests.get(page, headers=request_header, allow_redirects=True, timeout=request_timeout)
handle_request_response(r, page)
soup = BeautifulSoup(r.text, bs4_parser)
download_scripts = soup.find_all("script", type="text/javascript")
key_value_pattern = r'\{"pkg":"([^"]+)","key":"([^"]+)"\}'
@@ -48,13 +42,8 @@ class ApkMonk(Downloader):
url=page,
)
request_header["User-Agent"] = combo_headers["User-Agent"]
r = requests.get(url, headers=request_header, allow_redirects=True, timeout=60)
if r.status_code != status_code_200:
msg = f"Unable to connect with {page}.Reason - {r.text}"
raise APKMonkAPKDownloadError(
msg,
url=page,
)
r = requests.get(url, headers=request_header, allow_redirects=True, timeout=request_timeout)
handle_request_response(r, url)
final_download_url = r.json()["url"]
self._download(final_download_url, file_name)
return file_name, final_download_url
@@ -67,13 +56,8 @@ class ApkMonk(Downloader):
:param main_page: Version of the application to download
:return: Version of downloaded apk
"""
r = requests.get(app.download_source, headers=request_header, allow_redirects=True, timeout=60)
if r.status_code != status_code_200:
msg = f"Unable to connect with {app.download_source}.Reason - {r.text}"
raise APKMonkAPKDownloadError(
msg,
url=app.download_source,
)
r = requests.get(app.download_source, headers=request_header, allow_redirects=True, timeout=request_timeout)
handle_request_response(r, app.download_source)
soup = BeautifulSoup(r.text, bs4_parser)
version_table = soup.find_all(class_="striped")
for version_row in version_table:
@@ -95,7 +79,8 @@ class ApkMonk(Downloader):
:param app: Name of the application
:return: Version of downloaded apk
"""
r = requests.get(app.download_source, headers=request_header, allow_redirects=True, timeout=60)
r = requests.get(app.download_source, headers=request_header, allow_redirects=True, timeout=request_timeout)
handle_request_response(r, app.download_source)
soup = BeautifulSoup(r.text, bs4_parser)
latest_download_url = soup.find(id="download_button")["href"] # type: ignore[index]
return self.extract_download_link(latest_download_url, app.app_name) # type: ignore[arg-type]