fix(achievements): update total data acquisition method (#1487)
This commit is contained in:
@@ -82,13 +82,16 @@ async function total({imports}) {
|
|||||||
//Extracting total from github.com/search
|
//Extracting total from github.com/search
|
||||||
for (let i = 0; (i < 100) && ((!total.users) || (!total.repositories)); i++) {
|
for (let i = 0; (i < 100) && ((!total.users) || (!total.repositories)); i++) {
|
||||||
const page = await browser.newPage()
|
const page = await browser.newPage()
|
||||||
await page.goto("https://github.com/search")
|
await page.goto("https://github.com/search?q=+created%3A%3E2007")
|
||||||
const result = await page.evaluate(() => [...document.querySelectorAll("h2")].filter(node => /Search more/.test(node.innerText)).shift()?.innerText.trim().match(/(?<count>\d+)M\s+(?<type>repositories|users|issues)$/)?.groups) ?? null
|
const results = await page.evaluate(() => [...[...document.querySelectorAll("h2")].filter(node => /Filter by/.test(node.innerText)).shift()?.nextSibling?.innerText.trim().matchAll(/(?<type>Repositories|Users|Issues)\n(?<count>.*?)M/g) ?? []]) ?? null
|
||||||
console.debug(`metrics/compute/plugins > achievements > setup found ${result?.type ?? "(?)"}`)
|
for (const result of results) {
|
||||||
if ((result?.type) && (!total[result.type])) {
|
const type = result[1]?.toLowerCase()
|
||||||
const {count, type} = result
|
console.debug(`metrics/compute/plugins > achievements > setup found ${type ?? "(?)"}`)
|
||||||
total[type] = Number(count) * 10e5
|
const count = result[2] ?? ""
|
||||||
console.debug(`metrics/compute/plugins > achievements > set total.${type} to ${total[type]}`)
|
if ((count !== "") && (!total[type])) {
|
||||||
|
total[type] = Number(count) * 10e5
|
||||||
|
console.debug(`metrics/compute/plugins > achievements > set total.${type} to ${total[type]}`)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
await page.close()
|
await page.close()
|
||||||
await imports.wait(10 * Math.random())
|
await imports.wait(10 * Math.random())
|
||||||
|
|||||||
Reference in New Issue
Block a user