diff --git a/internal/storage/storage.go b/internal/storage/storage.go index 3f3b116..e46389b 100644 --- a/internal/storage/storage.go +++ b/internal/storage/storage.go @@ -1,7 +1,6 @@ package storage import ( - "bufio" "fmt" "os" "path/filepath" @@ -75,10 +74,7 @@ func GetDevices() []Device { var devices []Device cmdArgs := []string{"--raw", "--bytes", "--noheadings"} - cmdOutput := utils.Exec("lsblk", cmdArgs) - cmdOutputReader := strings.NewReader(cmdOutput) - scanner := bufio.NewScanner(cmdOutputReader) - scanner.Split(bufio.ScanLines) + scanner := utils.ExecAndGetLines("lsblk", cmdArgs) var currentDevice Device var currentPartitions []Partition diff --git a/internal/utils/utils.go b/internal/utils/utils.go index ce9d032..12b9e07 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -1,12 +1,14 @@ package utils import ( + "bufio" "bytes" "fmt" "io" "log" "os" "os/exec" + "strings" "time" "github.com/joho/godotenv" @@ -53,6 +55,15 @@ func Exec(command string, args []string) string { } +func ExecAndGetLines(command string, args []string) *bufio.Scanner { + cmdOutput := Exec(command, args) + cmdOutputReader := strings.NewReader(cmdOutput) + scanner := bufio.NewScanner(cmdOutputReader) + scanner.Split(bufio.ScanLines) + + return scanner +} + // DeleteEmptySlices : Given a string array, delete empty entries. func DeleteEmptySlices(s []string) []string { var r []string