aboutsummaryrefslogtreecommitdiff
path: root/internal/feed
diff options
context:
space:
mode:
authorRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-01 14:29:30 +0200
committerRené 'Necoro' Neumann <necoro@necoro.eu>2020-05-01 14:29:30 +0200
commit253fef43021c14a7fd6f2ac3a377c34cd47cb8f6 (patch)
treeb3bf3ae2bf623883f77a6044ee69a1820ddb07d6 /internal/feed
parent5d462ef47217c98b487bd6c1eaffb0630525ba92 (diff)
downloadfeed2imap-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/feed')
-rw-r--r--internal/feed/cache.go6
-rw-r--r--internal/feed/state.go14
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
}
f connectionsRené 'Necoro' Neumann2-19/+12 2023-06-04ChangelogRené 'Necoro' Neumann1-0/+4 2023-06-04Add new config option to set max number of IMAP connections.René 'Necoro' Neumann5-20/+26 2023-06-04Improve locking around IMAP connect/disconnect.René 'Necoro' Neumann1-10/+26 2023-05-20Bump golang.org/x/net from 0.9.0 to 0.10.0dependabot[bot]2-2/+3 2023-05-12Amend changelogRené 'Necoro' Neumann1-0/+1 2023-05-12Issue #95 Add warning when config can be read globally.René 'Necoro' Neumann1-0/+11 2023-05-11Issue #95: Change cache ownership.René 'Necoro' Neumann1-0/+4 2023-05-11Issue #95: Add hint about sensible access rights.René 'Necoro' Neumann1-0/+1 2023-04-23[workflow] Port changes also to releaseRené 'Necoro' Neumann1-6/+5 2023-04-23[workflow] Checkout before go setupRené 'Necoro' Neumann1-3/+3 2023-04-23[workflow] determine go version from go.modRené 'Necoro' Neumann1-3/+2 2023-04-23Improve test to also validate error messageRené 'Necoro' Neumann1-42/+39 2023-04-22Fix/improve testsRené 'Necoro' Neumann1-59/+104 2023-04-22Improve error handlingRené 'Necoro' Neumann1-1/+11 2023-04-21Fix workflow: '1.20' needs to be quotedRené 'Necoro' Neumann2-2/+2