Skip to content

Expose manifest file tags in the json api #534

@sharkusmanch

Description

@sharkusmanch

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": {}
    }
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions