Files
OpenMediaCenter/apiGo/main.go
T

64 lines
1.3 KiB
Go
Raw Normal View History

2021-02-23 16:01:29 +00:00
package main
import (
"flag"
2021-02-23 16:01:29 +00:00
"fmt"
"openmediacenter/apiGo/api"
2021-09-16 22:38:28 +02:00
api2 "openmediacenter/apiGo/api/api"
2021-09-06 20:20:33 +02:00
"openmediacenter/apiGo/config"
2021-02-23 16:01:29 +00:00
"openmediacenter/apiGo/database"
"openmediacenter/apiGo/housekeeping"
2021-04-02 17:04:15 +00:00
"openmediacenter/apiGo/static"
"openmediacenter/apiGo/videoparser"
2021-09-21 10:45:52 +02:00
"os"
"os/signal"
2021-02-23 16:01:29 +00:00
)
func main() {
fmt.Println("init OpenMediaCenter server")
2021-09-21 10:45:52 +02:00
const port uint16 = 8081
errc := make(chan error, 1)
2021-02-23 16:01:29 +00:00
housekPTr := flag.Bool("HouseKeeping", false, "Run housekeeping tasks")
2021-09-06 20:20:33 +02:00
config.Init()
2021-09-09 23:33:04 +02:00
// todo some verbosity logger or sth
fmt.Printf("Use verbose output: %t\n", config.GetConfig().General.VerboseLogging)
fmt.Printf("Videopath prefix: %s\n", config.GetConfig().General.ReindexPrefix)
2021-02-23 16:01:29 +00:00
err := database.InitDB()
if err != nil {
errc <- err
}
2021-02-23 16:01:29 +00:00
defer database.Close()
// check if we should run the housekeeping tasks
if *housekPTr {
housekeeping.RunHouseKeepingTasks()
return
}
2021-09-21 10:45:52 +02:00
api.AddHandlers()
2021-02-23 16:01:29 +00:00
videoparser.SetupSettingsWebsocket()
videoparser.InitFileWatcher()
2021-04-02 17:04:15 +00:00
// add the static files
static.ServeStaticFiles()
2021-09-21 10:45:52 +02:00
// init api
go func() {
errc <- api2.ServerInit(port)
}()
2021-04-02 17:04:15 +00:00
2021-09-21 10:45:52 +02:00
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, os.Interrupt)
select {
case err := <-errc:
fmt.Printf("failed to serve: %v\n", err)
case sig := <-sigs:
fmt.Printf("terminating server: %v\n", sig)
}
2021-02-23 16:01:29 +00:00
}