mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-21 10:47:04 +02:00
some more recording
This commit is contained in:
1 parent
8dc9a6b46d
commit
877ba9408d
3 files changed
+66
-11
No files matched your search
@@ -6,23 +6,35 @@ interface EnvironmentConfig {
|
||||
aliases: Record<string, string>;
|
||||
}
|
||||
|
||||
export const environments = import.meta.glob(
|
||||
"../../../../environments/*.json",
|
||||
{
|
||||
let hasReadEnvironments = false;
|
||||
const environments: Record<string, EnvironmentConfig> = {};
|
||||
|
||||
/**
|
||||
* This is set up this way to avoid errors in runtimes where
|
||||
* `import.meta.glob` does not exist.
|
||||
*/
|
||||
function readEnvironments() {
|
||||
if (hasReadEnvironments) return;
|
||||
|
||||
hasReadEnvironments = true;
|
||||
|
||||
const glob = import.meta.glob("../../../../environments/*.json", {
|
||||
eager: true,
|
||||
import: "default",
|
||||
},
|
||||
) as Record<string, EnvironmentConfig>;
|
||||
const root = "../../../../environments";
|
||||
}) as Record<string, EnvironmentConfig>;
|
||||
const root = "../../../../environments";
|
||||
|
||||
for (const key in environments) {
|
||||
const trimmed = key.slice(root.length + 1, -5);
|
||||
for (const key in glob) {
|
||||
const trimmed = key.slice(root.length + 1, -5);
|
||||
|
||||
environments[trimmed] = environments[key];
|
||||
delete environments[key];
|
||||
environments[trimmed] = glob[key];
|
||||
delete environments[key];
|
||||
}
|
||||
}
|
||||
|
||||
export function environmentConfig() {
|
||||
readEnvironments();
|
||||
|
||||
const environment = assertSecret(import.meta.env.PUBLIC_ENVIRONMENT);
|
||||
|
||||
if (!(environment in environments)) {
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
import { idToRegion } from "@blitzkit/core";
|
||||
import { GitObjectStorage } from "../core/blitzkit/gitObjectStorage";
|
||||
import { IdArray } from "../core/blitzkit/idArray";
|
||||
import { API_RATE } from "../discoverIds/constants";
|
||||
import { sleep, withinTimeLimit } from "../discoverIds/time";
|
||||
import { IdsManifest } from "../discoverIds/types";
|
||||
import { IDS_API_BASE } from "./constants";
|
||||
import { PerformanceManifest } from "./types";
|
||||
import { PerformanceManifest, QuickStatistics } from "./types";
|
||||
|
||||
const applicationId = import.meta.env.PUBLIC_WARGAMING_APPLICATION_ID;
|
||||
|
||||
const storage = await new GitObjectStorage(
|
||||
"blitzkit/data-performance",
|
||||
@@ -35,6 +38,26 @@ while (withinTimeLimit()) {
|
||||
|
||||
for (let i = 0; i < size; i++) {
|
||||
await sleep();
|
||||
|
||||
const id = ids.get(i);
|
||||
const domain = idToRegion(id);
|
||||
|
||||
const url = `https://api.wotblitz.${
|
||||
domain
|
||||
}/wotb/tanks/stats/?application_id=${applicationId}&account_id=${id}`;
|
||||
const response = await fetch(url);
|
||||
const json = (await response.json()) as QuickStatistics;
|
||||
|
||||
const data = json.data[id];
|
||||
|
||||
if (json.status !== "ok" || data === null) {
|
||||
console.log(`Failed player ${id}; skipping...`);
|
||||
continue;
|
||||
}
|
||||
|
||||
for (const tank of data) {
|
||||
console.log(new Date(tank.battle_life_time * 1000));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,3 +4,23 @@ interface PerformanceManifestV1 {
|
||||
version: 1;
|
||||
last_updated: number;
|
||||
}
|
||||
|
||||
export interface QuickStatistics {
|
||||
status: string;
|
||||
data: Record<string, QuickStatisticsTank[] | null>;
|
||||
}
|
||||
|
||||
interface QuickStatisticsTank {
|
||||
last_battle_time: number;
|
||||
battle_life_time: number;
|
||||
tank_id: number;
|
||||
|
||||
all: Record<string, number>;
|
||||
}
|
||||
|
||||
interface Observations {
|
||||
count: number;
|
||||
observations: Record<number, Observation>;
|
||||
}
|
||||
|
||||
interface Observation {}
|
||||
Reference in new issue
Block a user