From fc0af6a9f3c4ce4cf64b47c05a60d186e0414c7e Mon Sep 17 00:00:00 2001 From: Kichiyaki Date: Sat, 10 Oct 2020 10:46:47 +0200 Subject: [PATCH] csv reader shouldn't return error about lazy quotes from now, lang versions are sorted alphabetically --- cron/handler.go | 2 +- cron/helpers.go | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/cron/handler.go b/cron/handler.go index 67bde8d..80d9113 100644 --- a/cron/handler.go +++ b/cron/handler.go @@ -145,7 +145,7 @@ func (h *handler) createSchema(server *models.Server) error { func (h *handler) getServers() ([]*models.Server, map[string]string, error) { log.Print("Loading servers...") langVersions := []*models.LangVersion{} - if err := h.db.Model(&langVersions).Relation("SpecialServers").Select(); err != nil { + if err := h.db.Model(&langVersions).Relation("SpecialServers").Order("tag ASC").Select(); err != nil { return nil, nil, errors.Wrap(err, "getServers") } diff --git a/cron/helpers.go b/cron/helpers.go index f3042d0..36f4bf1 100644 --- a/cron/helpers.go +++ b/cron/helpers.go @@ -16,13 +16,19 @@ var client = &http.Client{ Timeout: 20 * time.Second, } +func newCsvReader(r io.Reader) *csv.Reader { + csvReader := csv.NewReader(r) + csvReader.LazyQuotes = true + return csvReader +} + func uncompressAndReadCsvLines(r io.Reader) ([][]string, error) { uncompressedStream, err := gzip.NewReader(r) if err != nil { return [][]string{}, err } defer uncompressedStream.Close() - return csv.NewReader(uncompressedStream).ReadAll() + return newCsvReader(uncompressedStream).ReadAll() } func getCSVData(url string, compressed bool) ([][]string, error) { @@ -32,7 +38,7 @@ func getCSVData(url string, compressed bool) ([][]string, error) { } defer resp.Body.Close() if !compressed { - return csv.NewReader(resp.Body).ReadAll() + return newCsvReader(resp.Body).ReadAll() } return uncompressAndReadCsvLines(resp.Body) }