aboutsummaryrefslogtreecommitdiff
path: root/internal/feed/feed.go
blob: cd906a2d17420286a03cd08dbc347bf165146760 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package feed

import (
	"fmt"
	"strings"

	"github.com/mmcdole/gofeed"

	"github.com/Necoro/feed2imap-go/internal/config"
)

type Feed struct {
	Name   string
	Target []string
	Url    string
	config.Options
	feed  *gofeed.Feed
	items []feeditem
}

type feeditem struct {
	*gofeed.Feed
	*gofeed.Item
}

type Feeds map[string]*Feed

func (f Feeds) String() string {
	var b strings.Builder
	app := func(a ...interface{}) {
		_, _ = fmt.Fprint(&b, a...)
	}
	app("Feeds [")

	first := true
	for k, v := range f {
		if !first {
			app(", ")
		}
		app(`"`, k, `"`, ": ")
		if v == nil {
			app("<nil>")
		} else {
			_, _ = fmt.Fprintf(&b, "%+v", *v)
		}
		first = false
	}
	app("]")

	return b.String()
}
0ded9a3f4529840546290500e54&follow=1'>Improve changelogRené 'Necoro' Neumann1-2/+4 2023-06-05IMAP client does not need to know about max number of 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 Default is 5 (as was the hard-coded value before). Closes issue #98. 2023-06-04Improve locking around IMAP connect/disconnect.René 'Necoro' Neumann1-10/+26 This ensures that no connect happens _after_ a disconnect has been issued. Closes issue #97. 2023-05-20Bump golang.org/x/net from 0.9.0 to 0.10.0dependabot[bot]2-2/+3 Bumps [golang.org/x/net](https://github.com/golang/net) from 0.9.0 to 0.10.0. - [Commits](https://github.com/golang/net/compare/v0.9.0...v0.10.0) --- updated-dependencies: - dependency-name: golang.org/x/net dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> 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 There is no need for the cache to be accessible by anyone who is not us. Thus enforce the cache to be stored with 0600. 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