add % counter
This commit is contained in:
parent
449c5d2523
commit
0d1c0a7a43
1 changed files with 13 additions and 10 deletions
21
site.js
21
site.js
|
@ -11,6 +11,8 @@ let userLimit = process.env.userLimit || Infinity;
|
|||
let blacklist = (process.env.blacklist + '').split(',') || [];
|
||||
let greylist = (process.env.greylist + '').split(',') || [];
|
||||
let hh;
|
||||
let percent = 0;
|
||||
let d = process.env.depth || 1;
|
||||
|
||||
async function urlCollector(url, path, file, useLimit, data2) {
|
||||
if (path != 'following') return [];
|
||||
|
@ -31,7 +33,6 @@ async function urlCollector(url, path, file, useLimit, data2) {
|
|||
let ll = urls.length;
|
||||
links.each(function (i, link) {
|
||||
if (useLimit && urls.length >= pageLimit * 40 + ll) return;
|
||||
|
||||
let h = body(link).attr('href');
|
||||
if (!h) return;
|
||||
h = h.trim();
|
||||
|
@ -80,6 +81,7 @@ async function rounder(users, data, mode) {
|
|||
|
||||
for (let u of users) {
|
||||
let it = 0;
|
||||
|
||||
while (p.length >= (process.env.maxRate || 15)) {
|
||||
p = p.filter(x => x != 'hi');
|
||||
if (p.length == 0) break;
|
||||
|
@ -101,7 +103,8 @@ async function rounder(users, data, mode) {
|
|||
p.push(async function (k) {
|
||||
await siteCollector(u, 'followers', site, mode, data);
|
||||
|
||||
console.log(`User ${u} followers is fully calculated`);
|
||||
percent += 50 / d / users.length;
|
||||
console.log(`User ${u} followers is fully calculated (${percent}% total)`);
|
||||
|
||||
p[k] = 'hi';
|
||||
}(p.length));
|
||||
|
@ -109,7 +112,8 @@ async function rounder(users, data, mode) {
|
|||
p.push(async function (k) {
|
||||
await siteCollector(u, 'following', site, mode, data);
|
||||
|
||||
console.log(`User ${u} following is fully calculated`);
|
||||
percent += 50 / d / users.length;
|
||||
console.log(`User ${u} following is fully calculated (${percent}% total)`);
|
||||
|
||||
p[k] = 'hi';
|
||||
}(p.length));
|
||||
|
@ -130,14 +134,14 @@ async function rounder(users, data, mode) {
|
|||
let ffing = [...dh.following];
|
||||
let ffers = [...dh.followers];
|
||||
if (mode) {
|
||||
ffing.length = Math.min(ffing.length,userLimit);
|
||||
ffers.length = Math.min(ffers.length,userLimit);
|
||||
ffing.length = Math.min(ffing.length, userLimit);
|
||||
ffers.length = Math.min(ffers.length, userLimit);
|
||||
}
|
||||
endn = endn.concat(ffing,ffers);
|
||||
endn = endn.concat(ffing, ffers);
|
||||
endn = [...new Set(endn)];
|
||||
if (mode && endn.length - oldLength > userLimit) break;
|
||||
}
|
||||
let fcg = ((a,b) => ((data[a] ? -data[a].followers.length : 0) - (data[b] ? -data[b].followers.length : 0)));
|
||||
let fcg = ((a, b) => ((data[a] ? -data[a].followers.length : 0) - (data[b] ? -data[b].followers.length : 0)));
|
||||
endn = endn.sort(fcg);
|
||||
|
||||
return endn;
|
||||
|
@ -216,7 +220,7 @@ async function siteCollector(user, path, site, useLimit, data2) {
|
|||
}
|
||||
out = out.concat(...users);
|
||||
if (useLimit) {
|
||||
out.length = Math.min(out.length,pageLimit * 40);
|
||||
out.length = Math.min(out.length, pageLimit * 40);
|
||||
}
|
||||
|
||||
if (!data2[user]) data2[user] = { following: [], followers: [] };
|
||||
|
@ -235,7 +239,6 @@ async function siteCollector(user, path, site, useLimit, data2) {
|
|||
|
||||
users = [...new Set(users)];
|
||||
|
||||
let d = process.env.depth || 1;
|
||||
for (let i = 1; i < d; i++) {
|
||||
let tempSet = [...users];
|
||||
users = await rounder(tempSet, data, true);
|
||||
|
|
Loading…
Reference in a new issue