mirror of
https://github.com/cgzirim/seek-tune.git
synced 2025-12-18 09:24:19 +00:00
write logs
This commit is contained in:
parent
894094ed96
commit
ffe26e5c87
1 changed files with 16 additions and 19 deletions
|
|
@ -1,6 +1,7 @@
|
||||||
package spotify
|
package spotify
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
|
@ -16,6 +17,7 @@ import (
|
||||||
|
|
||||||
"github.com/fatih/color"
|
"github.com/fatih/color"
|
||||||
"github.com/kkdai/youtube/v2"
|
"github.com/kkdai/youtube/v2"
|
||||||
|
"github.com/mdobak/go-xerrors"
|
||||||
)
|
)
|
||||||
|
|
||||||
const DELETE_SONG_FILE = false
|
const DELETE_SONG_FILE = false
|
||||||
|
|
@ -77,10 +79,13 @@ func dlTrack(tracks []Track, path string) (int, error) {
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
var downloadedTracks []string
|
var downloadedTracks []string
|
||||||
var totalTracks int
|
var totalTracks int
|
||||||
|
logger := utils.GetLogger()
|
||||||
results := make(chan int, len(tracks))
|
results := make(chan int, len(tracks))
|
||||||
numCPUs := runtime.NumCPU()
|
numCPUs := runtime.NumCPU()
|
||||||
semaphore := make(chan struct{}, numCPUs)
|
semaphore := make(chan struct{}, numCPUs)
|
||||||
|
|
||||||
|
ctx := context.Background()
|
||||||
|
|
||||||
db, err := utils.NewDbClient()
|
db, err := utils.NewDbClient()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return 0, err
|
return 0, err
|
||||||
|
|
@ -107,20 +112,19 @@ func dlTrack(tracks []Track, path string) (int, error) {
|
||||||
// check if song exists
|
// check if song exists
|
||||||
keyExists, err := SongKeyExists(utils.GenerateSongKey(trackCopy.Title, trackCopy.Artist))
|
keyExists, err := SongKeyExists(utils.GenerateSongKey(trackCopy.Title, trackCopy.Artist))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logMessage := fmt.Sprintln("error checking song existence: ", err)
|
err := xerrors.New(err)
|
||||||
slog.Error(logMessage)
|
logger.ErrorContext(ctx, "error checking song existence", slog.Any("error", err))
|
||||||
}
|
}
|
||||||
if keyExists {
|
if keyExists {
|
||||||
logMessage := fmt.Sprintf("'%s' by '%s' already downloaded\n", trackCopy.Title, trackCopy.Artist)
|
logMessage := fmt.Sprintf("'%s' by '%s' already exits.", trackCopy.Title, trackCopy.Artist)
|
||||||
slog.Info(logMessage)
|
logger.Info(logMessage)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
ytID, err := getYTID(trackCopy)
|
ytID, err := getYTID(trackCopy)
|
||||||
if ytID == "" || err != nil {
|
if ytID == "" || err != nil {
|
||||||
logMessage := fmt.Sprintf("error: '%s' by '%s' could not be downloaded: %s\n", trackCopy.Title, trackCopy.Artist, err)
|
logMessage := fmt.Sprintf("'%s' by '%s' could not be downloaded", trackCopy.Title, trackCopy.Artist)
|
||||||
slog.Error(logMessage)
|
logger.ErrorContext(ctx, logMessage, slog.Any("error", xerrors.New(err)))
|
||||||
yellow.Printf(logMessage)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -130,26 +134,19 @@ func dlTrack(tracks []Track, path string) (int, error) {
|
||||||
|
|
||||||
err = downloadYTaudio(ytID, path, filePath)
|
err = downloadYTaudio(ytID, path, filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logMessage := fmt.Sprintf("Error (2): '%s' by '%s' could not be downloaded: %s\n", trackCopy.Title, trackCopy.Artist, err)
|
logMessage := fmt.Sprintf("'%s' by '%s' could not be downloaded", trackCopy.Title, trackCopy.Artist)
|
||||||
yellow.Printf(logMessage)
|
logger.ErrorContext(ctx, logMessage, slog.Any("error", xerrors.New(err)))
|
||||||
slog.Error(logMessage)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
err = processAndSaveSong(filePath, trackCopy.Title, trackCopy.Artist, ytID)
|
err = processAndSaveSong(filePath, trackCopy.Title, trackCopy.Artist, ytID)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
yellow.Println("Error processing audio: ", err)
|
logMessage := fmt.Sprintf("Failed to process song ('%s' by '%s')", trackCopy.Title, trackCopy.Artist)
|
||||||
logMessage := fmt.Sprintf("Failed to process song ('%s' by '%s'): %s\n", trackCopy.Title, trackCopy.Artist, err)
|
logger.ErrorContext(ctx, logMessage, slog.Any("error", xerrors.New(err)))
|
||||||
slog.Error(logMessage)
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if DELETE_SONG_FILE != true {
|
if DELETE_SONG_FILE {
|
||||||
size, _ := GetFileSize(filePath)
|
|
||||||
if size < 1 {
|
|
||||||
DeleteFile(filePath)
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
DeleteFile(filepath.Join(path, fileName+".m4a"))
|
DeleteFile(filepath.Join(path, fileName+".m4a"))
|
||||||
DeleteFile(filepath.Join(path, fileName+".wav"))
|
DeleteFile(filepath.Join(path, fileName+".wav"))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue