improve scanner logging

This commit is contained in:
sentriz
2019-06-06 00:10:46 +01:00
parent af5624f716
commit 2a644aa723

View File

@@ -70,6 +70,7 @@ func (s *Scanner) curFolderID() int {
func (s *Scanner) MigrateDB() error { func (s *Scanner) MigrateDB() error {
s.tx = s.db.Begin() s.tx = s.db.Begin()
defer s.tx.Commit() defer s.tx.Commit()
log.Printf("starting migrate...")
s.tx.AutoMigrate( s.tx.AutoMigrate(
model.Artist{}, model.Artist{},
model.Track{}, model.Track{},
@@ -83,7 +84,7 @@ func (s *Scanner) MigrateDB() error {
Password: "admin", Password: "admin",
IsAdmin: true, IsAdmin: true,
}) })
log.Printf("finished migrating") log.Printf("finished migrate")
return nil return nil
} }
@@ -97,6 +98,7 @@ func (s *Scanner) Start() error {
defer s.tx.Commit() defer s.tx.Commit()
// //
// being walking // being walking
log.Printf("starting scan...")
start := time.Now() start := time.Now()
err := godirwalk.Walk(s.musicPath, &godirwalk.Options{ err := godirwalk.Walk(s.musicPath, &godirwalk.Options{
Callback: s.callbackItem, Callback: s.callbackItem,
@@ -106,13 +108,14 @@ func (s *Scanner) Start() error {
if err != nil { if err != nil {
return errors.Wrap(err, "walking filesystem") return errors.Wrap(err, "walking filesystem")
} }
log.Printf("finished scanning in %s, +%d/%d tracks\n", log.Printf("finished scan in %s, +%d/%d tracks\n",
time.Since(start), time.Since(start),
s.seenTracksNew, s.seenTracksNew,
len(s.seenTracks), len(s.seenTracks),
) )
// //
// begin cleaning // begin cleaning
log.Printf("starting clean...")
start = time.Now() start = time.Now()
var tracks []*model.Track var tracks []*model.Track
err = s.tx. err = s.tx.
@@ -146,7 +149,7 @@ func (s *Scanner) Start() error {
FROM albums FROM albums
WHERE tag_artist_id = artists.id) = 0; WHERE tag_artist_id = artists.id) = 0;
`) `)
log.Printf("finished cleaning in %s, -%d tracks\n", log.Printf("finished clean in %s, -%d tracks\n",
time.Since(start), time.Since(start),
deleted, deleted,
) )
@@ -199,9 +202,10 @@ func (s *Scanner) callbackPost(fullPath string, info *godirwalk.Dirent) error {
folder.ParentID = s.curFolderID() folder.ParentID = s.curFolderID()
folder.Cover = s.curCover folder.Cover = s.curCover
s.tx.Save(folder) s.tx.Save(folder)
log.Printf("processed folder `%s`\n",
path.Join(folder.LeftPath, folder.RightPath))
} }
s.curCover = "" s.curCover = ""
log.Printf("processed folder `%s`\n", fullPath)
return nil return nil
} }