Update config logic to use ohea/golang/config
This commit is contained in:
@@ -7,12 +7,11 @@ import (
|
||||
_ "github.com/mattn/go-sqlite3"
|
||||
"github.com/op/go-logging"
|
||||
|
||||
"github.com/restitux/ikinuki-server/config"
|
||||
"github.com/restitux/ikinuki-server/database"
|
||||
"github.com/restitux/ikinuki-server/rest"
|
||||
"gitlab.com/ohea/golang/config"
|
||||
)
|
||||
|
||||
|
||||
func get_data_dir() string {
|
||||
// Find data directory
|
||||
|
||||
@@ -27,12 +26,14 @@ func get_data_dir() string {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
var log = logging.MustGetLogger("ikinuki-server")
|
||||
|
||||
type Config struct {
|
||||
Address string
|
||||
Port int
|
||||
ScanDirectory string
|
||||
}
|
||||
|
||||
func main() {
|
||||
var format = logging.MustStringFormatter(
|
||||
`%{color}%{time:15:04:05.000} %{level:.4s}:%{color:reset} %{message}`,
|
||||
@@ -45,31 +46,36 @@ func main() {
|
||||
|
||||
logging.SetBackend(backendLeveled)
|
||||
|
||||
config_dir := config.GetConfigDir()
|
||||
configData := config.Config[Config]{
|
||||
Name: "ikinuki",
|
||||
Filename: "server",
|
||||
Config: Config{
|
||||
Address: "127.0.0.1",
|
||||
Port: 32520,
|
||||
ScanDirectory: "FILL IN",
|
||||
},
|
||||
}
|
||||
|
||||
config, err := config.GetConfig(config_dir)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
ret, err := configData.Get()
|
||||
if ret == true {
|
||||
log.Warningf("Created config file at %v, please edit and launch again\n", *configData.ConfigFile)
|
||||
}
|
||||
if config == nil {
|
||||
log.Warningf("Created config file at %v, please edit and launch again\n", config_dir)
|
||||
os.Exit(0)
|
||||
}
|
||||
log.Debugf("Config: %v\n", config)
|
||||
|
||||
data_dir := get_data_dir()
|
||||
|
||||
db, err := database.OpenDatabase(data_dir)
|
||||
db, is_new, err := database.OpenDatabase(data_dir)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not open database: %v", err)
|
||||
}
|
||||
defer db.Close()
|
||||
|
||||
err = database.ScanTvshowRoot(config.ScanDirectory, db)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not scan directory \"%v\": %v\n", config.ScanDirectory, err)
|
||||
if is_new {
|
||||
err = database.ScanTvshowRoot(configData.Config.ScanDirectory, db)
|
||||
if err != nil {
|
||||
log.Fatalf("Could not scan directory \"%v\": %v\n", configData.Config.ScanDirectory, err)
|
||||
}
|
||||
}
|
||||
|
||||
rest.RunHTTPServer(config.Address, config.Port, data_dir)
|
||||
rest.RunHTTPServer(configData.Config.Address, configData.Config.Port, data_dir)
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user