Added a --distro-name flag and distro_name config option
This commit is contained in:
parent
66f3891b40
commit
7b8c017ed0
4
main.go
4
main.go
@ -3,7 +3,7 @@ package main
|
||||
import (
|
||||
"flag"
|
||||
"fmt"
|
||||
yaml "gopkg.in/yaml.v3"
|
||||
"gopkg.in/yaml.v3"
|
||||
"log"
|
||||
"os"
|
||||
"os/exec"
|
||||
@ -26,6 +26,7 @@ var config = StormfetchConfig{
|
||||
|
||||
type StormfetchConfig struct {
|
||||
Ascii string `yaml:"distro_ascii"`
|
||||
DistroName string `yaml:"distro_name"`
|
||||
FetchScript string `yaml:"fetch_script"`
|
||||
AnsiiColors []int `yaml:"ansii_colors"`
|
||||
ForceConfigAnsii bool `yaml:"force_config_ansii"`
|
||||
@ -80,6 +81,7 @@ func readConfig() {
|
||||
|
||||
func readFlags() {
|
||||
flag.StringVar(&config.Ascii, "ascii", config.Ascii, "help message for flagname")
|
||||
flag.StringVar(&config.DistroName, "distro-name", config.DistroName, "help message for flagname")
|
||||
flag.Parse()
|
||||
}
|
||||
|
||||
|
47
utils.go
47
utils.go
@ -28,41 +28,32 @@ type DistroInfo struct {
|
||||
}
|
||||
|
||||
func getDistroInfo() DistroInfo {
|
||||
distroID := ""
|
||||
info := DistroInfo{
|
||||
ID: "unknown",
|
||||
LongName: "Unknown",
|
||||
ShortName: "Unknown",
|
||||
}
|
||||
if strings.TrimSpace(config.DistroName) != "" {
|
||||
info.LongName = strings.TrimSpace(config.DistroName)
|
||||
info.ShortName = strings.TrimSpace(config.DistroName)
|
||||
}
|
||||
var releaseMap = make(map[string]string)
|
||||
if _, err := os.Stat("/etc/os-release"); err == nil {
|
||||
releaseMap, err = ReadKeyValueFile("/etc/os-release")
|
||||
if err != nil {
|
||||
return DistroInfo{
|
||||
ID: "unknown",
|
||||
LongName: "Unknown",
|
||||
ShortName: "Unknown",
|
||||
}
|
||||
}
|
||||
if value, ok := releaseMap["ID"]; ok {
|
||||
distroID = value
|
||||
return info
|
||||
}
|
||||
}
|
||||
|
||||
switch distroID {
|
||||
default:
|
||||
if id, ok := releaseMap["ID"]; ok {
|
||||
if longName, ok := releaseMap["PRETTY_NAME"]; ok {
|
||||
if shortName, ok := releaseMap["NAME"]; ok {
|
||||
return DistroInfo{
|
||||
ID: id,
|
||||
LongName: longName,
|
||||
ShortName: shortName,
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return DistroInfo{
|
||||
ID: "unknown",
|
||||
LongName: "Unknown",
|
||||
ShortName: "Unknown",
|
||||
}
|
||||
if id, ok := releaseMap["ID"]; ok {
|
||||
info.ID = id
|
||||
}
|
||||
if longName, ok := releaseMap["PRETTY_NAME"]; ok && info.LongName == "Unknown" {
|
||||
info.LongName = longName
|
||||
}
|
||||
if shortName, ok := releaseMap["NAME"]; ok && info.ShortName == "Unknown" {
|
||||
info.ShortName = shortName
|
||||
}
|
||||
return info
|
||||
}
|
||||
|
||||
func getDistroAsciiArt() string {
|
||||
|
Loading…
x
Reference in New Issue
Block a user