]> git.mxchange.org Git - fba.git/blobdiff - daemon.py
Continued:
[fba.git] / daemon.py
index dc298236bf13f896d6af856baf8ddaa3d5ce38dd..472b0bed1d842a0174bb23ab013db4734f6ba267 100755 (executable)
--- a/daemon.py
+++ b/daemon.py
@@ -1,4 +1,4 @@
-#!/usr/bin/python3
+#!venv/bin/python3
 # -*- coding: utf-8 -*-
 
 # Fedi API Block - An aggregator for fetching blocking data from fediverse nodes
@@ -56,16 +56,18 @@ templates = Jinja2Templates(directory="templates")
 
 @router.get(config.get("base_url") + "/api/info.json", response_class=JSONResponse)
 def api_info():
-    database.cursor.execute("SELECT (SELECT COUNT(domain) FROM instances), (SELECT COUNT(domain) FROM instances WHERE software IN ('pleroma', 'mastodon', 'lemmy', 'friendica', 'misskey', 'peertube', 'takahe', 'gotosocial', 'brighteon', 'wildebeest', 'bookwyrm', 'mitra', 'areionskey', 'mammuthus', 'neodb')), (SELECT COUNT(blocker) FROM blocks), (SELECT COUNT(domain) FROM instances WHERE last_error_details IS NOT NULL)")
+    database.cursor.execute("SELECT (SELECT COUNT(domain) FROM instances) AS total_websites, (SELECT COUNT(domain) FROM instances WHERE software IN ('pleroma', 'mastodon', 'lemmy', 'friendica', 'misskey', 'peertube', 'takahe', 'gotosocial', 'brighteon', 'wildebeest', 'bookwyrm', 'mitra', 'areionskey', 'mammuthus', 'neodb', 'smithereen', 'vebinet', 'hugo', 'toki', 'snac')) AS supported_instances, (SELECT COUNT(blocker) FROM blocks) AS total_blocks, (SELECT COUNT(domain) FROM instances WHERE last_error_details IS NOT NULL) AS erroneous_instances")
+
     row = database.cursor.fetchone()
 
     return JSONResponse(status_code=200, content={
-        "known_instances"    : row[0],
-        "supported_instances": row[1],
-        "blocks_recorded"    : row[2],
-        "erroneous_instances": row[3],
+        "total_websites"     : row["total_websites"],
+        "supported_instances": row["supported_instances"],
+        "total_blocks"       : row["total_blocks"],
+        "erroneous_instances": row["erroneous_instances"],
     })
 
+
 @router.get(config.get("base_url") + "/api/scoreboard.json", response_class=JSONResponse)
 def api_scoreboard(mode: str, amount: int):
     if amount > config.get("api_limit"):
@@ -472,7 +474,11 @@ def rss(request: Request, domain: str = None):
         wildchar = "*." + ".".join(domain.split(".")[-domain.count("."):])
         punycode = domain.encode("idna").decode("utf-8")
 
-        database.cursor.execute("SELECT blocker, blocked, block_level, reason, first_seen, last_seen FROM blocks WHERE blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? ORDER BY first_seen DESC LIMIT ?", [
+        database.cursor.execute("SELECT blocker, blocked, block_level, reason, first_seen, last_seen \
+FROM blocks \
+WHERE blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? OR blocked = ? \
+ORDER BY first_seen DESC \
+LIMIT ?", [
             domain,
             "*." + domain, wildchar,
             utils.get_hash(domain),
@@ -481,7 +487,10 @@ def rss(request: Request, domain: str = None):
             config.get("rss_limit")
         ])
     else:
-        database.cursor.execute("SELECT blocker, blocked, block_level, reason, first_seen, last_seen FROM blocks ORDER BY first_seen DESC LIMIT ?", [config.get("rss_limit")])
+        database.cursor.execute("SELECT blocker, blocked, block_level, reason, first_seen, last_seen \
+FROM blocks \
+ORDER BY first_seen DESC \
+LIMIT ?", [config.get("rss_limit")])
 
     result = database.cursor.fetchall()
     blocklist = []
@@ -530,4 +539,10 @@ def index(request: Request):
     })
 
 if __name__ == "__main__":
-    uvicorn.run("daemon:router", host=config.get("host"), port=config.get("port"), log_level=config.get("log_level"), proxy_headers=True)
+    uvicorn.run(
+        "daemon:router",
+        host=config.get("host"),
+        port=config.get("port"),
+        log_level=config.get("log_level"),
+        proxy_headers=True
+    )