fix: handle error in Scanner
костыль тот ещё
This commit is contained in:
parent
e930791f58
commit
75e97a09f6
@ -33,7 +33,10 @@ func main() {
|
||||
fmt.Println("Warning: No layout specified in config, using default")
|
||||
}
|
||||
|
||||
distID, prettyName := providers.GetDist()
|
||||
distID, prettyName, err := providers.GetDist()
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
}
|
||||
var defaultLogo string
|
||||
|
||||
if conf.CustomLogo != "" {
|
||||
@ -74,9 +77,9 @@ func main() {
|
||||
statProviders := map[string]statProvider{
|
||||
"host": {label: "host", fn: providers.GetHostname},
|
||||
"dist": {label: "os", fn: func() string { return prettyName }},
|
||||
"cpu": {label: "cpu", fn: providers.GetCpu},
|
||||
"cpu": {label: "ram", fn: func() string { v, _ := providers.GetCpu(); return v }},
|
||||
"krnl": {label: "kernel", fn: providers.GetKernel},
|
||||
"ram": {label: "ram", fn: providers.GetRam},
|
||||
"ram": {label: "ram", fn: func() string { v, _ := providers.GetRam(); return v }},
|
||||
"gpu": {label: "gpu", fn: providers.GetGpu},
|
||||
"de/wm": {label: "de/wm", fn: providers.GetDE},
|
||||
"pkgs": {label: "packages", fn: providers.GetPkgs},
|
||||
|
||||
@ -17,7 +17,7 @@ var id, prettyName string
|
||||
|
||||
const gpuCacheFile = "/tmp/gogofetch_gpu_cache"
|
||||
|
||||
func GetDist() (string, string) {
|
||||
func GetDist() (string, string, error) {
|
||||
f, _ := os.Open("/etc/os-release")
|
||||
defer func(f *os.File) {
|
||||
err := f.Close()
|
||||
@ -39,10 +39,13 @@ func GetDist() (string, string) {
|
||||
prettyName = strings.ReplaceAll(prettyName, "'", "")
|
||||
}
|
||||
}
|
||||
if id == "" && prettyName == "" {
|
||||
return "unknown", "unknown"
|
||||
if err := s.Err(); err != nil {
|
||||
return "", "", fmt.Errorf("reading input: %w", err)
|
||||
}
|
||||
return id, prettyName
|
||||
if id == "" && prettyName == "" {
|
||||
return "unknown", "unknown", nil
|
||||
}
|
||||
return id, prettyName, nil
|
||||
}
|
||||
|
||||
func getSizeRam(total, avaible, used *int) string {
|
||||
@ -62,10 +65,10 @@ func getSizeRam(total, avaible, used *int) string {
|
||||
return fmt.Sprintf("%d / %d MiB", *used, totalMB)
|
||||
}
|
||||
|
||||
func GetRam() string {
|
||||
func GetRam() (string, error) {
|
||||
f, err := os.Open("/proc/meminfo")
|
||||
if err != nil {
|
||||
return "error"
|
||||
return "", err
|
||||
}
|
||||
|
||||
defer f.Close()
|
||||
@ -77,27 +80,30 @@ func GetRam() string {
|
||||
if strings.HasPrefix(line, "MemTotal:") {
|
||||
_, err2 := fmt.Sscanf(line, "MemTotal: %d kB", &total)
|
||||
if err2 != nil {
|
||||
return ""
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
if strings.HasPrefix(line, "MemAvailable:") {
|
||||
_, err := fmt.Sscanf(line, "MemAvailable: %d kB", &available)
|
||||
if err != nil {
|
||||
return ""
|
||||
return "", err
|
||||
}
|
||||
}
|
||||
}
|
||||
if err := s.Err(); err != nil {
|
||||
return "", fmt.Errorf("reading input: %w", err)
|
||||
}
|
||||
|
||||
ram := getSizeRam(&total, &available, &used)
|
||||
ram = strings.TrimSpace(ram)
|
||||
return ram
|
||||
return ram, nil
|
||||
|
||||
}
|
||||
|
||||
func GetCpu() string {
|
||||
func GetCpu() (string, error) {
|
||||
f, err := os.Open("/proc/cpuinfo")
|
||||
if err != nil {
|
||||
return "unknown"
|
||||
return "unknown", err
|
||||
}
|
||||
|
||||
defer f.Close()
|
||||
@ -110,12 +116,15 @@ func GetCpu() string {
|
||||
parts := strings.SplitN(line, ":", 2)
|
||||
if len(parts) > 1 {
|
||||
cpu := strings.TrimSpace(parts[1])
|
||||
return cpu
|
||||
return cpu, nil
|
||||
}
|
||||
}
|
||||
}
|
||||
if err := s.Err(); err != nil {
|
||||
return "", fmt.Errorf("reading input: %w", err)
|
||||
}
|
||||
|
||||
return strings.TrimSpace(cpu)
|
||||
return strings.TrimSpace(cpu), nil
|
||||
}
|
||||
|
||||
func readGpuCache() (string, bool) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user