-
Notifications
You must be signed in to change notification settings - Fork 0
/
main.go
81 lines (72 loc) · 1.5 KB
/
main.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
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package main
import (
"errors"
"os"
"github.com/ismdeep/station-data/archiver"
"github.com/ismdeep/station-data/pkg/blog"
)
var allInstances []blog.BloggerInterface
func init() {
allInstances = []blog.BloggerInterface{
&blog.ShellHacks{},
&blog.BogomolovTech{},
&blog.CoolShell{},
&blog.Cybartist{},
&blog.GoDev{},
&blog.LeovanMe{},
&blog.LogRocket{},
&blog.Solidot{},
&blog.WhyDegree{},
&blog.MorningSpace{},
&blog.DunWu{},
&blog.DonaldFeury{},
&blog.EltonMinetto{},
&blog.LiamPage{},
&blog.Akarin{},
&blog.Qiwsir{},
&blog.Izsk{},
&blog.Zzbd{},
&blog.Johnj{},
&blog.RaphLinus{},
&blog.BetterProgrammingPub{},
&blog.Kaixin{},
&blog.ArthurChiaoArt{},
&blog.Imbajin{},
&blog.MikelEvins{},
&blog.MeituanTech{},
&blog.B303248153{},
&blog.IOMeter{},
&blog.Antonz{},
&blog.BouKe{},
&blog.KeldosMe{},
&blog.Evilsocket{},
}
}
func Instances(sources []string) []blog.BloggerInterface {
if len(sources) <= 0 {
return allInstances
}
m := make(map[string]bool)
for _, source := range sources {
m[source] = true
}
var lst []blog.BloggerInterface
for _, instance := range allInstances {
if _, ok := m[instance.GetBloggerName()]; ok {
lst = append(lst, instance)
}
}
return lst
}
func main() {
instances := Instances(os.Args[1:])
var errLst []error
for _, instance := range instances {
if err := archiver.Archive(instance); err != nil {
errLst = append(errLst, err)
}
}
if err := errors.Join(errLst...); err != nil {
panic(err)
}
}