diff --git a/directory.go b/directory.go index e969b5f..c6db12f 100644 --- a/directory.go +++ b/directory.go @@ -334,7 +334,7 @@ func GetDirectory(letter rune) ([]Entry, error) { return entries, nil } -func GetFullEntryCached(id string) (*FullEntry, error) { +func GetFullEntryCached(id string) (*FullEntry, bool, error) { key := fmt.Sprintf("entry:%s", id) // Check if cached @@ -365,13 +365,13 @@ func GetFullEntryCached(id string) (*FullEntry, error) { // If cached, return it if cached { - return &entry, nil + return &entry, true, nil } // If not cached, get it entryPtr, err := GetFullEntry(id) if err != nil { - return nil, err + return nil, false, err } // Cache it @@ -391,7 +391,7 @@ func GetFullEntryCached(id string) (*FullEntry, error) { log.Error().Err(err).Msg("Failed to save to cache") } - return entryPtr, nil + return entryPtr, false, nil } func GetFullEntry(id string) (*FullEntry, error) { diff --git a/main.go b/main.go index a9e602c..b64c0c4 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "encoding/json" + "flag" "net/http" "net/http/cookiejar" "net/url" @@ -165,7 +166,7 @@ func main() { for entry := range incompleteEntries { log.Debug().Str("name", entry.Name).Msg("Processing Entry") - fullEntry, err := GetFullEntryCached(entry.Id) + fullEntry, cached, err := GetFullEntryCached(entry.Id) if err != nil { log.Fatal().Err(err).Msg("Failed to get full entry") } @@ -174,6 +175,10 @@ func main() { log.Warn().Str("name", fullEntry.Name).Msg("Entry has no email") continue } + + if !cached { + log.Info().Str("name", fullEntry.Name).Str("email", fullEntry.Email).Msg("New Email Found") + } log.Debug().Str("name", fullEntry.Name).Str("email", fullEntry.Email).Msg("Entry Processed") entries <- fullEntry.Email }