From 13fc592d0a456a40b7499065a986ea5721aaead0 Mon Sep 17 00:00:00 2001 From: gempir Date: Sun, 18 Aug 2019 11:08:27 +0200 Subject: [PATCH] double check if we actually try to open a dir --- archiver/scanner.go | 74 ++++++++++++++++++++++++--------------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/archiver/scanner.go b/archiver/scanner.go index 09cde37..bd246f9 100644 --- a/archiver/scanner.go +++ b/archiver/scanner.go @@ -1,13 +1,12 @@ package archiver import ( + log "github.com/sirupsen/logrus" "io/ioutil" "os" "strconv" "strings" "time" - - log "github.com/sirupsen/logrus" ) func (a *Archiver) scanLogPath() { @@ -26,61 +25,66 @@ func (a *Archiver) scanLogPath() { yearFiles = a.filterFiles(yearFiles) for _, year := range yearFiles { - monthFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name()) - if err != nil { - log.Error(err) - } - - monthFiles = a.filterFiles(monthFiles) - - for _, month := range monthFiles { - dayFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name()) + if year.IsDir() { + monthFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name()) if err != nil { log.Error(err) } - dayFiles = a.filterFiles(dayFiles) + monthFiles = a.filterFiles(monthFiles) - for _, dayOrUserId := range dayFiles { - if dayOrUserId.IsDir() { - channelLogFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name()) + for _, month := range monthFiles { + if month.IsDir() { + dayFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name()) if err != nil { log.Error(err) } - channelLogFiles = a.filterFiles(channelLogFiles) + dayFiles = a.filterFiles(dayFiles) - for _, channelLogFile := range channelLogFiles { - if strings.HasSuffix(channelLogFile.Name(), ".txt") { - dayInt, err := strconv.Atoi(dayOrUserId.Name()) + for _, dayOrUserId := range dayFiles { + if dayOrUserId.IsDir() { + channelLogFiles, err := ioutil.ReadDir(a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name()) if err != nil { - log.Errorf("Failure converting day to int in scanner %s", err.Error()) + log.Error(err) + } + + channelLogFiles = a.filterFiles(channelLogFiles) + + for _, channelLogFile := range channelLogFiles { + if strings.HasSuffix(channelLogFile.Name(), ".txt") { + dayInt, err := strconv.Atoi(dayOrUserId.Name()) + if err != nil { + log.Errorf("Failure converting day to int in scanner %s", err.Error()) + continue + } + + if dayInt == int(time.Now().Day()) { + continue + } + + a.workQueue <- a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name() + "/" + channelLogFile.Name() + } + } + + } else if strings.HasSuffix(dayOrUserId.Name(), ".txt") { + monthInt, err := strconv.Atoi(month.Name()) + if err != nil { + log.Errorf("Failure converting month to int in scanner %s", err.Error()) continue } - if dayInt == int(time.Now().Day()) { + if monthInt == int(time.Now().Month()) { continue } - a.workQueue <- a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name() + "/" + channelLogFile.Name() + a.workQueue <- a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name() } } - - } else if strings.HasSuffix(dayOrUserId.Name(), ".txt") { - monthInt, err := strconv.Atoi(month.Name()) - if err != nil { - log.Errorf("Failure converting month to int in scanner %s", err.Error()) - continue - } - - if monthInt == int(time.Now().Month()) { - continue - } - - a.workQueue <- a.logPath + "/" + channelId.Name() + "/" + year.Name() + "/" + month.Name() + "/" + dayOrUserId.Name() } } } + } } }