Start tracking secondary IDs for Steam and GOG
This commit is contained in:
parent
5aee4c2094
commit
fb7a3d26f3
2 changed files with 31 additions and 1 deletions
|
@ -31243,6 +31243,8 @@ Command & Conquer (2013):
|
||||||
'Command & Conquer 3: Tiberium Wars':
|
'Command & Conquer 3: Tiberium Wars':
|
||||||
pageId: 484
|
pageId: 484
|
||||||
steam: 24790
|
steam: 24790
|
||||||
|
steamSide:
|
||||||
|
- 24810
|
||||||
templates:
|
templates:
|
||||||
- >-
|
- >-
|
||||||
{{Game data/config|Windows|{{p|appdata}}\{{LocalizedPath|Command & Conquer 3 Tiberium
|
{{Game data/config|Windows|{{p|appdata}}\{{LocalizedPath|Command & Conquer 3 Tiberium
|
||||||
|
|
30
src/wiki.ts
30
src/wiki.ts
|
@ -37,8 +37,9 @@ export type WikiGameCache = {
|
||||||
renamedFrom?: Array<string>,
|
renamedFrom?: Array<string>,
|
||||||
templates?: Array<string>,
|
templates?: Array<string>,
|
||||||
steam?: number,
|
steam?: number,
|
||||||
|
steamSide?: Array<number>,
|
||||||
gog?: 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) {
|
if (!isNaN(steamId) && steamId > 0) {
|
||||||
cache[pageTitle].steam = steamId;
|
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"]);
|
const gogId = Number(template.parameters["gogcom id"]);
|
||||||
if (!isNaN(gogId) && gogId > 0) {
|
if (!isNaN(gogId) && gogId > 0) {
|
||||||
cache[pageTitle].gog = gogId
|
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") {
|
} else if (templateName === "game data/saves" || templateName === "game data/config") {
|
||||||
const reparsed = parseWiki(template.toString());
|
const reparsed = parseWiki(template.toString());
|
||||||
if (reparsed[0].positionalParameters[1]?.length > 0 ?? false) {
|
if (reparsed[0].positionalParameters[1]?.length > 0 ?? false) {
|
||||||
|
|
Reference in a new issue