mirror of
https://github.com/jkaninda/mysql-bkup.git
synced 2025-12-06 21:49:40 +01:00
refactor: refactoring of code
This commit is contained in:
@@ -26,6 +26,7 @@ package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/jkaninda/mysql-bkup/pkg/logger"
|
||||
"github.com/robfig/cron/v3"
|
||||
"github.com/spf13/cobra"
|
||||
"io"
|
||||
@@ -35,6 +36,8 @@ import (
|
||||
"time"
|
||||
)
|
||||
|
||||
var Version = "development"
|
||||
|
||||
// FileExists checks if the file does exist
|
||||
func FileExists(filename string) bool {
|
||||
info, err := os.Stat(filename)
|
||||
@@ -49,7 +52,13 @@ func WriteToFile(filePath, content string) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer file.Close()
|
||||
defer func(file *os.File) {
|
||||
err := file.Close()
|
||||
if err != nil {
|
||||
return
|
||||
|
||||
}
|
||||
}(file)
|
||||
|
||||
_, err = file.WriteString(content)
|
||||
return err
|
||||
@@ -67,14 +76,25 @@ func CopyFile(src, dst string) error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to open source file: %v", err)
|
||||
}
|
||||
defer sourceFile.Close()
|
||||
defer func(sourceFile *os.File) {
|
||||
err := sourceFile.Close()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}(sourceFile)
|
||||
|
||||
// Create the destination file
|
||||
destinationFile, err := os.Create(dst)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create destination file: %v", err)
|
||||
}
|
||||
defer destinationFile.Close()
|
||||
defer func(destinationFile *os.File) {
|
||||
err := destinationFile.Close()
|
||||
if err != nil {
|
||||
return
|
||||
|
||||
}
|
||||
}(destinationFile)
|
||||
|
||||
// Copy the content from source to destination
|
||||
_, err = io.Copy(destinationFile, sourceFile)
|
||||
@@ -92,7 +112,7 @@ func CopyFile(src, dst string) error {
|
||||
}
|
||||
func ChangePermission(filePath string, mod int) {
|
||||
if err := os.Chmod(filePath, fs.FileMode(mod)); err != nil {
|
||||
Fatal("Error changing permissions of %s: %v\n", filePath, err)
|
||||
logger.Fatal("Error changing permissions of %s: %v\n", filePath, err)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -101,7 +121,12 @@ func IsDirEmpty(name string) (bool, error) {
|
||||
if err != nil {
|
||||
return false, err
|
||||
}
|
||||
defer f.Close()
|
||||
defer func(f *os.File) {
|
||||
err := f.Close()
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
}(f)
|
||||
|
||||
_, err = f.Readdirnames(1)
|
||||
if err == nil {
|
||||
@@ -149,7 +174,7 @@ func GetEnvVariable(envName, oldEnvName string) string {
|
||||
if err != nil {
|
||||
return value
|
||||
}
|
||||
Warn("%s is deprecated, please use %s instead! ", oldEnvName, envName)
|
||||
logger.Warn("%s is deprecated, please use %s instead! ", oldEnvName, envName)
|
||||
}
|
||||
}
|
||||
return value
|
||||
@@ -196,10 +221,11 @@ func GetIntEnv(envName string) int {
|
||||
}
|
||||
ret, err := strconv.Atoi(val)
|
||||
if err != nil {
|
||||
Error("Error: %v", err)
|
||||
logger.Error("Error: %v", err)
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
func EnvWithDefault(envName string, defaultValue string) string {
|
||||
value := os.Getenv(envName)
|
||||
if value == "" {
|
||||
@@ -220,13 +246,12 @@ func CronNextTime(cronExpr string) time.Time {
|
||||
// Parse the cron expression
|
||||
schedule, err := cron.ParseStandard(cronExpr)
|
||||
if err != nil {
|
||||
Error("Error parsing cron expression: %s", err)
|
||||
logger.Error("Error parsing cron expression: %s", err)
|
||||
return time.Time{}
|
||||
}
|
||||
// Get the current time
|
||||
now := time.Now()
|
||||
// Get the next scheduled time
|
||||
next := schedule.Next(now)
|
||||
//Info("The next scheduled time is: %v\n", next)
|
||||
return next
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user