forked from Kemonozume/nzbcrawler
/
main.go
50 lines (40 loc) · 1.11 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
package main
import (
"database/sql"
"./mydb"
"./town"
"./webserv"
_ "code.google.com/p/go-sqlite/go1/sqlite3"
"github.com/coopernurse/gorp"
"github.com/dvirsky/go-pylog/logging"
"github.com/robfig/config"
)
const (
DUMP = 0
)
func main() {
//db access for releases
db, err := sql.Open("sqlite3", "./release.db")
if err != nil {
panic(err.Error())
}
reldb := &gorp.DbMap{Db: db, Dialect: gorp.SqliteDialect{}}
reldb.AddTableWithName(town.Release{}, "release").SetKeys(false, "Checksum").ColMap("Checksum").SetUnique(true).SetNotNull(true)
reldb.CreateTablesIfNotExists()
//db for logs
//different database cause of locks with high log frequency
dblog, err := sql.Open("sqlite3", "./logs.db")
dbmap := &gorp.DbMap{Db: dblog, Dialect: gorp.SqliteDialect{}}
dbmap.AddTableWithName(mydb.Log{}, "log").SetKeys(true, "Uid")
dbmap.CreateTablesIfNotExists()
logdb := mydb.DBLog{DB: dbmap}
if err != nil {
panic(err.Error())
}
logging.SetOutput(logdb)
//read config file
c, _ := config.ReadDefault("default.ini")
//webserver
serv := &webserv.Server{Config: c, RelDB: reldb, LogDB: dbmap}
serv.Init()
}