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