This commit is contained in:
Simon Lecoq
2023-07-24 13:13:49 -04:00

View File

@@ -82,14 +82,17 @@ 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 ?? "(?)"}`)
const count = result[2] ?? ""
if ((count !== "") && (!total[type])) {
total[type] = Number(count) * 10e5 total[type] = Number(count) * 10e5
console.debug(`metrics/compute/plugins > achievements > set total.${type} to ${total[type]}`) 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())
} }