fix(import): prefer seasonal mannschaften csv for tables
This commit is contained in:
@@ -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)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user