heroic-gogdl
GOG download module for Heroic Games Launcher
Purpose
This will take care of downloading games from GOG in Heroic.
GOG download module for Heroic Games Launcher
This will take care of downloading games from GOG in Heroic.
fixes https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/1298
gogdl/dl/linux_native.py", line 120
subprocess.run(command, shell=True)
maybe subprocess.run(command, shell=True, encoding="utf-8")
will workt, but probably more than just this location
[📦 com.heroicgameslauncher.hgl ~]$ /app/bin/heroic/resources/app.asar.unpacked/build/bin/linux/gogdl info 1207659093 --token="redacted" --lang=en-US --os windows
[API] INFO: Getting info from products endpoint for id: 1207659093
[DOWNLOAD_MANAGER] INFO: Checking compatibility of Ultima™ 9: Ascension with windows
[DOWNLOAD_MANAGER] INFO: Game is compatible
[DOWNLOAD_MANAGER] INFO: Depot version: 1
[API] INFO: Getting Dependencies repository
[API] INFO: Getting repository manifest
Traceback (most recent call last):
File "gogdl/cli.py", line 44, in <module>
File "gogdl/cli.py", line 41, in main
File "gogdl/dl/manager.py", line 43, in calculate_download_size
File "gogdl/dl/manager.py", line 206, in collect_depots
IndexError: string index out of range
[5] Failed to execute script 'cli' due to unhandled exception!
Currently it is necessary to go to the Store tab, scroll to the free games, and buy them manually. It is also necessary to check periodically whether or not new games are present.
It would be easier if this process was automated.
C:\Users\user>gogdl.exe info 1434370838 --token="redacted" --lang=en-US --os windows
[API] INFO: Getting info from products endpoint for id: 1434370838
[DOWNLOAD_MANAGER] INFO: Checking compatibility of Windward with windows
[DOWNLOAD_MANAGER] INFO: Game is compatible
[DOWNLOAD_MANAGER] INFO: Depot version: 2
[API] INFO: Getting Dependencies repository
[API] INFO: Getting repository manifest
Traceback (most recent call last):
File "gogdl\cli.py", line 44, in <module>
File "gogdl\cli.py", line 41, in main
File "gogdl\dl\manager.py", line 43, in calculate_download_size
File "gogdl\dl\manager.py", line 169, in collect_depots
File "gogdl\dl\objects.py", line 24, in __init__
KeyError: 'compressedSize'
[5756] Failed to execute script 'cli' due to unhandled exception!
Progress now reports stats like disk activity.
With this all child processes are handled by gogdl.
So killing gogdl will kill sub processes etc..
This change allows us to track all processes. Eliminates risk when process "escapes" and gogdl exits, making Heroic think game is not started.
Also uses brilliant abstraction used in lutris-wrapper
for /proc
serialization
There is currently no solution to remove files from the cloud. A user might want to remove their files from the cloud for privacy reasons, or they might have uploaded the wrong folder on accident and included personal information in those files.
This PR extends the existing command pool by adding a save-clear
command to the cli. This command doesn't take all the arguments of save-sync
since most of them are unnecessary.
It requires path
, id
and --os|platform
arguments, and accepts --token
and --name
arguments.
The command lists all the files in the cloud and uses the existing remove_file(file)
method to send a DELETE request for each. If it succeeds, the cloud bucket for the game will be empty.
I've tested this by uploading a miscelanious amount of random files, verifying they indeed existed by downloading them and then verifying that they would no longer download after running this command.
I intend to open a PR in the Heroic Launcher repo if/when this gets merged, adding the ability for Heroic users to clear their cloud saves at any time from the Game Settings.
It would be nice to have a command to get information about a potential download of a game in a specific installation directory, without actually installing the game in the process.
I imagine something like gogdl install-info game --install_dir="some path"
(not sure if this follows the project's conventions, just an example)
The command would output at least this information:
(*) to add some clarification here, it's not the size of the uncompressed files in the disk, it's the size of the compressed files that would be downloaded, if the files on disk are uncompressed and the downloaded files are compressed we want the value of the compressed files which is the actual amount we are not re-downloading
We could include, as extra, some calculations with those numbers:
total - reusable
to know how much is left in absolute units(total - reusable) / total
to know how much is left in %These last extra numbers are not critical for this feature, we can calculate that with the other 2 values anyway
https://github.com/Heroic-Games-Launcher/heroic-gogdl/blob/main/.github/workflows/build.yaml
do you have some documentation how i can build this?
this is all im getting so far
pyinstaller --onefile --name gogdl ?? gogdl/cli.py
it builds but unsuccessfully calls errors when run
heroic-gogdl/dist $ ./gogdl
Traceback (most recent call last):
File "gogdl/cli.py", line 35, in <module>
File "gogdl/cli.py", line 16, in main
File "gogdl/args.py", line 7, in init_parser
File "argparse.py", line 1716, in add_subparsers
TypeError: __init__() got an unexpected keyword argument 'required'
[2028] Failed to execute script 'cli' due to unhandled exception!
issue im having is glibc 2.29 requirements in your CI build environment https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/issues/1015
Full Changelog: https://github.com/Heroic-Games-Launcher/heroic-gogdl/compare/v0.3...v0.4
Source code(tar.gz)This release includes some fixes and its partially in Heroic already
Full Changelog: https://github.com/Heroic-Games-Launcher/heroic-gogdl/compare/v0.2...v0.3
Source code(tar.gz)This release adds:
--version
parameter--override-exe
parameter when launching gamesFixes:
targetDir KeyError
Full Changelog: https://github.com/Heroic-Games-Launcher/heroic-gogdl/compare/v0.1...v0.2
Source code(tar.gz)Release contained in Heroic 2.2.1
Source code(tar.gz)pypixiv this library is a fully-typed, asynchronous api wrapper for pixiv. featu
nhentai-downloader a python scripts that downloads doujin from https://nhentai.net without having an account. Usage Needs Python 3^ Linux pip3 install
Youtubist Basically fork of yt-dlp python module to my needs. You can paste playlist or channel link on the YouTube. It will automatically format to s
Text_Data_Analysis This is a Text Data Analysis Project Involving (YouTube Case Study). Problem Statement = Sentiment Analysis. Package1: There are m
BitAnime A Python script that allows you to download all of an anime's episodes at once. · Download executable version · About BitAnime BitAnime is a
downloader-exporter A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format
Welcome to Brutos Directory Scanner 🚀 The Brutos is a python script used to provide agility in obtaining verifications to informations about related
🍃 ✂️ Vinetrimmer Widevine DRM downloader and decrypter. Thanks to wvleaks for t
PyDownloader - Downloads files and folders at high speed (based on your interent speed).
Simple-Youtube-DL-Gui Supported Operating Systems Windows 7 (x64), Windows 8 (x64), and Windows 10 (x64) How to use Main Gui Extract program from arch
Youtube Downloader This Python and Tkinter based GUI allows users to directly download the Best Resolution Videos and Audios from Youtube. Pa-fy Insta
URI-Code-Downloader Download all your URI Online Judge source codes and upload to GitHub with simple steps. Prerequisites Python 3.x Installing Downlo
h3nt4y_dl Download h3nt4y for later read Tải h3nt4y về đọc thôi nào các bạn ơiiiiiiii! (Tải từ h**taivn nhé) Usage: python get_that_ht4i.py New versio
Youtube list to mp3 downloader Tiny script to convert a list of youtube videos t
python open source (Internet Download Manager) with multi-connections, high speed engine, based on python, LibCurl, and youtube_dl https://github.com/firedm/FireDM
amogus.py - Version 0.0.5 amogus - Apple Music Hi-Res Artwork Fetcher this is my first real python tool so sorry if its bad amogus is a Python script
OpenTopography-DEM-Downloader-qgis-plugin QGIS plugin to dwonload DEMs from OpenTopography.org This plug-in allows you to download DEMs from OpenTopgr
Automatically download multiple papers by keywords in CVPR
WV-AMZN-4K-RIPPER Tool To download Amazon 4k SDR HDR 1080, CDM IS Not Included For CDM You can Mail :- 179 Dec 17, 2022
Itch Jam Downloader Downloads all games from a public Itch.io Game Jam. What you'll need: Python 3.8+ pip install -r requirements.txt For site mirrori