From 06602c842e6316b33f91af9dd10e06fdf931a64a Mon Sep 17 00:00:00 2001 From: mtkennerly Date: Sat, 20 Apr 2024 17:59:28 -0400 Subject: [PATCH] Start tracking Lutris IDs --- data/manifest.yaml | 2 ++ data/schema.strict.yaml | 2 ++ data/schema.yaml | 2 ++ data/steam-game-cache.yaml | 16 ++++++++++++++++ data/wiki-game-cache.yaml | 1 + src/manifest.rs | 5 ++++- src/wiki.rs | 8 ++++++++ 7 files changed, 35 insertions(+), 1 deletion(-) diff --git a/data/manifest.yaml b/data/manifest.yaml index faf744dd..8aa22b76 100644 --- a/data/manifest.yaml +++ b/data/manifest.yaml @@ -95025,6 +95025,8 @@ Celeste: - config when: - os: linux + id: + lutris: celeste installDir: Celeste: {} launch: diff --git a/data/schema.strict.yaml b/data/schema.strict.yaml index 498a8e88..ec363611 100644 --- a/data/schema.strict.yaml +++ b/data/schema.strict.yaml @@ -114,6 +114,8 @@ additionalProperties: type: array items: type: integer + lutris: + type: string steamExtra: type: array items: diff --git a/data/schema.yaml b/data/schema.yaml index 9f87f3a6..d3706b41 100644 --- a/data/schema.yaml +++ b/data/schema.yaml @@ -95,6 +95,8 @@ additionalProperties: type: array items: type: integer + lutris: + type: string steamExtra: type: array items: diff --git a/data/steam-game-cache.yaml b/data/steam-game-cache.yaml index 95cad707..9a421293 100644 --- a/data/steam-game-cache.yaml +++ b/data/steam-game-cache.yaml @@ -141243,6 +141243,22 @@ executable: Shenzhen type: default 504230: + cloud: + saves: + - path: Saves + pattern: "*.celeste" + root: gameinstall + overrides: + - addPath: Celeste + os: Linux + osCompare: "=" + root: gameinstall + useInstead: LinuxXdgDataHome + - addPath: Celeste + os: MacOS + osCompare: "=" + root: gameinstall + useInstead: MacAppSupport installDir: Celeste launch: - config: diff --git a/data/wiki-game-cache.yaml b/data/wiki-game-cache.yaml index 804f9eaf..0df6db67 100644 --- a/data/wiki-game-cache.yaml +++ b/data/wiki-game-cache.yaml @@ -28616,6 +28616,7 @@ Celaria: - "{{Game data/config |Windows|{{p|localappdata}}\\Celaria}}" - "{{Game data/saves|Windows|{{p|localappdata}}\\Celaria}}" Celeste: + lutris: celeste pageId: 61156 steam: 504230 templates: diff --git a/src/manifest.rs b/src/manifest.rs index db93d465..4cac821b 100644 --- a/src/manifest.rs +++ b/src/manifest.rs @@ -187,6 +187,7 @@ impl Game { self.id = IdMetadata { flatpak: None, gog_extra: cache.gog_side.clone(), + lutris: cache.lutris.clone(), steam_extra: cache.steam_side.clone(), }; @@ -515,13 +516,15 @@ pub struct IdMetadata { pub flatpak: Option, #[serde(default, skip_serializing_if = "BTreeSet::is_empty")] pub gog_extra: BTreeSet, + #[serde(skip_serializing_if = "Option::is_none")] + pub lutris: Option, #[serde(default, skip_serializing_if = "BTreeSet::is_empty")] pub steam_extra: BTreeSet, } impl IdMetadata { pub fn is_empty(&self) -> bool { - self.flatpak.is_none() && self.gog_extra.is_empty() && self.steam_extra.is_empty() + self.flatpak.is_none() && self.gog_extra.is_empty() && self.lutris.is_none() && self.steam_extra.is_empty() } } diff --git a/src/wiki.rs b/src/wiki.rs index 1db070b6..eb68498a 100644 --- a/src/wiki.rs +++ b/src/wiki.rs @@ -336,6 +336,8 @@ pub struct WikiCacheEntry { pub gog: Option, #[serde(skip_serializing_if = "BTreeSet::is_empty")] pub gog_side: BTreeSet, + #[serde(skip_serializing_if = "Option::is_none")] + pub lutris: Option, pub page_id: u64, #[serde(skip_serializing_if = "Vec::is_empty")] pub renamed_from: Vec, @@ -402,6 +404,12 @@ impl WikiCacheEntry { .filter(|x| *x > 0) .collect(); } + Some("lutris") => { + let value = preprocess_text(&attribute.value.to_string()); + if !value.is_empty() { + out.lutris = Some(value); + } + } _ => {} } }