diff --git a/estimabot.py b/estimabot.py new file mode 100644 index 0000000..03e432a --- /dev/null +++ b/estimabot.py @@ -0,0 +1,103 @@ +from common import get_api +from common import list_read + +domains_es = [ + "mastodon.uy", + "chilemasto.casa", + "mstdn.es", + "mstdn.mx", + "sivar.cafe", + "col.social", + "mastodon.la", + "mastodon.cl", + "seda.social", + "devschile.social", + "bizkaia.social", + "masto.nobigtech.es", + "masto.es", + "tkz.one", + "xarxa.cloud", + "culturaeinnovacion.social", + "sindicato.social", + "hispagatos.space", + "paquita.masto.host", + "mastodon.com.py", + "social.politicaconciencia.org", + "red.niboe.info", + "tuiter.rocks", + "txs.es", + "lile.cl", + "bloom.surf", + "masto.komintern.work", + "malaga.social", + "mastodon.cr", + "oye.social", + "rebel.ar", + "mastodon.lajaqueria.org", + "soymas.to", + "mst.universoalterno.es", + "frikiverse.zone", + "shrimply.social", + "mast.lat", + "fediunam.site", + "mastorol.es", + "cubatech.social", + "laterracita.online", + "41020.social", + "naturar.social", + "tu.social", + "jvm.social", + "mastodonte.tech", + "mastodon.escepticos.es", + "mastodon.mx", + "ticos.social", + "mastodon.cr", + "mastodon.blaster.com.ar", + "terere.social", + "andalucia.social", + "con.tar.mx", + "cadiz.ovh", + "irsoluciones.social", +] + +domains_regional = [ + "mastodon.eus", + "mastodon.gal", + "mastodon.cat", + "mastodont.cat", +] + + +def get_domain_list_stats(domains): + total = 0 + active = 0 + + for domain in domains: + print(domain) + api = get_api(domain) + res = api.instance_nodeinfo() + if domain != "mast.lat": # shared with tkz.one + total += res.usage.users.total + active += res.usage.users.activeMonth + return [total, active] + +def get_other_stats(): + total = 0 + following = list_read("following_accounts.csv") + + for account in following: + domain = account.split(",")[0].split("@")[1] + if domain not in domains_es and domain not in domains_regional: + total += 1 + return total + +stats_es = get_domain_list_stats(domains_es) +stats_regional = get_domain_list_stats(domains_regional) +stats_other_total = get_other_stats() + +total = stats_es[0] + stats_regional[0] + stats_other_total +total_active = stats_es[1] + stats_regional[1] + +print("EstimaciĆ³n de usuarios totales: " + str(stats_es[0]) + " " + str(stats_regional[0]) + " " + str(stats_other_total) + " = " + str(total)) +print("EstimaciĆ³n de usuarios activos: " + str(stats_es[1]) + " " + str(stats_regional[1]) + " = " + str(total_active)) +