Removed distro_id config option

Cleaned up some code
This commit is contained in:
CapCreeperGR 2024-05-05 12:38:02 +03:00
parent 23cdf358b0
commit 0dcb6320af

42
main.go
View File

@ -16,9 +16,8 @@ var configPath string = ""
var config StormfetchConfig = StormfetchConfig{} var config StormfetchConfig = StormfetchConfig{}
type StormfetchConfig struct { type StormfetchConfig struct {
Distro string `yaml:"distro_id"` Ascii string `yaml:"distro_ascii"`
Ascii string `yaml:"distro_ascii"` Fetch string `yaml:"fetch_script"`
Fetch string `yaml:"fetch_script"`
} }
type DistroInfo struct { type DistroInfo struct {
@ -76,8 +75,7 @@ func readConfig() {
log.Fatal(err) log.Fatal(err)
} }
cmd.Dir = workdir cmd.Dir = workdir
cmd.Environ() cmd.Env = os.Environ()
getDistroInfo()
cmd.Env = append(cmd.Env, "DISTRO_LONG_NAME="+getDistroInfo().LongName) cmd.Env = append(cmd.Env, "DISTRO_LONG_NAME="+getDistroInfo().LongName)
cmd.Env = append(cmd.Env, "DISTRO_SHORT_NAME="+getDistroInfo().ShortName) cmd.Env = append(cmd.Env, "DISTRO_SHORT_NAME="+getDistroInfo().ShortName)
out, err := cmd.Output() out, err := cmd.Output()
@ -134,20 +132,18 @@ func readKeyValueFile(filepath string) (map[string]string, error) {
func getDistroInfo() DistroInfo { func getDistroInfo() DistroInfo {
distroID := "" distroID := ""
var releaseMap = make(map[string]string) var releaseMap = make(map[string]string)
if config.Distro == "auto" { if _, err := os.Stat("/etc/os-release"); err == nil {
if _, err := os.Stat("/etc/os-release"); err == nil { releaseMap, err = readKeyValueFile("/etc/os-release")
releaseMap, err = readKeyValueFile("/etc/os-release") if err != nil {
if err != nil { return DistroInfo{
return DistroInfo{ ID: "unknown",
ID: "unknown", LongName: "Unknown",
LongName: "Unknown", ShortName: "Unknown",
ShortName: "Unknown",
}
}
if value, ok := releaseMap["ID"]; ok {
distroID = value
} }
} }
if value, ok := releaseMap["ID"]; ok {
distroID = value
}
} }
switch distroID { switch distroID {
@ -187,10 +183,16 @@ func getDistroAscii() string {
(| | ) (| | )
/'\_ _/'\ /'\_ _/'\
\___)=(___/ ` \___)=(___/ `
if _, err := os.Stat(path.Join(asciiPath, getDistroInfo().ID)); err == nil { var id string
bytes, err := os.ReadFile(path.Join(asciiPath, getDistroInfo().ID)) if config.Ascii == "auto" {
id = getDistroInfo().ID
} else {
id = config.Ascii
}
if _, err := os.Stat(path.Join(asciiPath, id)); err == nil {
bytes, err := os.ReadFile(path.Join(asciiPath, id))
if err != nil { if err != nil {
return "" return defaultAscii
} }
return string(bytes) return string(bytes)
} else { } else {