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
}
async function resolveMannschaftenCsvPath() {
const candidates = [
getServerDataPath('public-data', 'mannschaften.csv'),
getServerDataPath('mannschaften.csv'),
getProjectPath('.output', 'public', 'data', 'mannschaften.csv'),
getProjectPath('public', 'data', 'mannschaften.csv')
]
async function resolveMannschaftenCsvPath(seasonSlug) {
const seasonalName = sanitizeSeasonSlug(seasonSlug) ? `mannschaften_${seasonSlug}.csv` : null
const fileNames = seasonalName ? [seasonalName, 'mannschaften.csv'] : ['mannschaften.csv']
const candidates = []
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) {
if (await fileExists(candidate)) return candidate
@@ -204,7 +210,7 @@ async function fetchTable(url) {
export async function importLeagueTables(options = {}) {
const today = options.today ?? new Date()
const season = getSpieljahrForDate(today)
const csvPath = await resolveMannschaftenCsvPath()
const csvPath = await resolveMannschaftenCsvPath(season.seasonSlug)
const csvContent = await fs.readFile(csvPath, 'utf8')
const teams = extractRowsWithTableUrl(csvContent)