Start tracking secondary IDs for Steam and GOG

This commit is contained in:
mtkennerly 2023-06-23 11:36:20 +08:00
parent 5aee4c2094
commit fb7a3d26f3
No known key found for this signature in database
GPG key ID: E764BE00BE6E6408
2 changed files with 31 additions and 1 deletions

View file

@ -31243,6 +31243,8 @@ Command & Conquer (2013):
'Command & Conquer 3: Tiberium Wars':
pageId: 484
steam: 24790
steamSide:
- 24810
templates:
- >-
{{Game data/config|Windows|{{p|appdata}}\{{LocalizedPath|Command & Conquer 3 Tiberium

View file

@ -37,8 +37,9 @@ export type WikiGameCache = {
renamedFrom?: Array<string>,
templates?: Array<string>,
steam?: number,
steamSide?: Array<number>,
gog?: number
gogSide?: Array<number>,
};
};
@ -601,10 +602,37 @@ export async function getGame(pageTitle: string, cache: WikiGameCache, client: W
if (!isNaN(steamId) && steamId > 0) {
cache[pageTitle].steam = steamId;
}
cache[pageTitle].steamSide = [];
const steamSides = template.parameters["steam appid side"] as string | undefined;
if (steamSides !== undefined) {
for (const side of steamSides.split(",").map(Number)) {
if (!isNaN(side) && side > 0) {
cache[pageTitle].steamSide.push(side);
}
}
}
if (cache[pageTitle].steamSide.length === 0) {
delete cache[pageTitle].steamSide;
}
const gogId = Number(template.parameters["gogcom id"]);
if (!isNaN(gogId) && gogId > 0) {
cache[pageTitle].gog = gogId
}
cache[pageTitle].gogSide = [];
const gogSides = template.parameters["gogcom id side"] as string | undefined;
if (gogSides !== undefined) {
for (const side of gogSides.split(",").map(Number)) {
if (!isNaN(side) && side > 0) {
cache[pageTitle].gogSide.push(side);
}
}
}
if (cache[pageTitle].gogSide.length === 0) {
delete cache[pageTitle].gogSide;
}
} else if (templateName === "game data/saves" || templateName === "game data/config") {
const reparsed = parseWiki(template.toString());
if (reparsed[0].positionalParameters[1]?.length > 0 ?? false) {