sportclimbing / ifsc-calendar

IFSC Climbing iCal Calendar Builder
https://ifsc.stream/
MIT License
26 stars 1 forks source link

Everything just broke #7

Closed nicoSWD closed 3 months ago

nicoSWD commented 3 months ago

The IFSC just redesigned their entire site, breaking everything I built in the process 🥲. As of now, the old schedules are not available, but we have those already anyway.

Stopping calendar updates until further notice.

nicoSWD commented 3 months ago

Looks like some new APIs are available:

GET https://www.ifsc-climbing.org/api/dapi/events/all?dateFrom=$range(2023-01-01,2023-12-31)&$limit=100

Show response ```json { "pagination": { "maxItems": 100 }, "meta": { "apiVersion": "2.0", "generatedAt": "2024-03-22T13:22:38.1376179Z" }, "items": [ { "type": "customentity", "_translationId": "e8606202-6af1-4b0e-a93c-34c56db3a343", "_entityId": "02482397-c5b3-4885-bd22-e66b0d19cd31", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023", "slug": "ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023", "title": "IFSC Asia - Asian K Championships (B, L, S) - Jamshedpur (IND) 2023", "tags": [], "fields": { "verticalLifeEventId": "1382", "headline": "IFSC Asia - Asian K Championships (B, L, S) - Jamshedpur (IND) 2023", "description": "", "dateFrom": "2023-12-07T16:00:00Z", "dateTo": "2023-12-10T15:59:00Z", "venue": "Jamshedpur", "location": "Jamshedpur" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Nicholas De Pasquale", "lastUpdatedDate": "2023-12-06T17:07:24.384Z", "contentDate": "2023-12-06T17:07:24.384Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023/" }, { "type": "customentity", "_translationId": "f1246f00-7a44-4cfb-88ca-d644bcd327b2", "_entityId": "d34ec660-5e5c-47bd-9c38-001c086daf37", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-south-american-cup-mar-del-plata-2023", "slug": "ifsc-south-american-cup-mar-del-plata-2023", "title": "IFSC South American Cup Mar del Plata 2023", "tags": [], "fields": { "verticalLifeEventId": "1347", "headline": "IFSC South American Cup Mar del Plata 2023", "description": "", "dateFrom": "2023-12-15T03:00:00Z", "dateTo": "2023-12-18T02:59:00Z", "venue": "Mar del Plata", "location": "Mar del Plata" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Miriam Sibona", "lastUpdatedDate": "2024-01-19T10:16:37.807Z", "contentDate": "2023-12-06T17:07:24.262Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-south-american-cup-mar-del-plata-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-south-american-cup-mar-del-plata-2023/" }, { "type": "customentity", "_translationId": "3558b723-616c-462c-972d-05231cdaacdd", "_entityId": "f2fc394a-22f0-4210-97e0-001bc0844f9d", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-asian-cup-riyadh-2023", "slug": "ifsc-asian-cup-riyadh-2023", "title": "IFSC Asian Cup Riyadh 2023", "tags": [], "fields": { "verticalLifeEventId": "1344", "headline": "IFSC Asian Cup Riyadh 2023", "description": "", "dateFrom": "2023-12-11T21:00:00Z", "dateTo": "2023-12-16T20:59:00Z", "venue": "Riyadh", "location": "Riyadh" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Nicholas De Pasquale", "lastUpdatedDate": "2023-12-06T17:07:24.132Z", "contentDate": "2023-12-06T17:07:24.132Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-asian-cup-riyadh-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-asian-cup-riyadh-2023/" }, { "type": "customentity", "_translationId": "a4ac4c11-f802-4210-8d9c-4a133ca465ba", "_entityId": "a4d3525d-5ccf-4641-be51-a8e284f72e0e", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-oceania-qualifier-melbourne-2023", "slug": "ifsc-oceania-qualifier-melbourne-2023", "title": "IFSC Oceania Qualifier Melbourne 2023", "tags": [ { "_translationId": "8cb6e1bb-dbbc-4056-99b9-4ead0b8a665a", "_entityId": "50c5fe51-636f-4198-8508-d842ce1368cd", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/speed", "title": "Speed", "slug": "speed", "neutralSlug": "speed", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} }, { "_translationId": "7eaa905f-4d8b-4bb4-8a25-661381d57764", "_entityId": "8718d136-f0fc-4835-9b28-bd4c7bf8f169", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/boulder-lead", "title": "Boulder & Lead", "slug": "boulder-lead", "neutralSlug": "boulder-lead", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} } ], "fields": { "verticalLifeEventId": "1311", "headline": "IFSC Oceania Qualifier Melbourne 2023", "description": "", "dateFrom": "2023-11-23T14:00:00Z", "dateTo": "2023-11-26T13:59:00Z", "venue": "Melbourne", "location": "Melbourne", "showHighlights": true }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Nicholas De Pasquale", "lastUpdatedDate": "2023-11-30T15:15:21.979Z", "contentDate": "2023-11-30T10:54:52.852Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-oceania-qualifier-melbourne-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-oceania-qualifier-melbourne-2023/" }, { "type": "customentity", "_translationId": "d8a5e9a0-8704-4213-af4c-a227b3b91331", "_entityId": "6d80a71a-b787-4b9d-befb-5a86254c23f1", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-asian-qualifier-jakarta-2023", "slug": "ifsc-asian-qualifier-jakarta-2023", "title": "IFSC Asian Qualifier Jakarta 2023", "tags": [ { "_translationId": "8cb6e1bb-dbbc-4056-99b9-4ead0b8a665a", "_entityId": "50c5fe51-636f-4198-8508-d842ce1368cd", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/speed", "title": "Speed", "slug": "speed", "neutralSlug": "speed", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} }, { "_translationId": "7eaa905f-4d8b-4bb4-8a25-661381d57764", "_entityId": "8718d136-f0fc-4835-9b28-bd4c7bf8f169", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/boulder-lead", "title": "Boulder & Lead", "slug": "boulder-lead", "neutralSlug": "boulder-lead", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} } ], "fields": { "verticalLifeEventId": "1310", "headline": "IFSC Asian Qualifier Jakarta 2023", "description": "", "dateFrom": "2023-11-08T17:00:00Z", "dateTo": "2023-11-12T16:59:00Z", "venue": "Jakarta", "location": "Jakarta", "eventStatus": "Auto" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Marco Vettoretti", "lastUpdatedDate": "2024-03-12T22:56:30.898Z", "contentDate": "2023-11-30T10:54:38.19Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-asian-qualifier-jakarta-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-asian-qualifier-jakarta-2023/" }, { "type": "customentity", "_translationId": "abd2912e-e8b2-49ac-bb1b-dc1689c1fd79", "_entityId": "40f5fc27-176b-4af4-91da-a3d9052e7dd7", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-african-qualifier-pretoria-2023", "slug": "ifsc-african-qualifier-pretoria-2023", "title": "IFSC African Qualifier Pretoria 2023", "tags": [ { "_translationId": "8cb6e1bb-dbbc-4056-99b9-4ead0b8a665a", "_entityId": "50c5fe51-636f-4198-8508-d842ce1368cd", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/speed", "title": "Speed", "slug": "speed", "neutralSlug": "speed", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} }, { "_translationId": "7eaa905f-4d8b-4bb4-8a25-661381d57764", "_entityId": "8718d136-f0fc-4835-9b28-bd4c7bf8f169", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/tags/boulder-lead", "title": "Boulder & Lead", "slug": "boulder-lead", "neutralSlug": "boulder-lead", "externalSourceReference": {}, "extraData": { "tagType": "discipline" }, "fields": {} } ], "fields": { "verticalLifeEventId": "1312", "headline": "IFSC African Qualifier Pretoria 2023", "description": "", "dateFrom": "2023-12-06T22:00:00Z", "dateTo": "2023-12-09T21:59:00Z", "venue": "Pretoria", "location": "Loftus Versfeld Stadium" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Nicholas De Pasquale", "lastUpdatedDate": "2023-11-30T10:53:55.952Z", "contentDate": "2023-11-30T10:53:55.952Z", "featured": 0, "entityCode": "event", "thumbnail": { "title": "no_image_available", "templateUrl": "", "format": "", "slug": "no_image_available" }, "eventslug": "ifsc-african-qualifier-pretoria-2023", "url": "https://www.ifsc-climbing.org/events/ifsc-african-qualifier-pretoria-2023/" } ] } ```

