forked from justwatchcom/github-releases-notifier
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhelpers.go
56 lines (47 loc) · 1.19 KB
/
helpers.go
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
52
53
54
55
56
package main
import (
"github.com/go-kit/kit/log"
"github.com/go-kit/kit/log/level"
)
func buildWatchList(logger log.Logger, releases, tags []string) []RepoConfig {
repos := []RepoConfig{}
for _, r := range releases {
// check if repo already exists
if contains(repos, r) {
level.Debug(logger).Log("msg", "repo already exists in watchlist", "repo", r)
continue
}
repository := RepoConfig{
Name: r,
Releases: true,
}
level.Debug(logger).Log("msg", "appending release repo", "release", repository)
repos = append(repos, repository)
}
for i, t := range tags {
// check if repo already exists
if contains(repos, t) {
level.Debug(logger).Log("msg", "repo already exists in watchlist", "repo", t)
repository := repos[i]
repository.Tags = true
repos[i] = repository
level.Debug(logger).Log("msg", "updated repo", "repo", repos[i])
continue
}
repository := RepoConfig{
Name: t,
Tags: true,
}
level.Debug(logger).Log("msg", "appending tag repo", "repo", repository)
repos = append(repos, repository)
}
return repos
}
func contains(s []RepoConfig, r string) bool {
for _, a := range s {
if a.Name == r {
return true
}
}
return false
}