Heroic-Games-Launcher / HeroicGamesLauncher

A games launcher for GOG, Amazon and Epic Games for Linux, Windows and macOS.
https://heroicgameslauncher.com
GNU General Public License v3.0
8.25k stars 433 forks source link

Export list of games #2649

Open sonofevil opened 1 year ago

sonofevil commented 1 year ago

Problem description

When you have a large library of games, it can be useful to track which ones you own across platforms in a unified way, using for example sites like completionator.com, in order to avoid duplicate purchases and for deciding what to play next. completionator.com allows you to import a plaintext list of games into your collection, but there is currently no easy way to aquire such a list from any of the main game providers.

Feature description

Basic request: Add an option to allow exporting a plaintext list of all the games you own.

Advanced features: Allow narrowing the list by criteria such as store, platform etc. Allow sorting by name and other properties. Allow including additional information about each game copy in the list in various formats, like release date, acquisition date, platforms or genre. Allow export of spreadsheet files or jsons.

Alternatives

I'm not aware of any alternatives.

Additional information

No response

Etaash-mathamsetty commented 1 year ago

you can just use legendary and gogdl cli tools (that heroic uses) for this task, there's no need to add this to the actual app

sonofevil commented 1 year ago

It's not at all clear to me how gogdl can be used to list games. Its options are auth,download,repair,update,import,info,launch,save-sync,save-clear.

arielj commented 1 year ago

if you go to ~/.config/heroic/store_cache you have 2 files gog_library and legendary_library with all the games as a json file, you can then process that file to extrat the info you need

sonofevil commented 1 year ago

alright this works

jq -r '.games[].title' ~/.config/heroic/store_cache/gog_library.json
jq -r '.library[].title' ~/.config/heroic/store_cache/legendary_library.json