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")
|
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
|
var defaultLogo string
|
||||||
|
|
||||||
if conf.CustomLogo != "" {
|
if conf.CustomLogo != "" {
|
||||||
@ -74,9 +77,9 @@ func main() {
|
|||||||
statProviders := map[string]statProvider{
|
statProviders := map[string]statProvider{
|
||||||
"host": {label: "host", fn: providers.GetHostname},
|
"host": {label: "host", fn: providers.GetHostname},
|
||||||
"dist": {label: "os", fn: func() string { return prettyName }},
|
"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},
|
"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},
|
"gpu": {label: "gpu", fn: providers.GetGpu},
|
||||||
"de/wm": {label: "de/wm", fn: providers.GetDE},
|
"de/wm": {label: "de/wm", fn: providers.GetDE},
|
||||||
"pkgs": {label: "packages", fn: providers.GetPkgs},
|
"pkgs": {label: "packages", fn: providers.GetPkgs},
|
||||||
|
|||||||
@ -17,7 +17,7 @@ var id, prettyName string
|
|||||||
|
|
||||||
const gpuCacheFile = "/tmp/gogofetch_gpu_cache"
|
const gpuCacheFile = "/tmp/gogofetch_gpu_cache"
|
||||||
|
|
||||||
func GetDist() (string, string) {
|
func GetDist() (string, string, error) {
|
||||||
f, _ := os.Open("/etc/os-release")
|
f, _ := os.Open("/etc/os-release")
|
||||||
defer func(f *os.File) {
|
defer func(f *os.File) {
|
||||||
err := f.Close()
|
err := f.Close()
|
||||||
@ -39,10 +39,13 @@ func GetDist() (string, string) {
|
|||||||
prettyName = strings.ReplaceAll(prettyName, "'", "")
|
prettyName = strings.ReplaceAll(prettyName, "'", "")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if id == "" && prettyName == "" {
|
if err := s.Err(); err != nil {
|
||||||
return "unknown", "unknown"
|
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 {
|
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)
|
return fmt.Sprintf("%d / %d MiB", *used, totalMB)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetRam() string {
|
func GetRam() (string, error) {
|
||||||
f, err := os.Open("/proc/meminfo")
|
f, err := os.Open("/proc/meminfo")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "error"
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
@ -77,27 +80,30 @@ func GetRam() string {
|
|||||||
if strings.HasPrefix(line, "MemTotal:") {
|
if strings.HasPrefix(line, "MemTotal:") {
|
||||||
_, err2 := fmt.Sscanf(line, "MemTotal: %d kB", &total)
|
_, err2 := fmt.Sscanf(line, "MemTotal: %d kB", &total)
|
||||||
if err2 != nil {
|
if err2 != nil {
|
||||||
return ""
|
return "", err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if strings.HasPrefix(line, "MemAvailable:") {
|
if strings.HasPrefix(line, "MemAvailable:") {
|
||||||
_, err := fmt.Sscanf(line, "MemAvailable: %d kB", &available)
|
_, err := fmt.Sscanf(line, "MemAvailable: %d kB", &available)
|
||||||
if err != nil {
|
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 := getSizeRam(&total, &available, &used)
|
||||||
ram = strings.TrimSpace(ram)
|
ram = strings.TrimSpace(ram)
|
||||||
return ram
|
return ram, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetCpu() string {
|
func GetCpu() (string, error) {
|
||||||
f, err := os.Open("/proc/cpuinfo")
|
f, err := os.Open("/proc/cpuinfo")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "unknown"
|
return "unknown", err
|
||||||
}
|
}
|
||||||
|
|
||||||
defer f.Close()
|
defer f.Close()
|
||||||
@ -110,12 +116,15 @@ func GetCpu() string {
|
|||||||
parts := strings.SplitN(line, ":", 2)
|
parts := strings.SplitN(line, ":", 2)
|
||||||
if len(parts) > 1 {
|
if len(parts) > 1 {
|
||||||
cpu := strings.TrimSpace(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) {
|
func readGpuCache() (string, bool) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user