one more quick refactor
This commit is contained in:
+5
-8
@@ -16,10 +16,6 @@ import (
|
|||||||
"github.com/zalando/go-keyring"
|
"github.com/zalando/go-keyring"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
|
||||||
configFile = "config.toml"
|
|
||||||
)
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
ErrNoServers = errors.New("no servers set up")
|
ErrNoServers = errors.New("no servers set up")
|
||||||
)
|
)
|
||||||
@@ -35,12 +31,13 @@ type App struct {
|
|||||||
|
|
||||||
appName string
|
appName string
|
||||||
appVersionTag string
|
appVersionTag string
|
||||||
|
configFile string
|
||||||
bgrndCtx context.Context
|
bgrndCtx context.Context
|
||||||
cancel context.CancelFunc
|
cancel context.CancelFunc
|
||||||
}
|
}
|
||||||
|
|
||||||
func StartupApp(appName, appVersionTag, latestReleaseURL string) (*App, error) {
|
func StartupApp(appName, appVersionTag, configFile, latestReleaseURL string) (*App, error) {
|
||||||
a := &App{appName: appName, appVersionTag: appVersionTag}
|
a := &App{appName: appName, appVersionTag: appVersionTag, configFile: configFile}
|
||||||
a.bgrndCtx, a.cancel = context.WithCancel(context.Background())
|
a.bgrndCtx, a.cancel = context.WithCancel(context.Background())
|
||||||
|
|
||||||
log.Printf("Starting %s...", appName)
|
log.Printf("Starting %s...", appName)
|
||||||
@@ -87,7 +84,7 @@ func (a *App) readConfig() {
|
|||||||
log.Printf("Error reading app config file: %v", err)
|
log.Printf("Error reading app config file: %v", err)
|
||||||
cfg = DefaultConfig(a.appVersionTag)
|
cfg = DefaultConfig(a.appVersionTag)
|
||||||
if _, err := os.Stat(cfgPath); err == nil {
|
if _, err := os.Stat(cfgPath); err == nil {
|
||||||
backupCfgName := fmt.Sprintf("%s.bak", configFile)
|
backupCfgName := fmt.Sprintf("%s.bak", a.configFile)
|
||||||
log.Printf("Config file may be malformed: copying to %s", backupCfgName)
|
log.Printf("Config file may be malformed: copying to %s", backupCfgName)
|
||||||
_ = util.CopyFile(cfgPath, path.Join(configdir.LocalConfig(a.appName), backupCfgName))
|
_ = util.CopyFile(cfgPath, path.Join(configdir.LocalConfig(a.appName), backupCfgName))
|
||||||
}
|
}
|
||||||
@@ -127,7 +124,7 @@ func (a *App) Shutdown() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (a *App) configPath() string {
|
func (a *App) configPath() string {
|
||||||
return path.Join(configdir.LocalConfig(a.appName), configFile)
|
return path.Join(configdir.LocalConfig(a.appName), a.configFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
func clamp(i, min, max int) int {
|
func clamp(i, min, max int) int {
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"path"
|
|
||||||
"supersonic/backend"
|
"supersonic/backend"
|
||||||
"supersonic/ui"
|
"supersonic/ui"
|
||||||
"supersonic/ui/theme"
|
"supersonic/ui/theme"
|
||||||
@@ -10,7 +9,6 @@ import (
|
|||||||
|
|
||||||
"fyne.io/fyne/v2"
|
"fyne.io/fyne/v2"
|
||||||
"fyne.io/fyne/v2/app"
|
"fyne.io/fyne/v2/app"
|
||||||
"github.com/20after4/configdir"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
@@ -22,12 +20,8 @@ const (
|
|||||||
latestReleaseURL = "https://github.com/dweymouth/supersonic/releases/latest"
|
latestReleaseURL = "https://github.com/dweymouth/supersonic/releases/latest"
|
||||||
)
|
)
|
||||||
|
|
||||||
func configPath() string {
|
|
||||||
return path.Join(configdir.LocalConfig(appname), configFile)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
myApp, err := backend.StartupApp(appname, appVersionTag, latestReleaseURL)
|
myApp, err := backend.StartupApp(appname, appVersionTag, configFile, latestReleaseURL)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("fatal startup error: %v", err.Error())
|
log.Fatalf("fatal startup error: %v", err.Error())
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user