mirror of
https://github.com/misenhower/splatoon3.ink.git
synced 2026-03-21 17:54:13 -05:00
Only update X-Rank details when needed
This commit is contained in:
parent
142f2a82c5
commit
4b142c890e
|
|
@ -1,3 +1,4 @@
|
|||
import { olderThan } from "../../common/fs.mjs";
|
||||
import prefixedConsole from "../../common/prefixedConsole.mjs";
|
||||
import { getXRankSeasonId } from "../../common/util.mjs";
|
||||
import DataUpdater from "./DataUpdater.mjs";
|
||||
|
|
@ -15,10 +16,11 @@ export default class XRankDetailUpdater extends DataUpdater
|
|||
'$..image3dThumbnail.url',
|
||||
];
|
||||
|
||||
constructor(seasonId, xRankDetailType) {
|
||||
constructor(seasonId, endTime, xRankDetailType) {
|
||||
super();
|
||||
|
||||
this.seasonId = seasonId;
|
||||
this.endTime = endTime;
|
||||
this.xRankDetailType = xRankDetailType;
|
||||
|
||||
let readableId = getXRankSeasonId(seasonId);
|
||||
|
|
@ -31,6 +33,14 @@ export default class XRankDetailUpdater extends DataUpdater
|
|||
return this._console;
|
||||
}
|
||||
|
||||
shouldUpdate() {
|
||||
// We want to update this data until 4 hours after the season ends
|
||||
let cutoff = new Date(this.endTime);
|
||||
cutoff.setHours(cutoff.getHours() + 4);
|
||||
|
||||
return olderThan(this.getPath(this.filename), cutoff);
|
||||
}
|
||||
|
||||
async getData(locale) {
|
||||
let result;
|
||||
let edges = [];
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ export default class XRankUpdater extends DataUpdater
|
|||
|
||||
for (let season of seasons) {
|
||||
this.deriveSeasonId(season);
|
||||
await this.updateSeasonDetail(season.id);
|
||||
await this.updateSeasonDetail(season);
|
||||
}
|
||||
|
||||
return result;
|
||||
|
|
@ -54,9 +54,9 @@ export default class XRankUpdater extends DataUpdater
|
|||
season.__splatoon3ink_id = getXRankSeasonId(season.id);
|
||||
}
|
||||
|
||||
async updateSeasonDetail(seasonId) {
|
||||
async updateSeasonDetail(season) {
|
||||
for (let type of this.splatnet().getXRankingDetailQueryTypes()) {
|
||||
let updater = new XRankDetailUpdater(seasonId, type);
|
||||
let updater = new XRankDetailUpdater(season.id, season.endTime, type);
|
||||
await updater.updateIfNeeded();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user