From 796dcccb8496840fe9d2fd1d78322bda4363cb2e Mon Sep 17 00:00:00 2001 From: Edi Piqoni Date: Tue, 9 May 2023 23:16:35 +0200 Subject: [PATCH] Add database_file_path option --- config.go | 17 +++++++---------- feeds_writer.go | 2 +- go.mod | 3 +-- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/config.go b/config.go index 4c51de7..2316588 100644 --- a/config.go +++ b/config.go @@ -3,7 +3,6 @@ package main import ( "database/sql" "encoding/xml" - "errors" "flag" "fmt" "io/ioutil" @@ -173,17 +172,15 @@ func bootstrapConfig() { terminal_mode = viper.GetBool("terminal_mode") } - dbPath, err := os.UserConfigDir() - check(err) - - if _, err := os.Stat(dbPath + "/brew"); errors.Is(err, os.ErrNotExist) { - err := os.Mkdir(dbPath+"/brew", os.ModePerm) - if err != nil { - check(err) - } + databaseFilePath := viper.GetString("database_file_path") + if databaseFilePath == "" { + databaseDirPath, err := os.UserConfigDir() + check(err) + databaseFilePath = filepath.Join(databaseDirPath, "brew", "matcha.db") + check(os.MkdirAll(filepath.Dir(databaseFilePath), os.ModePerm)) } - db, err = sql.Open("sqlite", dbPath+"/brew/matcha.db") + db, err = sql.Open("sqlite", databaseFilePath) check(err) err = applyMigrations(db) if err != nil { diff --git a/feeds_writer.go b/feeds_writer.go index bec44ef..bc56dab 100644 --- a/feeds_writer.go +++ b/feeds_writer.go @@ -35,7 +35,7 @@ type RSS struct { func check(e error) { if e != nil { - panic(e) + log.Fatal(e) } } diff --git a/go.mod b/go.mod index 691d59c..5685c54 100644 --- a/go.mod +++ b/go.mod @@ -4,6 +4,7 @@ go 1.18 require ( github.com/mmcdole/gofeed v1.1.3 + github.com/sashabaranov/go-openai v1.9.0 github.com/spf13/viper v1.12.0 modernc.org/sqlite v1.20.0 ) @@ -11,7 +12,6 @@ require ( require ( github.com/go-shiori/dom v0.0.0-20210627111528-4e4722cd0d65 // indirect github.com/gogs/chardet v0.0.0-20191104214054-4b6791f73a28 // indirect - github.com/sashabaranov/go-openai v1.9.0 // indirect github.com/sirupsen/logrus v1.8.1 // indirect ) @@ -34,7 +34,6 @@ require ( github.com/pelletier/go-toml v1.9.5 // indirect github.com/pelletier/go-toml/v2 v2.0.1 // indirect github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect - github.com/sashabaranov/go-gpt3 v1.0.1 github.com/savioxavier/termlink v1.2.1 github.com/spf13/afero v1.8.2 // indirect github.com/spf13/cast v1.5.0 // indirect