Remove CFB/NASCAR/PGA and streamline to 8 supported sports

- Remove College Football, NASCAR, and PGA from scraper and app
- Clean all data files (stadiums, games, pipeline reports)
- Update Sport.swift enum and all UI components
- Add sportstime.py CLI tool for pipeline management
- Add DATA_SCRAPING.md documentation
- Add WNBA/MLS/NWSL implementation documentation
- Scraper now supports: NBA, MLB, NHL, NFL, WNBA, MLS, NWSL, CBB

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-09 23:22:13 -06:00
parent f5e509a9ae
commit 8790d2ad73
35 changed files with 117819 additions and 65871 deletions

View File

@@ -1286,5 +1286,789 @@
"WPG"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_gateway_center_arena",
"name": "Gateway Center Arena",
"city": "College Park",
"state": "GA",
"latitude": 33.6534,
"longitude": -84.448,
"capacity": 3500,
"sport": "WNBA",
"primary_team_abbrevs": [
"ATL"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_wintrust_arena",
"name": "Wintrust Arena",
"city": "Chicago",
"state": "IL",
"latitude": 41.8622,
"longitude": -87.6164,
"capacity": 10387,
"sport": "WNBA",
"primary_team_abbrevs": [
"CHI"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_mohegan_sun_arena",
"name": "Mohegan Sun Arena",
"city": "Uncasville",
"state": "CT",
"latitude": 41.4946,
"longitude": -72.0874,
"capacity": 10000,
"sport": "WNBA",
"primary_team_abbrevs": [
"CON"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_college_park_center",
"name": "College Park Center",
"city": "Arlington",
"state": "TX",
"latitude": 32.7298,
"longitude": -97.1137,
"capacity": 7000,
"sport": "WNBA",
"primary_team_abbrevs": [
"DAL"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_chase_center",
"name": "Chase Center",
"city": "San Francisco",
"state": "CA",
"latitude": 37.768,
"longitude": -122.3879,
"capacity": 18064,
"sport": "WNBA",
"primary_team_abbrevs": [
"GSV"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_gainbridge_fieldhouse",
"name": "Gainbridge Fieldhouse",
"city": "Indianapolis",
"state": "IN",
"latitude": 39.764,
"longitude": -86.1555,
"capacity": 17274,
"sport": "WNBA",
"primary_team_abbrevs": [
"IND"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_michelob_ultra_arena",
"name": "Michelob Ultra Arena",
"city": "Las Vegas",
"state": "NV",
"latitude": 36.0929,
"longitude": -115.1757,
"capacity": 12000,
"sport": "WNBA",
"primary_team_abbrevs": [
"LVA"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_cryptocom_arena",
"name": "Crypto.com Arena",
"city": "Los Angeles",
"state": "CA",
"latitude": 34.043,
"longitude": -118.2673,
"capacity": 19068,
"sport": "WNBA",
"primary_team_abbrevs": [
"LAS"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_target_center",
"name": "Target Center",
"city": "Minneapolis",
"state": "MN",
"latitude": 44.9795,
"longitude": -93.2761,
"capacity": 17500,
"sport": "WNBA",
"primary_team_abbrevs": [
"MIN"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_barclays_center",
"name": "Barclays Center",
"city": "Brooklyn",
"state": "NY",
"latitude": 40.6826,
"longitude": -73.9754,
"capacity": 17732,
"sport": "WNBA",
"primary_team_abbrevs": [
"NYL"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_footprint_center",
"name": "Footprint Center",
"city": "Phoenix",
"state": "AZ",
"latitude": 33.4457,
"longitude": -112.0712,
"capacity": 17000,
"sport": "WNBA",
"primary_team_abbrevs": [
"PHX"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_climate_pledge_arena",
"name": "Climate Pledge Arena",
"city": "Seattle",
"state": "WA",
"latitude": 47.6221,
"longitude": -122.354,
"capacity": 17100,
"sport": "WNBA",
"primary_team_abbrevs": [
"SEA"
],
"year_opened": null
},
{
"canonical_id": "stadium_wnba_entertainment_sports_arena",
"name": "Entertainment & Sports Arena",
"city": "Washington",
"state": "DC",
"latitude": 38.8701,
"longitude": -76.9728,
"capacity": 4200,
"sport": "WNBA",
"primary_team_abbrevs": [
"WAS"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_mercedesbenz_stadium",
"name": "Mercedes-Benz Stadium",
"city": "Atlanta",
"state": "GA",
"latitude": 33.7553,
"longitude": -84.4006,
"capacity": 71000,
"sport": "MLS",
"primary_team_abbrevs": [
"ATL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_q2_stadium",
"name": "Q2 Stadium",
"city": "Austin",
"state": "TX",
"latitude": 30.3876,
"longitude": -97.72,
"capacity": 20738,
"sport": "MLS",
"primary_team_abbrevs": [
"ATX"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_bank_of_america_stadium",
"name": "Bank of America Stadium",
"city": "Charlotte",
"state": "NC",
"latitude": 35.2258,
"longitude": -80.8528,
"capacity": 74867,
"sport": "MLS",
"primary_team_abbrevs": [
"CLT"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_soldier_field",
"name": "Soldier Field",
"city": "Chicago",
"state": "IL",
"latitude": 41.8623,
"longitude": -87.6167,
"capacity": 61500,
"sport": "MLS",
"primary_team_abbrevs": [
"CHI"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_tql_stadium",
"name": "TQL Stadium",
"city": "Cincinnati",
"state": "OH",
"latitude": 39.1113,
"longitude": -84.5212,
"capacity": 26000,
"sport": "MLS",
"primary_team_abbrevs": [
"CIN"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_dicks_sporting_goods_park",
"name": "Dick's Sporting Goods Park",
"city": "Commerce City",
"state": "CO",
"latitude": 39.8056,
"longitude": -104.8919,
"capacity": 18061,
"sport": "MLS",
"primary_team_abbrevs": [
"COL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_lowercom_field",
"name": "Lower.com Field",
"city": "Columbus",
"state": "OH",
"latitude": 39.9689,
"longitude": -83.0173,
"capacity": 20371,
"sport": "MLS",
"primary_team_abbrevs": [
"CLB"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_toyota_stadium",
"name": "Toyota Stadium",
"city": "Frisco",
"state": "TX",
"latitude": 33.1546,
"longitude": -96.8353,
"capacity": 20500,
"sport": "MLS",
"primary_team_abbrevs": [
"DAL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_audi_field",
"name": "Audi Field",
"city": "Washington",
"state": "DC",
"latitude": 38.8686,
"longitude": -77.0128,
"capacity": 20000,
"sport": "MLS",
"primary_team_abbrevs": [
"DCU"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_shell_energy_stadium",
"name": "Shell Energy Stadium",
"city": "Houston",
"state": "TX",
"latitude": 29.7523,
"longitude": -95.3522,
"capacity": 22039,
"sport": "MLS",
"primary_team_abbrevs": [
"HOU"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_dignity_health_sports_park",
"name": "Dignity Health Sports Park",
"city": "Carson",
"state": "CA",
"latitude": 33.8644,
"longitude": -118.2611,
"capacity": 27000,
"sport": "MLS",
"primary_team_abbrevs": [
"LAG"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_bmo_stadium",
"name": "BMO Stadium",
"city": "Los Angeles",
"state": "CA",
"latitude": 34.0128,
"longitude": -118.2841,
"capacity": 22000,
"sport": "MLS",
"primary_team_abbrevs": [
"LAFC"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_chase_stadium",
"name": "Chase Stadium",
"city": "Fort Lauderdale",
"state": "FL",
"latitude": 26.1902,
"longitude": -80.163,
"capacity": 21550,
"sport": "MLS",
"primary_team_abbrevs": [
"MIA"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_allianz_field",
"name": "Allianz Field",
"city": "St. Paul",
"state": "MN",
"latitude": 44.9532,
"longitude": -93.1653,
"capacity": 19400,
"sport": "MLS",
"primary_team_abbrevs": [
"MIN"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_stade_saputo",
"name": "Stade Saputo",
"city": "Montreal",
"state": "QC",
"latitude": 45.5628,
"longitude": -73.553,
"capacity": 19619,
"sport": "MLS",
"primary_team_abbrevs": [
"MTL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_geodis_park",
"name": "Geodis Park",
"city": "Nashville",
"state": "TN",
"latitude": 36.1303,
"longitude": -86.7663,
"capacity": 30000,
"sport": "MLS",
"primary_team_abbrevs": [
"NSH"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_gillette_stadium",
"name": "Gillette Stadium",
"city": "Foxborough",
"state": "MA",
"latitude": 42.0909,
"longitude": -71.2643,
"capacity": 65878,
"sport": "MLS",
"primary_team_abbrevs": [
"NER"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_yankee_stadium",
"name": "Yankee Stadium",
"city": "New York",
"state": "NY",
"latitude": 40.8296,
"longitude": -73.9262,
"capacity": 46537,
"sport": "MLS",
"primary_team_abbrevs": [
"NYC"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_red_bull_arena",
"name": "Red Bull Arena",
"city": "Harrison",
"state": "NJ",
"latitude": 40.7368,
"longitude": -74.1503,
"capacity": 25000,
"sport": "MLS",
"primary_team_abbrevs": [
"RBNY"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_interco_stadium",
"name": "Inter&Co Stadium",
"city": "Orlando",
"state": "FL",
"latitude": 28.5411,
"longitude": -81.3899,
"capacity": 25500,
"sport": "MLS",
"primary_team_abbrevs": [
"ORL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_subaru_park",
"name": "Subaru Park",
"city": "Chester",
"state": "PA",
"latitude": 39.8328,
"longitude": -75.3789,
"capacity": 18500,
"sport": "MLS",
"primary_team_abbrevs": [
"PHI"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_providence_park",
"name": "Providence Park",
"city": "Portland",
"state": "OR",
"latitude": 45.5217,
"longitude": -122.6917,
"capacity": 25218,
"sport": "MLS",
"primary_team_abbrevs": [
"POR"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_america_first_field",
"name": "America First Field",
"city": "Sandy",
"state": "UT",
"latitude": 40.5828,
"longitude": -111.8933,
"capacity": 20213,
"sport": "MLS",
"primary_team_abbrevs": [
"RSL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_paypal_park",
"name": "PayPal Park",
"city": "San Jose",
"state": "CA",
"latitude": 37.3513,
"longitude": -121.9253,
"capacity": 18000,
"sport": "MLS",
"primary_team_abbrevs": [
"SJE"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_lumen_field",
"name": "Lumen Field",
"city": "Seattle",
"state": "WA",
"latitude": 47.5952,
"longitude": -122.3316,
"capacity": 68740,
"sport": "MLS",
"primary_team_abbrevs": [
"SEA"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_childrens_mercy_park",
"name": "Children's Mercy Park",
"city": "Kansas City",
"state": "KS",
"latitude": 39.1218,
"longitude": -94.8234,
"capacity": 18467,
"sport": "MLS",
"primary_team_abbrevs": [
"SKC"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_citypark",
"name": "CityPark",
"city": "St. Louis",
"state": "MO",
"latitude": 38.6322,
"longitude": -90.2094,
"capacity": 22500,
"sport": "MLS",
"primary_team_abbrevs": [
"STL"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_bmo_field",
"name": "BMO Field",
"city": "Toronto",
"state": "ON",
"latitude": 43.6332,
"longitude": -79.4186,
"capacity": 30000,
"sport": "MLS",
"primary_team_abbrevs": [
"TOR"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_bc_place",
"name": "BC Place",
"city": "Vancouver",
"state": "BC",
"latitude": 49.2768,
"longitude": -123.1118,
"capacity": 54320,
"sport": "MLS",
"primary_team_abbrevs": [
"VAN"
],
"year_opened": null
},
{
"canonical_id": "stadium_mls_snapdragon_stadium",
"name": "Snapdragon Stadium",
"city": "San Diego",
"state": "CA",
"latitude": 32.7839,
"longitude": -117.1224,
"capacity": 35000,
"sport": "MLS",
"primary_team_abbrevs": [
"SDG"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_bmo_stadium",
"name": "BMO Stadium",
"city": "Los Angeles",
"state": "CA",
"latitude": 34.0128,
"longitude": -118.2841,
"capacity": 22000,
"sport": "NWSL",
"primary_team_abbrevs": [
"ANG"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_paypal_park",
"name": "PayPal Park",
"city": "San Jose",
"state": "CA",
"latitude": 37.3513,
"longitude": -121.9253,
"capacity": 18000,
"sport": "NWSL",
"primary_team_abbrevs": [
"BAY"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_seatgeek_stadium",
"name": "SeatGeek Stadium",
"city": "Chicago",
"state": "IL",
"latitude": 41.6462,
"longitude": -87.7304,
"capacity": 20000,
"sport": "NWSL",
"primary_team_abbrevs": [
"CHI"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_shell_energy_stadium",
"name": "Shell Energy Stadium",
"city": "Houston",
"state": "TX",
"latitude": 29.7523,
"longitude": -95.3522,
"capacity": 22039,
"sport": "NWSL",
"primary_team_abbrevs": [
"HOU"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_cpkc_stadium",
"name": "CPKC Stadium",
"city": "Kansas City",
"state": "KS",
"latitude": 39.0851,
"longitude": -94.5582,
"capacity": 11500,
"sport": "NWSL",
"primary_team_abbrevs": [
"KCC"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_red_bull_arena",
"name": "Red Bull Arena",
"city": "Harrison",
"state": "NJ",
"latitude": 40.7368,
"longitude": -74.1503,
"capacity": 25000,
"sport": "NWSL",
"primary_team_abbrevs": [
"NJY"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_wakemed_soccer_park",
"name": "WakeMed Soccer Park",
"city": "Cary",
"state": "NC",
"latitude": 35.8589,
"longitude": -78.7989,
"capacity": 10000,
"sport": "NWSL",
"primary_team_abbrevs": [
"NCC"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_interco_stadium",
"name": "Inter&Co Stadium",
"city": "Orlando",
"state": "FL",
"latitude": 28.5411,
"longitude": -81.3899,
"capacity": 25500,
"sport": "NWSL",
"primary_team_abbrevs": [
"ORL"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_providence_park",
"name": "Providence Park",
"city": "Portland",
"state": "OR",
"latitude": 45.5217,
"longitude": -122.6917,
"capacity": 25218,
"sport": "NWSL",
"primary_team_abbrevs": [
"POR"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_lumen_field",
"name": "Lumen Field",
"city": "Seattle",
"state": "WA",
"latitude": 47.5952,
"longitude": -122.3316,
"capacity": 68740,
"sport": "NWSL",
"primary_team_abbrevs": [
"RGN"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_snapdragon_stadium",
"name": "Snapdragon Stadium",
"city": "San Diego",
"state": "CA",
"latitude": 32.7839,
"longitude": -117.1224,
"capacity": 35000,
"sport": "NWSL",
"primary_team_abbrevs": [
"SDW"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_america_first_field",
"name": "America First Field",
"city": "Sandy",
"state": "UT",
"latitude": 40.5828,
"longitude": -111.8933,
"capacity": 20213,
"sport": "NWSL",
"primary_team_abbrevs": [
"UTA"
],
"year_opened": null
},
{
"canonical_id": "stadium_nwsl_audi_field",
"name": "Audi Field",
"city": "Washington",
"state": "DC",
"latitude": 38.8686,
"longitude": -77.0128,
"capacity": 20000,
"sport": "NWSL",
"primary_team_abbrevs": [
"WSH"
],
"year_opened": null
}
]