diff --git a/main.go b/main.go index 7bb8558..accfd37 100644 --- a/main.go +++ b/main.go @@ -9,7 +9,7 @@ import ( "slices" ) -const VERSION = "v3" +const VERSION = "v4" const MAXLINE = 1048576 type Db struct { @@ -18,10 +18,12 @@ type Db struct { file *os.File } -func NewDb(name string) (db Db, err error) { +func NewDb(name string) (db Db) { db.Name = name - fmt.Printf("Database %s\n", db.Name) + return +} +func (db *Db) Open() (err error) { db.file, err = os.OpenFile( db.Name+".sql", os.O_CREATE|os.O_WRONLY|os.O_TRUNC, @@ -64,12 +66,17 @@ func main() { prevDb.Close() dbName := dbMatch[1] + db = NewDb(dbName) if (flagIncludeAll && slices.Contains(flagExcept, dbName)) || (flagExcludeAll && !slices.Contains(flagExcept, dbName)) { fmt.Printf("Skipping %s\n", dbName) continue } - if db, err = NewDb(dbName); err != nil { + fmt.Printf("Database %s\n", db.Name) + if flagList { + continue + } + if err = db.Open(); err != nil { fmt.Printf("%s: %s\n", dbName, err) os.Exit(1) } @@ -79,7 +86,7 @@ func main() { db.Write(line) } - if !flagList && dbDone.MatchString(line) { + if dbDone.MatchString(line) { db.Completed = true db.Close() prevDb = db