GET https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023

Show response ```json { "type": "customentity", "_translationId": "e8606202-6af1-4b0e-a93c-34c56db3a343", "_entityId": "02482397-c5b3-4885-bd22-e66b0d19cd31", "selfUrl": "https://dapi.ifsc-climbing.org/v2/content/en-gb/events/ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023", "slug": "ifsc-asia-asian-k-championships-b-l-s-jamshedpur-ind-2023", "title": "IFSC Asia - Asian K Championships (B, L, S) - Jamshedpur (IND) 2023", "tags": [], "relations": [], "references": {}, "fields": { "verticalLifeEventId": "1382", "headline": "IFSC Asia - Asian K Championships (B, L, S) - Jamshedpur (IND) 2023", "description": "", "dateFrom": "2023-12-07T16:00:00Z", "dateTo": "2023-12-10T15:59:00Z", "venue": "Jamshedpur", "location": "Jamshedpur" }, "createdBy": "Nicholas De Pasquale", "lastUpdatedBy": "Nicholas De Pasquale", "lastUpdatedDate": "2023-12-06T17:07:24.384Z", "contentDate": "2023-12-06T17:07:24.384Z", "featured": 0, "entityCode": "event", "_listAvailability": 0 } ```
nicoSWD commented 3 months ago

The new calendar is a lot prettier, but also a lot less useful at the current stage.

