Heroic-gogdl - GOG Downloading module for Heroic Games Launcher

Overview
Comments
  • gogdl fails on dowloading game with non ASCII characters

    gogdl fails on dowloading game with non ASCII characters

    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

    opened by Qowy 12
  • App 1207659093 doesn't work with `info`

    App 1207659093 doesn't work with `info`

    [📦 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!
    
    opened by miketweaver 6
  • Add functionality to automatically buy free games

    Add functionality to automatically buy free games

    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.

    opened by Elendil211 1
  • App ID 1434370838 doesn't work

    App ID 1434370838 doesn't work

    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!
    
    opened by miketweaver 1
  • feat: more verbose progress report, implement PR_CHILD_SUBREAPER

    feat: more verbose progress report, implement PR_CHILD_SUBREAPER

    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

    opened by imLinguin 0
  • feat: Added save-clear command

    feat: Added save-clear command

    Why

    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.

    How

    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.

    Testing

    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.

    Future Plans

    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.

    opened by Gustash 0
  • [Feature request] Add a command to get download info given a game and an install path

    [Feature request] Add a command to get download info given a game and an install path

    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:

    • Total download size (the complete size of the game, without considering what was already downloaded)
    • Total download size excluding re-usable files found in that installation dir (*)

    (*) 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:

    • remaining size: total - reusable to know how much is left in absolute units
    • remaining %: (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

    opened by arielj 0
  • pyinstaller build documentation & glibc 2.29

    pyinstaller build documentation & glibc 2.29

    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

    opened by arrowgent 5
Releases(v0.4)
  • v0.4(Sep 25, 2022)

    What's Changed

    • fix: most DOSBox issues should be resolved by @imLinguin in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/8
    • Cloud saves support by @imLinguin in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/9
    • Switch to pyproject.toml by @JakobDev in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/11
    • Some code cleanups by @JakobDev in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/10
    • Fixed ETA calculation

    New Contributors

    • @JakobDev made their first contribution in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/11

    Full Changelog: https://github.com/Heroic-Games-Launcher/heroic-gogdl/compare/v0.3...v0.4

    Source code(tar.gz)
    Source code(zip)
    gogdl-Linux.zip(6.78 MB)
    gogdl-macOS.zip(6.39 MB)
    gogdl-Windows.zip(7.19 MB)
  • v0.3(Jun 5, 2022)

    This release includes some fixes and its partially in Heroic already

    What's Changed

    • [Tech] use as_completed to wait for all threads to complete by @dawidgarus in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/4
    • Only try to strip quotes from token if we have a token by @CommandMC in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/5

    New Contributors

    • @dawidgarus made their first contribution in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/4
    • @CommandMC made their first contribution in https://github.com/Heroic-Games-Launcher/heroic-gogdl/pull/5

    Full Changelog: https://github.com/Heroic-Games-Launcher/heroic-gogdl/compare/v0.2...v0.3

    Source code(tar.gz)
    Source code(zip)
    gogdl-Linux.zip(6.77 MB)
    gogdl-macOS.zip(6.38 MB)
    gogdl-Windows.zip(7.18 MB)
  • v0.2(Mar 6, 2022)

  • v0.1(Feb 24, 2022)

Owner
Paweł Lidwin
cannot read property bio of undefined
Paweł Lidwin
Music, Album and Playlist downloader for JioSaavn

jiosaavn-dl Music, Album and Playlist downloader for JioSaavn Features Downloads tracks, albums and playlists in maximum available quality (320kbps AA

bunny 19 Dec 12, 2022
Download minecraft head or skin, allows TLauncher accounts

Download minecraft head or skin, allows TLauncher accounts

1 Dec 30, 2021
YouTube-Video-Downloader - Download Youtube Videos for free.

YouTube-Video-Downloader Download Youtube Videos for free. Installing Dependencies:- Windows pip install pytube Mac/Linux pip3 install pytube Clonin

Xception Inc. 1 Jan 01, 2022
Code for "Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions"

Adversarial Motion Priors Make Good Substitutes for Complex Reward Functions Codebase for the "Adversarial Motion Priors Make Good Substitutes for Com

Alejandro Escontrela 54 Dec 13, 2022
1Fichier Download Manager.

1fichier-dl 1Fichier Download Manager. Features ⭐ Manage your downloads ⭐ Bypass time limits Credits All icons, including the app icon, were provided

manuGMG 470 Oct 08, 2022
Jocomol 16 Dec 12, 2022
A Celery application to collect data, download media and extract information from social media APIs

Project IBEX A Celery application to collect data, download media and extract information from social media APIs. Requirements You must have a Redis D

ibex 4 Dec 15, 2022
Youtube_dl_helper - A hacky python script meant to automate the process of downloading mp3 files from YouTube using youtube-dl library

youtube_dl_helper A helper program meant to automate the process of downloading mp3 files from YouTube using youtube-dl library Dependencies In order

Guilherme Bittencourt de Borba 1 Jan 04, 2022
Throttle qBittorrent on Plex stream Start/Stop

Dependencies Python 3.6+ 'qbittorrent-api' Python Library Tautulli Script Setup Edit qbittorrent_throttle.py and set qBittorrent username, password an

6 Sep 24, 2022
A Udemy downloader that can download DRM protected videos and non-DRM protected videos.

Udemy Downloader with DRM support NOTE This program is WIP, the code is provided as-is and i am not held resposible for any legal repercussions result

Puyodead1 468 Dec 29, 2022
A Quick demo of how to use the youtube_dl module in python.

youtube_dl python module demo A Quick demo of how to use the youtube_dl module in python. Whole documentation for the youtube_dl Installation git

7 Aug 27, 2021
Download any video from YouTube playlists

youtube-dl Download any videos from YouTube playlists. Requirements Python 3 BeautifulSoup4 PyQt PyQtWebEngine pytube pyyoutube python-decouple Usage

Antonio Fortin 1 Oct 26, 2021
Downloads data from OSM API and uploads it to the mapping sandbox.

OpenStreetMap To Sandbox This is a script to download data from OSM API and upload it to the mapping sandbox. Note that it clears all data in the sand

Ilya Zverev 5 Nov 27, 2022
A scriptable music downloader for Qobuz, Tidal, and Deezer

streamrip A scriptable stream downloader for Qobuz, Tidal, and Deezer. Features Downloads tracks, albums, playlists, discographies, and labels from Qo

967 Jan 03, 2023
Implementation of Cross-category Video Highlight Detection via Set-based Learning (ICCV 2021).

Cross-category Video Highlight Detection via Set-based Learning Introduction This project is an implementation of ``Cross-category Video Highlight Det

Minghao (Alan) Xu 49 Dec 17, 2022
A tool to make easy to search for directories in the URL.

Welcome to Brutos Directory Scanner 🚀 The Brutos is a python script used to provide agility in obtaining verifications to informations about related

Sérgio Corrêa 4 Apr 14, 2022
YouTube Downloader is extremely simple program for downloading songs or playlists (in audio or video) from YouTube. Created using Python, PyTube and PySimpleGUI.

YouTube Downloader YouTube Downloader is extremely simple program for downloading songs or playlists (in audio or video) from YouTube. Disclaimer It's

Simeon Tsvetanov 3 Dec 14, 2022
Simple package for Sublime Text 4; download URL's for local viewing and editing

URLDownloader This is a simple example package that allows you to easily download the contents of any web URL to edit locally. Given a URL, the packag

Terence Martin 3 Mar 05, 2022
SABnzbd - The automated Usenet download tool

SABnzbd is an Open Source Binary Newsreader written in Python.

SABnzbd 1.8k Dec 30, 2022
A prometheus exporter for torrent downloader like qbittorrent/transmission/deluge

downloader-exporter A prometheus exporter for qBitorrent/Transmission/Deluge. Get metrics from multiple servers and offers them in a prometheus format

Lei Shi 41 Nov 18, 2022