pg: no longer track runs in json
This commit is contained in:
parent
8edc4727b3
commit
4ed5aa7774
1 changed files with 2 additions and 17 deletions
|
|
@ -15,15 +15,7 @@ const SCREEN_HEIGHT = Number(process.env.SCREEN_HEIGHT) || 1280;
|
||||||
console.log(datetime(), 'started checking prime-gaming');
|
console.log(datetime(), 'started checking prime-gaming');
|
||||||
|
|
||||||
const db = await jsonDb('prime-gaming.json');
|
const db = await jsonDb('prime-gaming.json');
|
||||||
db.data ||= { claimed: [], runs: [] };
|
db.data ||= { claimed: [] };
|
||||||
const run = {
|
|
||||||
startTime: datetime(),
|
|
||||||
endTime: null,
|
|
||||||
n_internal: null, // unclaimed games at beginning
|
|
||||||
c_internal: 0, // claimed games at end
|
|
||||||
n_external: null,
|
|
||||||
c_external: 0,
|
|
||||||
};
|
|
||||||
|
|
||||||
// https://playwright.dev/docs/auth#multi-factor-authentication
|
// https://playwright.dev/docs/auth#multi-factor-authentication
|
||||||
const context = await firefox.launchPersistentContext(dirs.browser, {
|
const context = await firefox.launchPersistentContext(dirs.browser, {
|
||||||
|
|
@ -63,8 +55,7 @@ try {
|
||||||
await page.waitForSelector(games_sel);
|
await page.waitForSelector(games_sel);
|
||||||
console.log('Number of already claimed games (total):', await page.locator(`${games_sel} p:has-text("Collected")`).count());
|
console.log('Number of already claimed games (total):', await page.locator(`${games_sel} p:has-text("Collected")`).count());
|
||||||
const game_sel = `${games_sel} [data-a-target="item-card"]:has-text("Claim game")`;
|
const game_sel = `${games_sel} [data-a-target="item-card"]:has-text("Claim game")`;
|
||||||
run.n_internal = await page.locator(game_sel).count();
|
console.log('Number of free unclaimed games (Prime Gaming):', await page.locator(game_sel).count());
|
||||||
console.log('Number of free unclaimed games (Prime Gaming):', run.n_internal);
|
|
||||||
const games = await page.$$(game_sel);
|
const games = await page.$$(game_sel);
|
||||||
// for (let i=1; i<=n; i++) {
|
// for (let i=1; i<=n; i++) {
|
||||||
for (const card of games) {
|
for (const card of games) {
|
||||||
|
|
@ -79,7 +70,6 @@ try {
|
||||||
await card.screenshot({ path: p });
|
await card.screenshot({ path: p });
|
||||||
await (await card.$('button:has-text("Claim game")')).click();
|
await (await card.$('button:has-text("Claim game")')).click();
|
||||||
db.data.claimed.push({ title, time: datetime(), store: 'internal' });
|
db.data.claimed.push({ title, time: datetime(), store: 'internal' });
|
||||||
run.c_internal++;
|
|
||||||
// await page.pause();
|
// await page.pause();
|
||||||
}
|
}
|
||||||
// claim games in external/linked stores. Linked: origin.com, epicgames.com; Redeem-key: gog.com, legacygames.com
|
// claim games in external/linked stores. Linked: origin.com, epicgames.com; Redeem-key: gog.com, legacygames.com
|
||||||
|
|
@ -87,7 +77,6 @@ try {
|
||||||
const game_sel_ext = `${games_sel} [data-a-target="item-card"]:has(p:text-is("Claim"))`;
|
const game_sel_ext = `${games_sel} [data-a-target="item-card"]:has(p:text-is("Claim"))`;
|
||||||
do {
|
do {
|
||||||
n = await page.locator(game_sel_ext).count();
|
n = await page.locator(game_sel_ext).count();
|
||||||
run.n_external ||= n;
|
|
||||||
console.log('Number of free unclaimed games (external stores):', n);
|
console.log('Number of free unclaimed games (external stores):', n);
|
||||||
const card = await page.$(game_sel_ext);
|
const card = await page.$(game_sel_ext);
|
||||||
if (!card) break;
|
if (!card) break;
|
||||||
|
|
@ -126,7 +115,6 @@ try {
|
||||||
const p = path.resolve(dirs.screenshots, 'prime-gaming', 'external', `${filenamify(title)}.png`);
|
const p = path.resolve(dirs.screenshots, 'prime-gaming', 'external', `${filenamify(title)}.png`);
|
||||||
await page.screenshot({ path: p, fullPage: true });
|
await page.screenshot({ path: p, fullPage: true });
|
||||||
// console.info(' Saved a screenshot of page to', p);
|
// console.info(' Saved a screenshot of page to', p);
|
||||||
run.c_external++;
|
|
||||||
}
|
}
|
||||||
// await page.pause();
|
// await page.pause();
|
||||||
await page.goto(URL_CLAIM, { waitUntil: 'domcontentloaded' });
|
await page.goto(URL_CLAIM, { waitUntil: 'domcontentloaded' });
|
||||||
|
|
@ -137,10 +125,7 @@ try {
|
||||||
await page.locator(games_sel).screenshot({ path: p });
|
await page.locator(games_sel).screenshot({ path: p });
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error); // .toString()?
|
console.error(error); // .toString()?
|
||||||
run.error = error.toString();
|
|
||||||
} finally {
|
} finally {
|
||||||
run.endTime = datetime();
|
|
||||||
db.data.runs.push(run);
|
|
||||||
await db.write(); // write out json db
|
await db.write(); // write out json db
|
||||||
}
|
}
|
||||||
await context.close();
|
await context.close();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue