From 290207a8c1c63057162875ee959a5d1921969fde Mon Sep 17 00:00:00 2001 From: MobilettoSoft Date: Sat, 4 Oct 2025 18:36:06 +0200 Subject: [PATCH] Pun: fix zip parsing (#24054) --- tariff/pun.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tariff/pun.go b/tariff/pun.go index 6b76c4c7a..6bac5468b 100644 --- a/tariff/pun.go +++ b/tariff/pun.go @@ -151,12 +151,18 @@ func (t *Pun) getData(day time.Time) (api.Rates, error) { return nil, err } - if len(zipReader.File) != 1 { - return nil, fmt.Errorf("unexpected number of files in the ZIP archive") + var tariffFile *zip.File + for _, file := range zipReader.File { + if strings.HasSuffix(file.Name, "Prezzi.xml") { + tariffFile = file + break + } + } + if tariffFile == nil { + return nil, fmt.Errorf("tariff file not found in downloaded ZIP archive") } - zipFile := zipReader.File[0] - f, err := zipFile.Open() + f, err := tariffFile.Open() if err != nil { return nil, err }