WIP: wrote a query to get domains ordered by number of reported paths
This commit is contained in:
@@ -1,7 +1,7 @@
|
|||||||
from collections.abc import Iterable
|
from collections.abc import Iterable
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
from urllib.parse import ParseResult
|
from urllib.parse import ParseResult
|
||||||
from sqlalchemy import select
|
from sqlalchemy import select, func
|
||||||
from sqlalchemy.engine import Engine
|
from sqlalchemy.engine import Engine
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
from slopserver.models import Domain, Path, User, Report
|
from slopserver.models import Domain, Path, User, Report
|
||||||
@@ -12,6 +12,10 @@ def select_slop(urls: list[ParseResult], engine: Engine) -> Iterable[Domain]:
|
|||||||
rows = session.scalars(query).all()
|
rows = session.scalars(query).all()
|
||||||
return rows
|
return rows
|
||||||
|
|
||||||
|
def top_offenders(limit: int|None = None, engine: Engine) -> Iterable[Domain]:
|
||||||
|
query = select(Domain).join(Path).group_by(Domain.id).order_by(func.count(Path.id).desc())
|
||||||
|
top_offenders
|
||||||
|
|
||||||
def insert_slop(urls: list[ParseResult], engine: Engine, user: User | None = None):
|
def insert_slop(urls: list[ParseResult], engine: Engine, user: User | None = None):
|
||||||
domain_dict: dict[str. set[str]] = dict()
|
domain_dict: dict[str. set[str]] = dict()
|
||||||
for url in urls:
|
for url in urls:
|
||||||
|
|||||||
Reference in New Issue
Block a user