Update config logic to use ohea/golang/config

This commit is contained in:
2022-09-14 18:36:36 -06:00
parent bb9fe550ad
commit 2087cf2c03
4 changed files with 44 additions and 120 deletions
+26 -20
View File
@@ -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)
}