44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package core
|
|
|
|
import (
|
|
"flag"
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
type (
|
|
SeanimeFlags struct {
|
|
DataDir string
|
|
Update bool
|
|
IsDesktopSidecar bool
|
|
}
|
|
)
|
|
|
|
func GetSeanimeFlags() SeanimeFlags {
|
|
// Help flag
|
|
flag.Usage = func() {
|
|
fmt.Printf("Self-hosted, user-friendly, media server for anime and manga enthusiasts.\n\n")
|
|
fmt.Printf("Usage:\n seanime [flags]\n\n")
|
|
fmt.Printf("Flags:\n")
|
|
fmt.Printf(" -datadir, --datadir string")
|
|
fmt.Printf(" directory that contains all Seanime data\n")
|
|
fmt.Printf(" -update")
|
|
fmt.Printf(" update the application\n")
|
|
fmt.Printf(" -h show this help message\n")
|
|
}
|
|
// Parse flags
|
|
var dataDir string
|
|
flag.StringVar(&dataDir, "datadir", "", "Directory that contains all Seanime data")
|
|
var update bool
|
|
flag.BoolVar(&update, "update", false, "Update the application")
|
|
var isDesktopSidecar bool
|
|
flag.BoolVar(&isDesktopSidecar, "desktop-sidecar", false, "Run as the desktop sidecar")
|
|
flag.Parse()
|
|
|
|
return SeanimeFlags{
|
|
DataDir: strings.TrimSpace(dataDir),
|
|
Update: update,
|
|
IsDesktopSidecar: isDesktopSidecar,
|
|
}
|
|
}
|