2 Commits

Author SHA1 Message Date
e2da81e8eb Add Int64 method 2026-02-21 22:55:37 +01:00
509bdc1a70 Relaxes error handling, added both forwarded and panic'd errors 2026-02-21 18:21:14 +01:00

191
ini.go
View File

@@ -102,19 +102,48 @@ func (config *Configuration) SetValue(path string, value string) {
err = config.file.NewSections(splitPath[0 : len(splitPath)-1]...)
if err != nil {
fmt.Printf("Error creating section %v in config: %v\n", path, err)
os.Exit(1)
return
}
}
key, err = config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return
}
key.SetValue(value)
}
func (config *Configuration) SetValueErr(path string, value string) error {
key, err := config.GetKey(path)
if err != nil {
err = nil
splitPath := strings.Split(path, ".")
err = config.file.NewSections(splitPath[0 : len(splitPath)-1]...)
if err != nil {
fmt.Printf("Error creating section %v in config: %v\n", path, err)
return err
}
fmt.Printf("New Val: Split Path: %v\n", splitPath)
}
key, err = config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
os.Exit(1)
return err
}
key.SetValue(value)
return nil
}
func (config *Configuration) GetAsString(path string) (string, error) {
func (config *Configuration) GetAsString(path string) string {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return ""
}
return key.String()
}
func (config *Configuration) GetAsStringErr(path string) (string, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
@@ -123,7 +152,16 @@ func (config *Configuration) GetAsString(path string) (string, error) {
return key.String(), nil
}
func (config *Configuration) GetAsStrings(path string) ([]string, error) {
func (config *Configuration) GetAsStrings(path string) []string {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return nil
}
return key.Strings(",")
}
func (config *Configuration) GetAsStringsErr(path string) ([]string, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
@@ -132,7 +170,22 @@ func (config *Configuration) GetAsStrings(path string) ([]string, error) {
return key.Strings(","), nil
}
func (config *Configuration) GetAsInt(path string) (int, error) {
func (config *Configuration) GetAsInt(path string) int {
var i int
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return 0
}
i, err = key.Int()
if err != nil {
fmt.Printf("Error parsing integer: %v\n", err)
return 0
}
return i
}
func (config *Configuration) GetAsIntErr(path string) (int, error) {
var i int
key, err := config.GetKey(path)
if err != nil {
@@ -147,7 +200,46 @@ func (config *Configuration) GetAsInt(path string) (int, error) {
return i, nil
}
func (config *Configuration) GetAsInts(path string) ([]int, error) {
func (config *Configuration) GetAsInt64(path string) int64 {
var i int64
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return 0
}
i, err = key.Int64()
if err != nil {
fmt.Printf("Error parsing integer: %v\n", err)
return 0
}
return i
}
func (config *Configuration) GetAsInt64Err(path string) (int64, error) {
var i int64
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return 0, err
}
i, err = key.Int64()
if err != nil {
fmt.Printf("Error parsing integer: %v\n", err)
return 0, err
}
return i, nil
}
func (config *Configuration) GetAsInts(path string) []int {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return nil
}
return key.Ints(",")
}
func (config *Configuration) GetAsIntsErr(path string) ([]int, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
@@ -156,7 +248,22 @@ func (config *Configuration) GetAsInts(path string) ([]int, error) {
return key.Ints(","), nil
}
func (config *Configuration) GetAsUInt(path string) (uint, error) {
func (config *Configuration) GetAsUInt(path string) uint {
var i uint
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return 0
}
i, err = key.Uint()
if err != nil {
fmt.Printf("Error parsing integer: %v\n", err)
return 0
}
return i
}
func (config *Configuration) GetAsUIntErr(path string) (uint, error) {
var i uint
key, err := config.GetKey(path)
if err != nil {
@@ -171,7 +278,16 @@ func (config *Configuration) GetAsUInt(path string) (uint, error) {
return i, nil
}
func (config *Configuration) GetAsUInts(path string) ([]uint, error) {
func (config *Configuration) GetAsUInts(path string) []uint {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return nil
}
return key.Uints(",")
}
func (config *Configuration) GetAsUIntsErr(path string) ([]uint, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
@@ -180,7 +296,22 @@ func (config *Configuration) GetAsUInts(path string) ([]uint, error) {
return key.Uints(","), nil
}
func (config *Configuration) GetAsFloat(path string) (float64, error) {
func (config *Configuration) GetAsFloat(path string) float64 {
var f float64
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return 0
}
f, err = key.Float64()
if err != nil {
fmt.Printf("Error parsing float: %v\n", err)
return 0
}
return f
}
func (config *Configuration) GetAsFloatErr(path string) (float64, error) {
var f float64
key, err := config.GetKey(path)
if err != nil {
@@ -195,7 +326,16 @@ func (config *Configuration) GetAsFloat(path string) (float64, error) {
return f, nil
}
func (config *Configuration) GetAsFloats(path string) ([]float64, error) {
func (config *Configuration) GetAsFloats(path string) []float64 {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return nil
}
return key.Float64s(",")
}
func (config *Configuration) GetAsFloatsErr(path string) ([]float64, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
@@ -204,15 +344,27 @@ func (config *Configuration) GetAsFloats(path string) ([]float64, error) {
return key.Float64s(","), nil
}
func (config *Configuration) GetAsBoolean(path string) (bool, error) {
var b bool
var err error
func (config *Configuration) GetAsBoolean(path string) bool {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return false
}
b, err := key.Bool()
if err != nil {
fmt.Printf("Error parsing bool: %v\n", err)
return false
}
return b
}
func (config *Configuration) GetAsBooleanErr(path string) (bool, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return false, err
}
b, err = key.Bool()
b, err := key.Bool()
if err != nil {
fmt.Printf("Error parsing bool: %v\n", err)
return false, err
@@ -220,7 +372,16 @@ func (config *Configuration) GetAsBoolean(path string) (bool, error) {
return b, nil
}
func (config *Configuration) GetAsBooleans(path string) ([]bool, error) {
func (config *Configuration) GetAsBooleans(path string) []bool {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)
return nil
}
return key.Bools(",")
}
func (config *Configuration) GetAsBooleansErr(path string) ([]bool, error) {
key, err := config.GetKey(path)
if err != nil {
fmt.Printf("Error getting path %v in config: %v\n", path, err)