-- PostgreSQL database dump
--
-\restrict zZebqk0H6Bn3b2lu7FY4z6lPZCN2XBuuNpQTisoH3Wz8jUXzJwWewQlrEzRq9r7
+\restrict 80aOA5yV31bCsEeXZQpelpLcW1cJfgnz27c1dg1p4ydlMSFyDUMztrDG4WdSfbB
-- Dumped from database version 17.6 (Debian 17.6-0+deb13u1)
-- Dumped by pg_dump version 17.6 (Debian 17.6-0+deb13u1)
id integer NOT NULL,
list_id integer NOT NULL,
ts timestamp with time zone DEFAULT CURRENT_TIMESTAMP NOT NULL,
- total_domains integer NOT NULL
+ total_domains integer NOT NULL,
+ subsumed_domains integer DEFAULT 0 NOT NULL
);
description text,
total_domains integer DEFAULT 0 NOT NULL,
pending_reports integer DEFAULT 0 NOT NULL,
- priority integer DEFAULT 0 NOT NULL
+ priority integer DEFAULT 0 NOT NULL,
+ subsumed_domains integer DEFAULT 0 NOT NULL
);
-- PostgreSQL database dump complete
--
-\unrestrict zZebqk0H6Bn3b2lu7FY4z6lPZCN2XBuuNpQTisoH3Wz8jUXzJwWewQlrEzRq9r7
+\unrestrict 80aOA5yV31bCsEeXZQpelpLcW1cJfgnz27c1dg1p4ydlMSFyDUMztrDG4WdSfbB
return self.backend.db.fetch_as_set(stmt)
# Total Domains
- total_domains : int = 0
+ total_domains: int = 0
+
+ # Subsumed Domains
+ subsumed_domains: int = 0
# Delete!
# Store the number of total domains
self.total_domains = self.backend.db.fetch_one(stmt)
+ # Store the number of subsumed domains
+ self.subsumed_domains = self.backend.db.fetch_one(
+ sqlmodel
+ .select(
+ sqlmodel.func.count(),
+ )
+ .where(
+ # Select only domains from this list
+ domains.Domain.list == self,
+
+ # Only select domains that should be blocked
+ domains.Domain.block == True,
+
+ # Ignore domains that have been removed
+ domains.Domain.removed_at == None,
+
+ # Only count subsumed domains
+ domains.Domain.subsumed == True,
+ )
+ )
+
# Store the stats history
self.backend.db.insert(
ListStats,
- list = self,
- total_domains = self.total_domains,
+ list = self,
+ total_domains = self.total_domains,
+ subsumed_domains = self.subsumed_domains,
)
# Export!
# Total Domains
total_domains: int
+
+ # Subsumed Domains
+ subsumed_domains: int = 0
table.add_row(_("Created At"), list.created_at.isoformat())
table.add_row(_("Created By"), list.created_by)
table.add_row(_("Listed Unique Domains"), babel.numbers.format_decimal(len(list)))
+ table.add_row(_("Subsumed Domains"), babel.numbers.format_decimal(list.subsumed_domains))
# Print list properties
self.console.print(table)