mirror of
https://github.com/fabrice404/olympics-calendar.git
synced 2026-01-01 19:18:57 +00:00
update scraper to generate NOCs
This commit is contained in:
@ -61,6 +61,7 @@ const main = async () => {
|
|||||||
|
|
||||||
const sports: any = [];
|
const sports: any = [];
|
||||||
const events: any[] = [];
|
const events: any[] = [];
|
||||||
|
let nocs: any[] = [];
|
||||||
|
|
||||||
for (const lang of languages) {
|
for (const lang of languages) {
|
||||||
const scheduleOverview = await getScheduleOverview(lang.code);
|
const scheduleOverview = await getScheduleOverview(lang.code);
|
||||||
@ -80,13 +81,13 @@ const main = async () => {
|
|||||||
sport.order = discipline.order;
|
sport.order = discipline.order;
|
||||||
|
|
||||||
const scheduleSport = await getScheduleSport(lang.code, sport.key);
|
const scheduleSport = await getScheduleSport(lang.code, sport.key);
|
||||||
|
|
||||||
const scheduleList = scheduleSport.props.pageProps.page.items.find((item: any) => item.type === "module" && item.name === "scheduleList").data.schedules.map((schedule: any) => schedule.units).flat()
|
const scheduleList = scheduleSport.props.pageProps.page.items.find((item: any) => item.type === "module" && item.name === "scheduleList").data.schedules.map((schedule: any) => schedule.units).flat()
|
||||||
|
|
||||||
for (const scheduleListElement of scheduleList) {
|
for (const scheduleListElement of scheduleList) {
|
||||||
if (events.find(e => e.key === scheduleListElement.unitCode) == null) {
|
if (events.find(e => e.key === scheduleListElement.unitCode) == null) {
|
||||||
events.push({
|
events.push({
|
||||||
key: scheduleListElement.unitCode,
|
key: scheduleListElement.unitCode,
|
||||||
|
sport: sport.key,
|
||||||
start: scheduleListElement.startDateTimeUtc,
|
start: scheduleListElement.startDateTimeUtc,
|
||||||
end: scheduleListElement.endDateTimeUtc,
|
end: scheduleListElement.endDateTimeUtc,
|
||||||
isTraining: scheduleListElement.isTraining,
|
isTraining: scheduleListElement.isTraining,
|
||||||
@ -106,13 +107,25 @@ const main = async () => {
|
|||||||
}
|
}
|
||||||
event.match.team1.name[lang.code] = (scheduleListElement.match.team1.description || '').replace(/\,/gi, '');
|
event.match.team1.name[lang.code] = (scheduleListElement.match.team1.description || '').replace(/\,/gi, '');
|
||||||
event.match.team2.name[lang.code] = (scheduleListElement.match.team2.description || '').replace(/\,/gi, '');
|
event.match.team2.name[lang.code] = (scheduleListElement.match.team2.description || '').replace(/\,/gi, '');
|
||||||
|
|
||||||
|
|
||||||
|
for (const team of [scheduleListElement.match.team1, scheduleListElement.match.team2]) {
|
||||||
|
const nocKey = team.teamCode.replace(/[^A-Z]/gi, '');
|
||||||
|
if (nocs.find(n => n.key === nocKey) == null) {
|
||||||
|
nocs.push({ key: nocKey, name: {} });
|
||||||
|
}
|
||||||
|
const noc = nocs.find(n => n.key === nocKey);
|
||||||
|
noc.name[lang.code] = (team.description || '').replace(/\,/gi, '');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
cache.set('calendar.json', JSON.stringify({ languages, sports, events }));
|
nocs = nocs.filter((noc) => noc.key !== noc.name.en);
|
||||||
|
|
||||||
|
cache.set('calendar.json', JSON.stringify({ languages, sports, nocs, events }));
|
||||||
};
|
};
|
||||||
|
|
||||||
main();
|
main();
|
||||||
|
|||||||
20
scraper/package-lock.json
generated
20
scraper/package-lock.json
generated
@ -14,6 +14,9 @@
|
|||||||
"nodemon": "^3.1.11",
|
"nodemon": "^3.1.11",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/debug": "^4.1.12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@cspotcode/source-map-support": {
|
"node_modules/@cspotcode/source-map-support": {
|
||||||
@ -259,6 +262,16 @@
|
|||||||
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
"integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/debug": {
|
||||||
|
"version": "4.1.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz",
|
||||||
|
"integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/ms": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@types/estree": {
|
"node_modules/@types/estree": {
|
||||||
"version": "1.0.8",
|
"version": "1.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||||
@ -271,6 +284,13 @@
|
|||||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/ms": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "24.10.1",
|
"version": "24.10.1",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-24.10.1.tgz",
|
||||||
|
|||||||
@ -15,5 +15,8 @@
|
|||||||
"nodemon": "^3.1.11",
|
"nodemon": "^3.1.11",
|
||||||
"ts-node": "^10.9.2",
|
"ts-node": "^10.9.2",
|
||||||
"typescript": "^5.9.3"
|
"typescript": "^5.9.3"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@types/debug": "^4.1.12"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user