-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathrightana.go
49 lines (43 loc) · 1.99 KB
/
rightana.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
package main
import (
"os"
"gopkg.in/alecthomas/kingpin.v2"
)
var (
app = kingpin.New("rightana", "Rightana - open source web analytics.")
serve = app.Command("serve", "Serve")
seed = app.Command("seed", "Seed")
seedCollectionID = seed.Arg("id", "Collection's ID").Required().String()
seedCount = seed.Arg("count", "Session Count").Required().Int()
netseed = app.Command("netseed", "Network Seed")
netseedServer = netseed.Arg("server", "Server address (eg http://localhost:3000)").Required().String()
netseedCollectionID = netseed.Arg("id", "Collection's ID").Required().String()
netseedCount = netseed.Arg("count", "Session Count").Required().Int()
register = app.Command("register", "Register a new user.")
registerEmail = register.Arg("email", "Email for user.").Required().String()
registerName = register.Arg("name", "Username for user.").Required().String()
passwd = app.Command("passwd", "Change user password")
passwdName = passwd.Arg("name", "username for user.").Required().String()
createCollection = app.Command("create-collection", "Create a collection")
createCollectionID = createCollection.Arg("id", "Collection's ID").Required().String()
createCollectionName = createCollection.Arg("name", "Collection's name").Required().String()
createCollectionUser = createCollection.Arg("user", "Owner's username").Required().String()
)
func main() {
app.Version("0.4.1")
app.UsageTemplate(kingpin.CompactUsageTemplate)
switch kingpin.MustParse(app.Parse(os.Args[1:])) {
case "serve":
Serve()
case "seed":
Seed(*seedCollectionID, *seedCount)
case "netseed":
NetSeed(*netseedServer, *netseedCollectionID, *netseedCount)
case "register":
RegisterUser(*registerEmail, *registerName)
case "passwd":
ChangePassword(*passwdName)
case "create-collection":
CreateCollection(*createCollectionID, *createCollectionName, *createCollectionUser)
}
}