/
.bullshit.go
63 lines (54 loc) · 1.57 KB
/
.bullshit.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
package main
import (
"flag"
"fmt"
"github.com/ihsw/go-download/Cache"
"github.com/ihsw/go-download/Entity"
"github.com/ihsw/go-download/Entity/Character"
"github.com/ihsw/go-download/Misc"
"github.com/ihsw/go-download/Util"
"runtime"
"time"
)
func main() {
runtime.GOMAXPROCS(runtime.NumCPU())
configPath := flag.String("config", "", "Config path")
flag.Parse()
output := Util.Output{StartTime: time.Now()}
output.Write("Starting...")
// init
var (
err error
cacheClient Cache.Client
)
if cacheClient, _, _, err = Misc.Init(*configPath, false); err != nil {
output.Write(fmt.Sprintf("Misc.Init() fail: %s", err.Error()))
return
}
regionManager := Entity.NewRegionManager(cacheClient)
var regions []Entity.Region
if regions, err = regionManager.FindAll(); err != nil {
output.Write(fmt.Sprintf("RegionManager.FindAll() fail: %s", err.Error()))
return
}
characterCount := 0
for _, region := range regions {
realmManager := Entity.NewRealmManager(region, cacheClient)
var realms []Entity.Realm
if realms, err = realmManager.FindAll(); err != nil {
output.Write(fmt.Sprintf("RealmManager.FindAll() fail: %s", err.Error()))
return
}
for _, realm := range realms {
characterManager := Character.NewManager(realm, cacheClient)
var names []string
if names, err = characterManager.GetNames(); err != nil {
output.Write(fmt.Sprintf("CharacterManager.GetNames() fail: %s", err.Error()))
return
}
characterCount += len(names)
}
}
output.Write(fmt.Sprintf("Characters in the world: %d", characterCount))
output.Conclude()
}