Ignore templates without paths
This commit is contained in:
parent
7f24937f0b
commit
dbaac7d642
2 changed files with 14 additions and 23 deletions
|
@ -6864,9 +6864,6 @@ Alien Rampage:
|
||||||
Alien Removal Division:
|
Alien Removal Division:
|
||||||
pageId: 191396
|
pageId: 191396
|
||||||
steam: 1768550
|
steam: 1768550
|
||||||
templates:
|
|
||||||
- "{{Game data/config|Windows|}}"
|
|
||||||
- "{{Game data/saves|Windows|}}"
|
|
||||||
Alien Revival - Episode 1 - Duty Calls:
|
Alien Revival - Episode 1 - Duty Calls:
|
||||||
pageId: 103161
|
pageId: 103161
|
||||||
steam: 770830
|
steam: 770830
|
||||||
|
@ -11674,9 +11671,6 @@ Asphyxia:
|
||||||
steam: 1720090
|
steam: 1720090
|
||||||
Assassin 2015:
|
Assassin 2015:
|
||||||
pageId: 191398
|
pageId: 191398
|
||||||
templates:
|
|
||||||
- "{{Game data/config|Windows|}}"
|
|
||||||
- "{{Game data/saves|Windows|}}"
|
|
||||||
"Assassin's Creed":
|
"Assassin's Creed":
|
||||||
gog: 1207659023
|
gog: 1207659023
|
||||||
pageId: 84
|
pageId: 84
|
||||||
|
@ -26078,7 +26072,6 @@ Cardfight!! Vanguard Dear Days:
|
||||||
pageId: 180606
|
pageId: 180606
|
||||||
steam: 1881420
|
steam: 1881420
|
||||||
templates:
|
templates:
|
||||||
- "{{Game data/config|Windows|}}"
|
|
||||||
- "{{Game data/saves|Windows|{{p|userprofile}}\\Saved Games\\VG2\\SAVELOAD}}"
|
- "{{Game data/saves|Windows|{{p|userprofile}}\\Saved Games\\VG2\\SAVELOAD}}"
|
||||||
Cardiganical:
|
Cardiganical:
|
||||||
pageId: 108304
|
pageId: 108304
|
||||||
|
@ -31344,11 +31337,7 @@ Cold War:
|
||||||
steam: 260650
|
steam: 260650
|
||||||
templates:
|
templates:
|
||||||
- "{{Game data/config|Windows|{{p|userprofile\\Documents}}\\Cold War\\Config.txt}}"
|
- "{{Game data/config|Windows|{{p|userprofile\\Documents}}\\Cold War\\Config.txt}}"
|
||||||
- "{{Game data/config|OS X|}}"
|
|
||||||
- "{{Game data/config|Linux|}}"
|
|
||||||
- "{{Game data/saves|Windows|{{p|userprofile\\Documents}}\\Cold War\\Saves\\}}"
|
- "{{Game data/saves|Windows|{{p|userprofile\\Documents}}\\Cold War\\Saves\\}}"
|
||||||
- "{{Game data/saves|OS X|}}"
|
|
||||||
- "{{Game data/saves|Linux|}}"
|
|
||||||
Cold War Game:
|
Cold War Game:
|
||||||
pageId: 145162
|
pageId: 145162
|
||||||
steam: 1047210
|
steam: 1047210
|
||||||
|
@ -64369,7 +64358,6 @@ GRID Autosport:
|
||||||
- 295100
|
- 295100
|
||||||
templates:
|
templates:
|
||||||
- "{{Game data/config|Windows|{{p|userprofile\\Documents}}\\My Games\\GRID Autosport\\}}"
|
- "{{Game data/config|Windows|{{p|userprofile\\Documents}}\\My Games\\GRID Autosport\\}}"
|
||||||
- "{{Game data/config|OS X|}}"
|
|
||||||
- "{{Game data/config|Linux|{{p|xdgdatahome}}/feral-interactive/GRID Autosport/preferences|{{p|xdgdatahome}}/feral-interactive/GRID Autosport/VFS/User/AppData/Roaming/My Games/GRID Autosport/hardwaresettings/}}"
|
- "{{Game data/config|Linux|{{p|xdgdatahome}}/feral-interactive/GRID Autosport/preferences|{{p|xdgdatahome}}/feral-interactive/GRID Autosport/VFS/User/AppData/Roaming/My Games/GRID Autosport/hardwaresettings/}}"
|
||||||
- "{{Game data/saves|Steam|{{p|steam}}/userdata/{{p|uid}}/255220/remote/}}"
|
- "{{Game data/saves|Steam|{{p|steam}}/userdata/{{p|uid}}/255220/remote/}}"
|
||||||
GRID Legends:
|
GRID Legends:
|
||||||
|
@ -68543,7 +68531,6 @@ Gordon Streaman:
|
||||||
pageId: 86768
|
pageId: 86768
|
||||||
templates:
|
templates:
|
||||||
- "{{Game data/config|Windows|{{p|game}}\\settings}}"
|
- "{{Game data/config|Windows|{{p|game}}\\settings}}"
|
||||||
- "{{Game data/saves|Windows|}}"
|
|
||||||
Gorescript:
|
Gorescript:
|
||||||
pageId: 61554
|
pageId: 61554
|
||||||
steam: 618690
|
steam: 618690
|
||||||
|
@ -179546,9 +179533,6 @@ Unusual Findings:
|
||||||
steam: 1605320
|
steam: 1605320
|
||||||
Unvanquished:
|
Unvanquished:
|
||||||
pageId: 191397
|
pageId: 191397
|
||||||
templates:
|
|
||||||
- "{{Game data/config|Windows|}}"
|
|
||||||
- "{{Game data/saves|Windows|}}"
|
|
||||||
Unveil:
|
Unveil:
|
||||||
pageId: 43520
|
pageId: 43520
|
||||||
steam: 375210
|
steam: 375210
|
||||||
|
|
21
src/wiki.rs
21
src/wiki.rs
|
@ -341,7 +341,7 @@ impl WikiCacheEntry {
|
||||||
let wikitext = wikitext_parser::parse_wikitext(raw_wikitext, article, |_| ());
|
let wikitext = wikitext_parser::parse_wikitext(raw_wikitext, article, |_| ());
|
||||||
|
|
||||||
for template in wikitext.list_double_brace_expressions() {
|
for template in wikitext.list_double_brace_expressions() {
|
||||||
if let wikitext_parser::TextPiece::DoubleBraceExpression { tag, attributes } = &template {
|
if let TextPiece::DoubleBraceExpression { tag, attributes } = &template {
|
||||||
match tag.to_string().to_lowercase().trim() {
|
match tag.to_string().to_lowercase().trim() {
|
||||||
"infobox game" => {
|
"infobox game" => {
|
||||||
for attribute in attributes {
|
for attribute in attributes {
|
||||||
|
@ -385,13 +385,20 @@ impl WikiCacheEntry {
|
||||||
"game data" => {
|
"game data" => {
|
||||||
for attribute in attributes {
|
for attribute in attributes {
|
||||||
for template in &attribute.value.pieces {
|
for template in &attribute.value.pieces {
|
||||||
if let wikitext_parser::TextPiece::DoubleBraceExpression { tag, .. } = &template {
|
if let TextPiece::DoubleBraceExpression { tag, attributes } = &template {
|
||||||
let is_save = tag.to_string() == "Game data/saves";
|
let is_save = tag.to_string().to_lowercase() == "game data/saves";
|
||||||
let is_config = tag.to_string() == "Game data/config";
|
let is_config = tag.to_string().to_lowercase() == "game data/config";
|
||||||
|
|
||||||
if is_save || is_config {
|
if !is_save && !is_config {
|
||||||
out.templates.push(template.to_string());
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ignore templates with an empty path parameter.
|
||||||
|
if attributes.len() > 1 && attributes[1].value.to_string().is_empty() {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
out.templates.push(template.to_string());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -427,7 +434,7 @@ impl WikiCacheEntry {
|
||||||
let preprocessed = Self::preprocess_template(raw);
|
let preprocessed = Self::preprocess_template(raw);
|
||||||
let parsed = wikitext_parser::parse_wikitext(&preprocessed, article.clone(), |_| ());
|
let parsed = wikitext_parser::parse_wikitext(&preprocessed, article.clone(), |_| ());
|
||||||
for template in parsed.list_double_brace_expressions() {
|
for template in parsed.list_double_brace_expressions() {
|
||||||
if let wikitext_parser::TextPiece::DoubleBraceExpression { tag, attributes } = &template {
|
if let TextPiece::DoubleBraceExpression { tag, attributes } = &template {
|
||||||
let is_save = tag.to_string() == "Game data/saves";
|
let is_save = tag.to_string() == "Game data/saves";
|
||||||
let is_config = tag.to_string() == "Game data/config";
|
let is_config = tag.to_string() == "Game data/config";
|
||||||
|
|
||||||
|
|
Reference in a new issue