Crawl ohne Flag: fester Default 200 neue Matches pro Lauf
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -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":
|
||||||
|
|||||||
@@ -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"]
|
||||||
|
|||||||
Reference in New Issue
Block a user