EmuDeck
EmuDeck copied to clipboard
[Feature request] Import ES-DE favorites (only) to Steam UI (Python script & example included)
Right now, the suggested solution for adding only specific games (vs a full system set) to the Steam UI via Steam Rom Manager is to use the parsers provided by Emu Deck (adding potentially hundreds of files) and to manually remove everything that's unwanted in Steam afterwards. That solution can be very time consuming, it needs a mouse and it's also not exactly elegant.
Here's my idea for a solution: Python script with sample JSON file
Steam Rom Manager also has a so-called 'manual' parser, which uses manifest.json
files to add only specific entries to Steam. One such manifest.json
file is included in the archive I linked above. The Python script included extracts the favorites from ES-DE gamelist.xml
files and builds a manifest.json
file. It's obviously not meant for usage in Emu Deck in it's current state, it's incomplete (supports only Yuzu / Switch for now), and it may not be able to deal with some cases (rom files in subfolders, for example).
Now, I'm not sure if you guys want Python in there, especially for something simple, that's possibly also doable with an .sh file and some standard commands (I don't know, not that good with that stuff, but I saw xmlstarlet is already included), which is why I'm doing a feature request instead of a pull request. I think that script (or something that does the same) would be best included in run_srm.sh
, so that the manifest.json
file is always up to date with ES-DE favorites. You also need to define the manual parser in SRM, of course, but that's pretty simple.
If you guys are okay with using Python and with the general idea behind this script, I'd also be willing to improve it a little and send a pull request later.
I love this idea. Go ahead and PR / POC it. Please use the beta branch as your base.
I think this can be paired with the new Steam Rom Manager CLI options that are coming soon. Would be a very nice "quick update - favorites" feature.
flow:
- user adds new games
- user favorites them es-de
- user goes back to desktop mode and runs the script.
Script Steps:
- close steam
- update manifest json files based on es-de parameters
- enable only this parser via cli
- execute it
- reopen steam
caveats: art and matches would not be configurable during the run.
@Godsbane - I think the manifest generation is fast enough to be run before each Steam Rom Manager boot, and the manual parser would be just another parser then. Expect a first pr very soon.