Added time to sync and progress respond
All checks were successful
Build / build (push) Successful in 1m58s

This commit is contained in:
2025-08-30 13:36:45 +02:00
parent 806e88adeb
commit 5f91643b4d

View File

@@ -5,7 +5,6 @@ import (
"encoding/hex"
"errors"
"fmt"
"github.com/panjf2000/ants/v2"
"io"
"io/fs"
"log"
@@ -18,6 +17,8 @@ import (
"sync"
"time"
"github.com/panjf2000/ants/v2"
"github.com/MShekow/directory-checksum/directory_checksum"
"github.com/spf13/afero"
)
@@ -26,6 +27,7 @@ var Syncing = false
var foldersSynced float32
var numberOfFoldersToSync float32
var totalTime time.Duration
var timeSpent time.Duration
var allGames []repository.Game
var gamesBeforeSync []repository.Game
@@ -38,13 +40,19 @@ var gamesRemoved []string
var catchedErrors []string
var brokenSongs []string
type Response struct {
type SyncResponse struct {
GamesAdded []string `json:"games_added"`
GamesReAdded []string `json:"games_re_added"`
GamesChangedTitle map[string]string `json:"games_changed_title"`
GamesChangedContent []string `json:"games_changed_content"`
GamesRemoved []string `json:"games_removed"`
CatchedErrors []string `json:"catched_errors"`
TotalTime string `json:"total_time"`
}
type ProgressResponse struct {
Progress string `json:"progress"`
TimeSpent string `json:"time_spent"`
}
type GameStatus int
@@ -72,13 +80,19 @@ func ResetDB() {
repo.ClearGames(db.Ctx)
}
func SyncProgress() string {
//log.Printf("Progress: %v%%\n", int((foldersSynced/numberOfFoldersToSync)*10))
log.Printf("Progress: %v/%v %v%%\n", int(foldersSynced), int(numberOfFoldersToSync), int((foldersSynced/numberOfFoldersToSync)*100))
return fmt.Sprintf("Progress: %v%%", int((foldersSynced/numberOfFoldersToSync)*100))
func SyncProgress() ProgressResponse {
progress := int((foldersSynced / numberOfFoldersToSync) * 100)
out := time.Time{}.Add(timeSpent)
fmt.Printf("\nTotal time: %v\n", timeSpent)
fmt.Printf("Total time: %v\n", out.Format("15:04:05.00000"))
log.Printf("Progress: %v/%v %v%%\n", int(foldersSynced), int(numberOfFoldersToSync), progress)
return ProgressResponse{
Progress: fmt.Sprintf("%v", progress),
TimeSpent: out.Format("15:04:05.00000"),
}
}
func SyncResult() Response {
func SyncResult() SyncResponse {
fmt.Printf("\nGames Before: %d\n", len(gamesBeforeSync))
fmt.Printf("Games After: %d\n", len(gamesAfterSync))
@@ -147,13 +161,14 @@ func SyncResult() Response {
fmt.Printf("\nTotal time: %v\n", totalTime)
fmt.Printf("Total time: %v\n", out.Format("15:04:05.00000"))
return Response{
return SyncResponse{
GamesAdded: gamesAdded,
GamesReAdded: gamesReAdded,
GamesChangedTitle: gamesChangedTitle,
GamesChangedContent: gamesChangedContent,
GamesRemoved: gamesRemoved,
CatchedErrors: catchedErrors,
TotalTime: out.Format("15:04:05.00000"),
}
}