Code and data for arewedecentralizedyet.online and related projects
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add a few CLI options

+15 -1
+15 -1
data-fetchers/bsky-verifiers/fetch-bsky-verifiers.py
··· 1 1 #!/usr/bin/env python3 2 2 3 + import argparse 3 4 import csv 4 5 from datetime import datetime, timezone 5 6 from pathlib import Path 6 7 import socket 8 + import sys 7 9 8 10 import requests 9 11 from bs4 import BeautifulSoup ··· 45 47 46 48 47 49 def main(): 50 + parser = argparse.ArgumentParser() 51 + parser.add_argument("--url", default=URL, help="Page URL to fetch (default: %(default)s)") 52 + parser.add_argument("--stdout", action="store_true", help="Write CSV to stdout instead of a file") 53 + args = parser.parse_args() 54 + 48 55 _force_ipv4() 49 - response = requests.get(URL, timeout=30) 56 + response = requests.get(args.url, timeout=30) 50 57 response.raise_for_status() 51 58 52 59 soup = BeautifulSoup(response.text, "html.parser") ··· 57 64 rows = extract_rows(table) 58 65 if not rows: 59 66 raise RuntimeError("No rows found in Trusted Verifiers table.") 67 + 68 + if args.stdout: 69 + writer = csv.writer(sys.stdout) 70 + writer.writerow(["verifier", "count"]) 71 + writer.writerows(rows) 72 + print(f"Wrote {len(rows)} rows to stdout", file=sys.stderr) 73 + return 60 74 61 75 repo_root = Path(__file__).resolve().parents[2] 62 76 output_dir = repo_root / "data" / "bsky-verifiers"