Remove bbolt database dependency
Replaced bbolt-based database handling with Fyne built-in preferences for storing application settings. Deleted migration logic, database initialization, and error handling related to bbolt, simplifying the codebase and reducing external dependencies.
This commit is contained in:
64
main.go
64
main.go
@@ -1,22 +1,16 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fyne.io/fyne/v2"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/convertor"
|
||||
dberror "git.kor-elf.net/kor-elf/gui-for-ffmpeg/db"
|
||||
error2 "git.kor-elf.net/kor-elf/gui-for-ffmpeg/error"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/handler"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/kernel"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/localizer"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/menu"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/migration"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/setting"
|
||||
"git.kor-elf.net/kor-elf/gui-for-ffmpeg/theme"
|
||||
"go.etcd.io/bbolt"
|
||||
"golang.org/x/text/language"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
var application kernel.AppContract
|
||||
@@ -53,55 +47,14 @@ func init() {
|
||||
|
||||
func main() {
|
||||
errorView := error2.NewView(application)
|
||||
if canCreateFile("data/database.db") != true {
|
||||
errorView.PanicErrorWriteDirectoryData()
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
|
||||
db, err := bbolt.Open("data/database.db", 0600, &bbolt.Options{Timeout: 3 * time.Second})
|
||||
if err != nil {
|
||||
errorView.PanicError(err)
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
|
||||
defer db.Close()
|
||||
|
||||
err = migration.Run(db)
|
||||
if err != nil {
|
||||
errorView.PanicError(err)
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
|
||||
settingRepository := setting.NewRepository(db)
|
||||
settingRepository := setting.NewRepository(application.GetAppFyne())
|
||||
settingDirectoryForSaving := setting.NewSettingDirectoryForSaving(settingRepository)
|
||||
|
||||
convertorRepository := convertor.NewRepository(settingRepository)
|
||||
pathFFmpeg, err := convertorRepository.GetPathFfmpeg()
|
||||
if err != nil && errors.Is(err, dberror.ErrRecordNotFound) == false {
|
||||
errorView.PanicError(err)
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
ffPathUtilities.FFmpeg = pathFFmpeg
|
||||
|
||||
pathFFprobe, err := convertorRepository.GetPathFfprobe()
|
||||
if err != nil && errors.Is(err, dberror.ErrRecordNotFound) == false {
|
||||
errorView.PanicError(err)
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
ffPathUtilities.FFprobe = pathFFprobe
|
||||
|
||||
pathFFplay, err := convertorRepository.GetPathFfplay()
|
||||
if err != nil && errors.Is(err, dberror.ErrRecordNotFound) == false {
|
||||
errorView.PanicError(err)
|
||||
application.GetWindow().ShowAndRun()
|
||||
return
|
||||
}
|
||||
ffPathUtilities.FFplay = pathFFplay
|
||||
ffPathUtilities.FFmpeg = convertorRepository.GetPathFfmpeg()
|
||||
ffPathUtilities.FFprobe = convertorRepository.GetPathFfprobe()
|
||||
ffPathUtilities.FFplay = convertorRepository.GetPathFfplay()
|
||||
|
||||
application.RunConvertor()
|
||||
defer application.AfterClosing()
|
||||
@@ -129,12 +82,3 @@ func main() {
|
||||
application.GetWindow().SetMainMenu(mainMenu.GetMainMenu())
|
||||
application.GetWindow().ShowAndRun()
|
||||
}
|
||||
|
||||
func canCreateFile(path string) bool {
|
||||
file, err := os.OpenFile(path, os.O_CREATE|os.O_WRONLY, 0666)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
_ = file.Close()
|
||||
return true
|
||||
}
|
||||
|
Reference in New Issue
Block a user