From bf5001fe2b4d5417e4419cc2195754371fcef03c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20=27Necoro=27=20Neumann?= Date: Mon, 22 Feb 2021 23:06:39 +0100 Subject: Improve naming --- internal/feed/cache/cache.go | 12 ++++++------ internal/feed/cache/cache_v1.go | 7 +++++-- internal/feed/cache/state.go | 4 ++-- tools/print-cache/print-cache.go | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/internal/feed/cache/cache.go b/internal/feed/cache/cache.go index e7fe673..e69e8f3 100644 --- a/internal/feed/cache/cache.go +++ b/internal/feed/cache/cache.go @@ -50,7 +50,7 @@ type CachedFeed interface { Feed() *feed.Feed } -func cacheForVersion(version Version) (Impl, error) { +func forVersion(version Version) (Impl, error) { switch version { case v1Version: return newV1Cache(), nil @@ -124,8 +124,8 @@ func (cache *Cache) Unlock() error { return nil } -func newCache() (Cache, error) { - cache, err := cacheForVersion(currentVersion) +func create() (Cache, error) { + cache, err := forVersion(currentVersion) if err != nil { return Cache{}, err } @@ -135,12 +135,12 @@ func newCache() (Cache, error) { }, nil } -func LoadCache(fileName string) (Cache, error) { +func Load(fileName string) (Cache, error) { f, err := os.Open(fileName) if err != nil { if errors.Is(err, os.ErrNotExist) { // no cache there yet -- make new - return newCache() + return create() } return Cache{}, fmt.Errorf("opening cache at '%s': %w", fileName, err) } @@ -159,7 +159,7 @@ func LoadCache(fileName string) (Cache, error) { return Cache{}, fmt.Errorf("reading from '%s': %w", fileName, err) } - cache, err := cacheForVersion(Version(version)) + cache, err := forVersion(Version(version)) if err != nil { return Cache{}, err } diff --git a/internal/feed/cache/cache_v1.go b/internal/feed/cache/cache_v1.go index d754b00..439846f 100644 --- a/internal/feed/cache/cache_v1.go +++ b/internal/feed/cache/cache_v1.go @@ -208,7 +208,7 @@ func (cache *v1Cache) cachedFeed(f *feed.Feed) CachedFeed { return cf } -func newCachedItem(item *feed.Item) cachedItem { +func (cf *cachedFeed) cachedItem(item *feed.Item) cachedItem { var ci cachedItem ci.ID = item.ID @@ -245,8 +245,11 @@ func (cf *cachedFeed) Filter(items []feed.Item, ignoreHash, alwaysNew bool) []fe cacheItems := make(map[cachedItem]*feed.Item, len(items)) for idx := range items { + i := &items[idx] + ci := cf.cachedItem(i) + // remove complete duplicates on the go - cacheItems[newCachedItem(&items[idx])] = &items[idx] + cacheItems[ci] = i } log.Debugf("%d items after deduplication", len(cacheItems)) diff --git a/internal/feed/cache/state.go b/internal/feed/cache/state.go index c2e7de8..1c911d7 100644 --- a/internal/feed/cache/state.go +++ b/internal/feed/cache/state.go @@ -43,9 +43,9 @@ func (state *State) LoadCache(fileName string, forceNew bool) error { ) if forceNew { - cache, err = newCache() + cache, err = create() } else { - cache, err = LoadCache(fileName) + cache, err = Load(fileName) } if err != nil { diff --git a/tools/print-cache/print-cache.go b/tools/print-cache/print-cache.go index b3be0bf..c00bf51 100644 --- a/tools/print-cache/print-cache.go +++ b/tools/print-cache/print-cache.go @@ -22,7 +22,7 @@ func init() { func main() { flag.Parse() - cache, err := cache.LoadCache(cacheFile) + cache, err := cache.Load(cacheFile) if err != nil { log.Fatal(err) } -- cgit v1.2.3