]> Sergey Matveev's repositories - btrtrc.git/blob - metainfo/announcelist.go
Fix #247
[btrtrc.git] / metainfo / announcelist.go
1 package metainfo
2
3 type AnnounceList [][]string
4
5 // Whether the AnnounceList should be preferred over a single URL announce.
6 func (al AnnounceList) OverridesAnnounce(announce string) bool {
7         for _, tier := range al {
8                 for _, url := range tier {
9                         if url != "" || announce == "" {
10                                 return true
11                         }
12                 }
13         }
14         return false
15 }
16
17 func (al AnnounceList) DistinctValues() (ret map[string]struct{}) {
18         for _, tier := range al {
19                 for _, v := range tier {
20                         if ret == nil {
21                                 ret = make(map[string]struct{})
22                         }
23                         ret[v] = struct{}{}
24                 }
25         }
26         return
27 }