fix(import): prefer seasonal mannschaften csv for tables
All checks were successful
Code Analysis and Production Deploy / analyze (push) Successful in 2m44s
Code Analysis and Production Deploy / deploy-production (push) Has been skipped
Code Analysis and Production Deploy / deploy-test (push) Successful in 2m0s

This commit is contained in:
Torsten Schulz (local)
2026-05-20 18:58:46 +02:00
parent 84536956c4
commit fd83b18642

View File

@@ -136,13 +136,19 @@ function sanitizeSeasonSlug(value) {
return /^\d{2}--\d{2}$/.test(seasonSlug) ? seasonSlug : null return /^\d{2}--\d{2}$/.test(seasonSlug) ? seasonSlug : null
} }
async function resolveMannschaftenCsvPath() { async function resolveMannschaftenCsvPath(seasonSlug) {
const candidates = [ const seasonalName = sanitizeSeasonSlug(seasonSlug) ? `mannschaften_${seasonSlug}.csv` : null
getServerDataPath('public-data', 'mannschaften.csv'), const fileNames = seasonalName ? [seasonalName, 'mannschaften.csv'] : ['mannschaften.csv']
getServerDataPath('mannschaften.csv'),
getProjectPath('.output', 'public', 'data', 'mannschaften.csv'), const candidates = []
getProjectPath('public', 'data', 'mannschaften.csv') for (const fileName of fileNames) {
] candidates.push(
getServerDataPath('public-data', fileName),
getServerDataPath(fileName),
getProjectPath('.output', 'public', 'data', fileName),
getProjectPath('public', 'data', fileName)
)
}
for (const candidate of candidates) { for (const candidate of candidates) {
if (await fileExists(candidate)) return candidate if (await fileExists(candidate)) return candidate
@@ -204,7 +210,7 @@ async function fetchTable(url) {
export async function importLeagueTables(options = {}) { export async function importLeagueTables(options = {}) {
const today = options.today ?? new Date() const today = options.today ?? new Date()
const season = getSpieljahrForDate(today) const season = getSpieljahrForDate(today)
const csvPath = await resolveMannschaftenCsvPath() const csvPath = await resolveMannschaftenCsvPath(season.seasonSlug)
const csvContent = await fs.readFile(csvPath, 'utf8') const csvContent = await fs.readFile(csvPath, 'utf8')
const teams = extractRowsWithTableUrl(csvContent) const teams = extractRowsWithTableUrl(csvContent)