nicoSWD commented 3 months ago
POST /events/ifsc-european-championships-villars-2024/result/index HTTP/2
Host: www.ifsc-climbing.org
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:123.0) Gecko/20100101 Firefox/123.0
Accept: text/x-component
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: https://www.ifsc-climbing.org/events/ifsc-european-championships-villars-2024/result/index
Next-Action: efa2fa106f24654dd09188f3c815302653521600
Next-Router-State-Tree: %5B%22%22%2C%7B%22children%22%3A%5B%5B%22pageName%22%2C%22events%2Fifsc-european-championships-villars-2024%2Fresult%2Findex%22%2C%22oc%22%5D%2C%7B%22children%22%3A%5B%22__PAGE__%22%2C%7B%7D%5D%7D%5D%7D%2Cnull%2Cnull%2Ctrue%5D
Content-Type: text/plain;charset=UTF-8
Content-Length: 28
Origin: https://www.ifsc-climbing.org

[{"event_id":1381,"id":225}]
Show response ```json { "data": { "event": "IFSC European Championships Villars 2024", "dcat": "LEAD Men", "status": "registration_pending", "status_as_of": "2023-11-03 07:20:42 UTC", "ranking_as_of": "NA", "category_rounds": [ { "category_round_id": 8708, "kind": "lead", "name": "Qualification", "category": "Men", "schedule": null, "status": "pending", "status_as_of": "2023-11-03 07:20:42 UTC", "result_url": "/api/v1/category_rounds/8708/results", "starting_groups": [], "combined_stages": [], "format": "IFSC: 2 routes", "routes": [ { "id": 11991, "name": "1", "startlist": "/api/v1/routes/11991/startlist", "ranking": "/api/v1/routes/11991/results" }, { "id": 11992, "name": "2", "startlist": "/api/v1/routes/11992/startlist", "ranking": "/api/v1/routes/11992/results" } ] } ], "ranking": null } } ```
nicoSWD commented 3 months ago

Old APIs are still operational

https://github.com/sportclimbing/ifsc-calendar/blob/main/resources/docs/ifsc-api.md

nicoSWD commented 3 months ago

If the schedules become available (which they likely will), parsing the new format could be a lot easier if they're more standardized (eg not fat-fingered by an IFSC employee into a 36k € Drupal CMS)

image
nicoSWD commented 3 months ago

IFSC news RSS feed broke too

nicoSWD commented 3 months ago

Whatever the f this is... https://react-fe-en.ifsc-dev.deltatre.digital/

nicoSWD commented 3 months ago

How to disable stuff in prod

image
nicoSWD commented 3 months ago

New tech:

nicoSWD commented 3 months ago

New video page: https://www.ifsc-climbing.org/videos/index

Only highlights as it seems, though. And pagination does not work

nicoSWD commented 3 months ago

Not much I can do right now. I'll have to wait until schedules become available to see the new format and think of a new strategy.

I'll update the parser to fetch date ranges for events soon in the meanwhile.

nicoSWD commented 3 months ago

https://github.com/sportclimbing/ifsc-calendar/pull/8