Crawl ohne Flag: fester Default 200 neue Matches pro Lauf

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
team3
2026-07-23 07:52:55 +02:00
parent 622ca942ca
commit ca934ed942
2 changed files with 5 additions and 6 deletions

View File

@@ -18,8 +18,7 @@ def main() -> None:
p_fetch = sub.add_parser("fetch-static", help="download static data from Community Dragon") p_fetch = sub.add_parser("fetch-static", help="download static data from Community Dragon")
p_fetch.add_argument("--set", type=int, default=None, help="override set number") p_fetch.add_argument("--set", type=int, default=None, help="override set number")
p_crawl = sub.add_parser("crawl", help="crawl ranked matches from Challenger/GM ladder") sub.add_parser("crawl", help="crawl ranked matches from Challenger/GM ladder (max 200 neue pro Lauf)")
p_crawl.add_argument("--limit", type=int, default=None, help="stop after N new matches")
sub.add_parser("extract", help="extract endboards from raw matches") sub.add_parser("extract", help="extract endboards from raw matches")
sub.add_parser("build-artifact", help="build analysis.json from static data + endboards") sub.add_parser("build-artifact", help="build analysis.json from static data + endboards")
@@ -45,7 +44,7 @@ def main() -> None:
elif args.command == "crawl": elif args.command == "crawl":
from tft.matches.crawl import crawl from tft.matches.crawl import crawl
added = crawl(set_number=current_set(), limit=args.limit) added = crawl(set_number=current_set())
print(f"{added} new matches stored") print(f"{added} new matches stored")
elif args.command == "extract": elif args.command == "extract":

View File

@@ -9,7 +9,7 @@ from tft.matches.riot import RiotClient
RANKED_QUEUE = 1100 RANKED_QUEUE = 1100
def crawl(set_number: int, limit: int | None = None) -> int: def crawl(set_number: int, limit: int = 200) -> int:
client = RiotClient() client = RiotClient()
conn = db.connect() conn = db.connect()
seen = {row[0] for row in conn.execute("SELECT match_id FROM matches")} seen = {row[0] for row in conn.execute("SELECT match_id FROM matches")}
@@ -19,13 +19,13 @@ def crawl(set_number: int, limit: int | None = None) -> int:
print(f"ladder: {len(entries)} players") print(f"ladder: {len(entries)} players")
for entry in entries: for entry in entries:
if limit is not None and added >= limit: if added >= limit:
break break
puuid = client.puuid_for_entry(entry) puuid = client.puuid_for_entry(entry)
for match_id in client.match_ids(puuid): for match_id in client.match_ids(puuid):
if match_id in seen: if match_id in seen:
continue continue
if limit is not None and added >= limit: if added >= limit:
break break
match = client.match(match_id) match = client.match(match_id)
info = match["info"] info = match["info"]