Expose manifest file tags in the json api
What's your idea?
It would be useful to be able to programmatically differentiate config and save files for games.
In my case, I am working on some automation to automatically swap game config files based on streaming client for https://github.com/ClassicOldSong/ApolloProfileManager
The file types are already tagged in the manifest:
Example with Persona 3 Reload:
Persona 3 Reload:
cloud:
steam: true
files:
"<winAppData>/SEGA/P3R/Steam/<storeUserId>":
tags:
- save
when:
- os: windows
store: steam
"<winLocalAppData>/P3R/Saved/Config/WinGDK":
tags:
- config
when:
- os: windows
store: microsoft
"<winLocalAppData>/P3R/Saved/Config/WindowsNoEditor":
tags:
- config
when:
- os: windows
store: steam
"<winLocalAppData>/Packages/SEGAofAmericaInc.L0cb6b3aea_s751p9cej88mt/SystemAppData/wgs/<storeUserId>":
tags:
- save
when:
- os: windows
store: microsoft
Would be really helpful to have the JSON api result return the corresponding tags for the matching files as well via a new tags field:
Example desired output using above manifest:
> ludusavi backup --api --preview "Persona 3 Reload"
{
"overall": {
"totalGames": 1,
"totalBytes": 20601027,
"processedGames": 1,
"processedBytes": 20601027,
"changedGames": {
"new": 0,
"different": 0,
"same": 1
}
},
"games": {
"Persona 3 Reload": {
"decision": "Processed",
"change": "Same",
"files": {
"C:/Users/theme/AppData/Local/P3R/Saved/Config/WinGDK/GameUserSettings.ini": {
"change": "Same",
"bytes": 1043,
"redirectedPath": "L:/AppData/Local/P3R/Saved/Config/WinGDK/GameUserSettings.ini",
"tags": [
"config"
]
},
"C:/Users/theme/AppData/Roaming/Sega/P3R/Steam/76561198046971326/SaveData1001.sav": {
"change": "Same",
"bytes": 1038232,
"redirectedPath": "L:/AppData/Roaming/Sega/P3R/Steam/76561198046971326/SaveData1001.sav",
"tags": [
"save"
]
},
},
"registry": {}
}
}
}
Hi! I'm open to adding this :)
For what it's worth, there may be some false positive tags when paths overlap, so just be careful if you're trying to fully automate this. For example, I often see a pattern on PCGamingWiki like:
- Config:
%APPDATA%\Game - Save:
%APPDATA%\Game\Save
In that case, files found in %APPDATA%\Game\Save would get both tags.