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 (
|
import (
|
||||||
"flag"
|
"flag"
|
||||||
"fmt"
|
"fmt"
|
||||||
yaml "gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@ -26,6 +26,7 @@ var config = StormfetchConfig{
|
|||||||
|
|
||||||
type StormfetchConfig struct {
|
type StormfetchConfig struct {
|
||||||
Ascii string `yaml:"distro_ascii"`
|
Ascii string `yaml:"distro_ascii"`
|
||||||
|
DistroName string `yaml:"distro_name"`
|
||||||
FetchScript string `yaml:"fetch_script"`
|
FetchScript string `yaml:"fetch_script"`
|
||||||
AnsiiColors []int `yaml:"ansii_colors"`
|
AnsiiColors []int `yaml:"ansii_colors"`
|
||||||
ForceConfigAnsii bool `yaml:"force_config_ansii"`
|
ForceConfigAnsii bool `yaml:"force_config_ansii"`
|
||||||
@ -80,6 +81,7 @@ func readConfig() {
|
|||||||
|
|
||||||
func readFlags() {
|
func readFlags() {
|
||||||
flag.StringVar(&config.Ascii, "ascii", config.Ascii, "help message for flagname")
|
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()
|
flag.Parse()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
47
utils.go
47
utils.go
@ -28,41 +28,32 @@ type DistroInfo struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getDistroInfo() DistroInfo {
|
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)
|
var releaseMap = make(map[string]string)
|
||||||
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 info
|
||||||
ID: "unknown",
|
|
||||||
LongName: "Unknown",
|
|
||||||
ShortName: "Unknown",
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if value, ok := releaseMap["ID"]; ok {
|
|
||||||
distroID = value
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if id, ok := releaseMap["ID"]; ok {
|
||||||
switch distroID {
|
info.ID = id
|
||||||
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 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 {
|
func getDistroAsciiArt() string {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user