Added apksos downloader

This commit is contained in:
Nikhil Badyal
2022-12-02 10:33:03 +05:30
parent 05eab73f1f
commit 5a81c775f4
2 changed files with 29 additions and 0 deletions
+28
View File
@@ -114,6 +114,24 @@ class Downloader(object):
logger.debug(f"Downloaded {app} apk from apk_pure_downloader in rt")
return "latest"
def __apk_sos_downloader(self, app: str) -> str:
package_name = None
for package, app_tuple in self.patcher.revanced_app_ids.items():
if app_tuple[0] == app:
package_name = package
if not package_name:
logger.info("Unable to download from apkcombo")
raise AppNotFound()
download_url = f"https://apksos.com/download-app/{package_name}"
parser = LexborHTMLParser(self.config.session.get(download_url).text)
download_url = parser.css_first(
r"body > div > div > div > div > div.col-sm-12.col-md-8 > div.card.fluid.\.idma > "
"div.section.row > div.col-sm-12.col-md-8.text-center > p > a"
).attributes["href"]
self._download(download_url, f"{app}.apk")
logger.debug(f"Downloaded {app} apk from apk_combo_downloader in rt")
return "latest"
def apkmirror_specific_version(self, app: str, version: str) -> str:
"""Function to download the specified version of app from apkmirror.
@@ -232,6 +250,14 @@ class Downloader(object):
else:
return self.apkmirror_latest_version(app)
def apk_sos_downloader(self, app: str) -> str:
"""Function to download from Apk Pure.
:param app: Name of the application
:return: Version of downloaded APK
"""
return self.__apk_sos_downloader(app)
def download_apk_to_patch(self, version: str, app: str) -> str:
"""Public function to download apk to patch.
@@ -243,5 +269,7 @@ class Downloader(object):
return self.upto_down_downloader(app)
elif app in self.config.apk_pure:
return self.apk_pure_downloader(app)
elif app in self.config.apk_sos:
return self.apk_sos_downloader(app)
else:
return self.download_from_apkmirror(version, app)