diff --git a/internal/database/database.go b/internal/database/database.go index 6609dae..9967061 100644 --- a/internal/database/database.go +++ b/internal/database/database.go @@ -2,30 +2,46 @@ package database import ( _ "embed" + _ "github.com/mattn/go-sqlite3" "gorm.io/driver/sqlite" "gorm.io/gorm" + "gorm.io/gorm/logger" ) type Manager struct { - ConnectionString string - Db *gorm.DB - CreateIfNotExists bool + ConnectionString string + Db *gorm.DB + CreateIfNotExists bool + ActivateGormLogger bool } -func NewDatabase(connectionString string, createIfNotExists bool) Manager { +func NewDatabase(connectionString string, createIfNotExists bool, activateGormLogger bool) Manager { return Manager{ - ConnectionString: connectionString, - Db: nil, - CreateIfNotExists: createIfNotExists, + ConnectionString: connectionString, + Db: nil, + CreateIfNotExists: createIfNotExists, + ActivateGormLogger: activateGormLogger, } } func (dbMgr *Manager) Open() error { - db, err := gorm.Open(sqlite.Open(dbMgr.ConnectionString), &gorm.Config{}) - if err != nil { - return err + var db *gorm.DB + var err error + if dbMgr.ActivateGormLogger { + db, err = gorm.Open(sqlite.Open(dbMgr.ConnectionString), &gorm.Config{}) + if err != nil { + return err + } + } else { + db, err = gorm.Open(sqlite.Open(dbMgr.ConnectionString), &gorm.Config{ + Logger: logger.Default.LogMode(logger.Silent), + }) + if err != nil { + return err + } } + dbMgr.Db = db if dbMgr.CreateIfNotExists { err = dbMgr.createDatabaseIfNotExists() diff --git a/internal/provider/bato.go b/internal/provider/bato.go index 2aebc27..e96c251 100644 --- a/internal/provider/bato.go +++ b/internal/provider/bato.go @@ -7,12 +7,19 @@ import ( "net/http" "regexp" "strconv" + "strings" "github.com/rs/zerolog/log" ) type Bato struct{} +func (b *Bato) CleanUrlToSub(url string) string { + trimmed := strings.TrimPrefix(url, "https://bato.to/title") + trimmed = strings.Trim(trimmed, "/") + return trimmed +} + func (b *Bato) GetImageList(html string) ([]string, error) { reg, err := regexp.Compile(`