diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-01 14:29:30 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-01 14:29:30 +0200 |
commit | 253fef43021c14a7fd6f2ac3a377c34cd47cb8f6 (patch) | |
tree | b3bf3ae2bf623883f77a6044ee69a1820ddb07d6 /internal | |
parent | 5d462ef47217c98b487bd6c1eaffb0630525ba92 (diff) | |
download | feed2imap-go-253fef43021c14a7fd6f2ac3a377c34cd47cb8f6.tar.gz feed2imap-go-253fef43021c14a7fd6f2ac3a377c34cd47cb8f6.tar.bz2 feed2imap-go-253fef43021c14a7fd6f2ac3a377c34cd47cb8f6.zip |
New options --build-cache and --dry-run
Closes #11
Diffstat (limited to 'internal')
-rw-r--r-- | internal/feed/cache.go | 6 | ||||
-rw-r--r-- | internal/feed/state.go | 14 |
2 files changed, 17 insertions, 3 deletions
diff --git a/internal/feed/cache.go b/internal/feed/cache.go index df7559b..0b2f905 100644 --- a/internal/feed/cache.go +++ b/internal/feed/cache.go @@ -70,12 +70,16 @@ func storeCache(cache Cache, fileName string) error { return nil } +func newCache() (Cache, error) { + return cacheForVersion(currentVersion) +} + func loadCache(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 cacheForVersion(currentVersion) + return newCache() } return nil, fmt.Errorf("opening cache at '%s': %w", fileName, err) } diff --git a/internal/feed/state.go b/internal/feed/state.go index 154fafd..a060a77 100644 --- a/internal/feed/state.go +++ b/internal/feed/state.go @@ -34,8 +34,18 @@ func (state *State) ForeachGo(goFunc func(*Feed)) { wg.Wait() } -func (state *State) LoadCache(fileName string) error { - cache, err := loadCache(fileName) +func (state *State) LoadCache(fileName string, forceNew bool) error { + var ( + cache Cache + err error + ) + + if forceNew { + cache, err = newCache() + } else { + cache, err = loadCache(fileName) + } + if err != nil { return err } |