Sort Steam IDs numerically
This commit is contained in:
parent
62a97e4d9f
commit
d63f0eb485
3 changed files with 147436 additions and 147436 deletions
294862
data/steam-game-cache.yaml
294862
data/steam-game-cache.yaml
File diff suppressed because it is too large
Load diff
|
@ -134,7 +134,7 @@ impl Manifest {
|
||||||
let mut game = Game::default();
|
let mut game = Game::default();
|
||||||
game.integrate_wiki(info, title);
|
game.integrate_wiki(info, title);
|
||||||
if let Some(id) = game.steam.id {
|
if let Some(id) = game.steam.id {
|
||||||
if let Some(info) = steam_cache.0.get(id.to_string().as_str()) {
|
if let Some(info) = steam_cache.0.get(&id) {
|
||||||
game.integrate_steam(info);
|
game.integrate_steam(info);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,7 +5,7 @@ use crate::{resource::ResourceFile, wiki::WikiCache, Error, State, REPO};
|
||||||
const SAVE_INTERVAL: u32 = 100;
|
const SAVE_INTERVAL: u32 = 100;
|
||||||
|
|
||||||
#[derive(Debug, Default, serde::Serialize, serde::Deserialize)]
|
#[derive(Debug, Default, serde::Serialize, serde::Deserialize)]
|
||||||
pub struct SteamCache(pub BTreeMap<String, SteamCacheEntry>);
|
pub struct SteamCache(pub BTreeMap<u32, SteamCacheEntry>);
|
||||||
|
|
||||||
impl ResourceFile for SteamCache {
|
impl ResourceFile for SteamCache {
|
||||||
const FILE_NAME: &'static str = "data/steam-game-cache.yaml";
|
const FILE_NAME: &'static str = "data/steam-game-cache.yaml";
|
||||||
|
@ -18,14 +18,14 @@ impl SteamCache {
|
||||||
self.0
|
self.0
|
||||||
.iter()
|
.iter()
|
||||||
.filter(|(_, v)| !outdated_only || v.state == State::Outdated)
|
.filter(|(_, v)| !outdated_only || v.state == State::Outdated)
|
||||||
.filter_map(|(k, _)| k.parse::<u32>().ok())
|
.map(|(k, _)| *k)
|
||||||
.collect()
|
.collect()
|
||||||
});
|
});
|
||||||
|
|
||||||
for app_id in app_ids {
|
for app_id in app_ids {
|
||||||
let latest = SteamCacheEntry::fetch_from_id(app_id)?;
|
let latest = SteamCacheEntry::fetch_from_id(app_id)?;
|
||||||
self.0.insert(
|
self.0.insert(
|
||||||
app_id.to_string(),
|
app_id,
|
||||||
latest.unwrap_or_else(|| SteamCacheEntry {
|
latest.unwrap_or_else(|| SteamCacheEntry {
|
||||||
state: State::Handled,
|
state: State::Handled,
|
||||||
..Default::default()
|
..Default::default()
|
||||||
|
@ -47,7 +47,7 @@ impl SteamCache {
|
||||||
if wiki.state == State::Updated {
|
if wiki.state == State::Updated {
|
||||||
if let Some(id) = wiki.steam {
|
if let Some(id) = wiki.steam {
|
||||||
self.0
|
self.0
|
||||||
.entry(id.to_string())
|
.entry(id)
|
||||||
.and_modify(|x| {
|
.and_modify(|x| {
|
||||||
x.state = State::Outdated;
|
x.state = State::Outdated;
|
||||||
})
|
})
|
||||||
|
|
Reference in a new issue