Skip to content

Fix #372: add Belgian Pro League play-off competitions#376

Merged
dcaribou merged 14 commits into
masterfrom
fix/372
Jun 24, 2026
Merged

Fix #372: add Belgian Pro League play-off competitions#376
dcaribou merged 14 commits into
masterfrom
fix/372

Conversation

@dcaribou

Copy link
Copy Markdown
Owner

Summary

  • New file data/supplemental_competitions.json: hand-crafted JSONL for competitions outside Transfermarkt's confederation hierarchy (Belgian play-offs can't be discovered by the regular tfmkt competitions scrape)
  • scripts/acquiring/transfermarkt-scraper.py: acquire_competitions() now merges supplemental_competitions.json into data/competitions.json after the regular scrape
  • config.yml: added EJPL, POBE, BPO4 to the competition allowlist
  • dbt/dbt_project.yml: added EJPL, POBE, BPO4 to competition_codes so base_appearances no longer filters them out
  • dbt/models/base/transfermarkt_scraper/base_national_teams.sql: fall back to parent.country_name when name is empty (fixes 123/124 national teams with blank names)
  • dbt/tests/expected_number_of_first_tier_leagues.sql: relax bound to BETWEEN 31 AND 32 — COL1 (Colombia Finalización) is seasonally absent Jun–Aug
  • data/tournament_editions.json: added 2026 World Cup (season 2025) entry
  • docs/developer-guide.md + CLAUDE.md: documented the supplemental_competitions.json pattern and competition_type URL-routing rules

Closes

Closes #372

Test plan

  • dbt build runs clean (96 PASS, 1 WARN, 0 ERROR)
  • EJPL / POBE / BPO4 appear in dev.competitions with sub_type = play_off
  • Belgian play-off games scraped: EJPL 30, POBE 30, BPO4 12
  • Belgian play-off appearances present: EJPL 901, POBE 907, BPO4 366
  • National team names all non-null (Argentina, Spain, … top 10 verified)
  • World Cup 2026 games — not yet scrapable while group stage is live; tournament_editions.json entry is in place, re-run acquire_local --asset tournament_games after the group stage concludes

🤖 Generated with Claude Code

dcaribou and others added 14 commits June 20, 2026 20:46
The three Belgian Pro League play-offs (Champions', Europe, Relegation)
were absent because their Transfermarkt competition IDs were not in
config.yml and the competitions are not listed in Transfermarkt's
confederation hierarchy (so tfmkt competitions never returned them).

Add EJPL, POBE, BPO4 to config.yml, introduce
data/supplemental_competitions.json to hand-register competitions that
sit outside the confederation index, and update acquire_competitions()
to merge supplemental records into data/competitions.json after the
regular scrape.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nality

- Add EJPL, POBE, BPO4 to competition_codes in dbt_project.yml so
  base_appearances filters them in (they were scraped but silently dropped)
- Fix base_national_teams.sql: use parent.country_name fallback when name is empty
- Relax expected_number_of_first_tier_leagues test to accept 31-32 (COL1
  is seasonally absent in June-Aug during the Finalización off-season)
- Add 2026 World Cup edition to tournament_editions.json

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Restores max_value from 650,000 → 850,000; the prod dataset has grown
past 650K and this bound was previously 850K before #367 reverted it.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Plans are ephemeral; DuckDB files are build artifacts.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@dcaribou dcaribou merged commit 238f73b into master Jun 24, 2026
3 checks passed
@dcaribou dcaribou deleted the fix/372 branch June 24, 2026 07:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Belgian Play Offs not in the data

1 participant