Compare commits

...

2 Commits

Author SHA1 Message Date
tretrauit df00e6b679 chore: update url 2024-04-25 21:46:10 +07:00
tretrauit 07f6ce6317 fix: hdiffpatch download 2024-04-25 21:46:03 +07:00
4 changed files with 25 additions and 13 deletions

View File

@ -10,9 +10,9 @@ README = (HERE / "README.md").read_text()
setup(
name='worthless',
version='2.2.21',
version='2.2.22',
packages=['worthless', 'worthless.classes', 'worthless.classes.launcher', 'worthless.classes.installer'],
url='https://git.froggi.es/tretrauit/worthless-launcher',
url='https://git.tretrauit.me/tretrauit/worthless-launcher',
license='MIT License',
author='tretrauit',
author_email='tretrauit@gmail.org',

View File

@ -4,4 +4,4 @@ Launcher = launcher.Launcher
Installer = installer.Installer
__version__ = "2.2.20"
__version__ = "2.2.22"

0
worthless/cli.py Normal file → Executable file
View File

View File

@ -26,7 +26,7 @@ async def _download_file(file_url: str, file_name: str, file_path: Path | str, f
headers = {}
file_path = Path(file_path).joinpath(file_name)
if overwrite:
await file_path.unlink(missing_ok=True)
file_path.unlink(missing_ok=True)
if file_path.exists():
cur_len = (file_path.stat()).st_size
headers |= {
@ -78,19 +78,28 @@ class HDiffPatch:
@staticmethod
def _get_platform_arch():
processor = platform.machine()
match platform.system():
case "Windows":
match platform.architecture()[0]:
case "32bit":
match processor:
case "i386":
return "windows32"
case "64bit":
case "x86_64":
return "windows64"
case "arm":
return "windows_arm32"
case "arm64":
return "windows_arm64"
case "Linux":
match platform.architecture()[0]:
case "32bit":
match processor:
case "i386":
return "linux32"
case "64bit":
case "x86_64":
return "linux64"
case "arm":
return "linux_arm32"
case "arm64":
return "linux_arm64"
case "Darwin":
return "macos"
@ -140,10 +149,13 @@ class HDiffPatch:
rsp = await session.get("https://api.github.com/repos/{}/{}/releases/latest".format(owner, repo),
params={"Headers": "Accept: application/vnd.github.v3+json"})
rsp.raise_for_status()
archive_processor = self._get_platform_arch()
for asset in (await rsp.json())["assets"]:
if asset["name"].endswith(".zip") and "linux" not in asset["name"] and "windows" not in asset["name"] \
and "macos" not in asset["name"] and "android" not in asset["name"]:
return asset
if not asset["name"].endswith(".zip"):
continue
if archive_processor not in asset["name"]:
continue
return asset
async def get_latest_release_url(self):
asset = await self._get_latest_release_info()