goconfig

package
v0.0.0-...-f6c0e8d Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 8, 2020 License: AGPL-3.0 Imports: 13 Imported by: 0

Documentation

Overview

Package goconfig is a fully functional and comments-support configuration file(.ini) parser.

Index

Constants

View Source
const (
	// Default section name.
	DEFAULT_SECTION = "DEFAULT"
)

Variables

View Source
var LineBreak = "\n"
View Source
var PrettyFormat = true

Write spaces around "=" to look better.

Functions

func SaveConfigData

func SaveConfigData(c *ConfigFile, out io.Writer) (err error)

SaveConfigData writes configuration to a writer

func SaveConfigFile

func SaveConfigFile(c *ConfigFile, filename string) (err error)

SaveConfigFile writes configuration file to local file system

Types

type ConfigFile

type ConfigFile struct {
	BlockMode bool // Indicates whether use lock or not.
	// contains filtered or unexported fields
}

A ConfigFile represents a INI formar configuration file.

func LoadConfigFile

func LoadConfigFile(fileName string, moreFiles ...string) (c *ConfigFile, err error)

LoadConfigFile reads a file and returns a new configuration representation. This representation can be queried with GetValue.

func LoadFromData

func LoadFromData(data []byte) (c *ConfigFile, err error)

LoadFromData accepts raw data directly from memory and returns a new configuration representation. Note that the configuration is written to the system temporary folder, so your file should not contain sensitive information.

func LoadFromReader

func LoadFromReader(in io.Reader) (c *ConfigFile, err error)

LoadFromReader accepts raw data directly from a reader and returns a new configuration representation. You must use ReloadData to reload. You cannot append files a configfile read this way.

func (*ConfigFile) AppendFiles

func (c *ConfigFile) AppendFiles(files ...string) error

AppendFiles appends more files to ConfigFile and reload automatically.

func (*ConfigFile) Bool

func (c *ConfigFile) Bool(section, key string) (bool, error)

Bool returns bool type value.

func (*ConfigFile) DeleteKey

func (c *ConfigFile) DeleteKey(section, key string) bool

DeleteKey deletes the key in given section. It returns true if the key was deleted, or returns false if the section or key didn't exist.

func (*ConfigFile) DeleteSection

func (c *ConfigFile) DeleteSection(section string) bool

DeleteSection deletes the entire section by given name. It returns true if the section was deleted, and false if the section didn't exist.

func (*ConfigFile) Float64

func (c *ConfigFile) Float64(section, key string) (float64, error)

Float64 returns float64 type value.

func (*ConfigFile) GetKeyComments

func (c *ConfigFile) GetKeyComments(section, key string) (comments string)

GetKeyComments returns the comments of key in the given section. It returns an empty string(0 length) if the comments do not exist.

func (*ConfigFile) GetKeyList

func (c *ConfigFile) GetKeyList(section string) []string

GetKeyList returns the list of all keys in give section in the same order in the file. It returns nil if given section does not exist.

func (*ConfigFile) GetSection

func (c *ConfigFile) GetSection(section string) (map[string]string, error)

GetSection returns key-value pairs in given section. If section does not exist, returns nil and error.

func (*ConfigFile) GetSectionComments

func (c *ConfigFile) GetSectionComments(section string) (comments string)

GetSectionComments returns the comments in the given section. It returns an empty string(0 length) if the comments do not exist.

func (*ConfigFile) GetSectionList

func (c *ConfigFile) GetSectionList() []string

GetSectionList returns the list of all sections in the same order in the file.

func (*ConfigFile) GetValue

func (c *ConfigFile) GetValue(section, key string) (string, error)

GetValue returns the value of key available in the given section. If the value needs to be unfolded (see e.g. %(google)s example in the GoConfig_test.go), then String does this unfolding automatically, up to _DEPTH_VALUES number of iterations. It returns an error and empty string value if the section does not exist, or key does not exist in DEFAULT and current sections.

func (*ConfigFile) Int

func (c *ConfigFile) Int(section, key string) (int, error)

Int returns int type value.

func (*ConfigFile) Int64

func (c *ConfigFile) Int64(section, key string) (int64, error)

Int64 returns int64 type value.

func (*ConfigFile) MustBool

func (c *ConfigFile) MustBool(section, key string, defaultVal ...bool) bool

MustBool always returns value without error, it returns false if error occurs.

func (*ConfigFile) MustFloat64

func (c *ConfigFile) MustFloat64(section, key string, defaultVal ...float64) float64

MustFloat64 always returns value without error, it returns 0.0 if error occurs.

func (*ConfigFile) MustInt

func (c *ConfigFile) MustInt(section, key string, defaultVal ...int) int

MustInt always returns value without error, it returns 0 if error occurs.

func (*ConfigFile) MustInt64

func (c *ConfigFile) MustInt64(section, key string, defaultVal ...int64) int64

MustInt64 always returns value without error, it returns 0 if error occurs.

func (*ConfigFile) MustValue

func (c *ConfigFile) MustValue(section, key string, defaultVal ...string) string

MustValue always returns value without error. It returns empty string if error occurs, or the default value if given.

func (*ConfigFile) MustValueArray

func (c *ConfigFile) MustValueArray(section, key, delim string) []string

MustValueArray always returns value array without error, it returns empty array if error occurs, split by delimiter otherwise.

func (*ConfigFile) MustValueRange

func (c *ConfigFile) MustValueRange(section, key, defaultVal string, candidates []string) string

MustValueRange always returns value without error, it returns default value if error occurs or doesn't fit into range.

func (*ConfigFile) MustValueSet

func (c *ConfigFile) MustValueSet(section, key string, defaultVal ...string) (string, bool)

MustValueSet always returns value without error, It returns empty string if error occurs, or the default value if given, and a bool value indicates whether default value is returned.

func (*ConfigFile) Reload

func (c *ConfigFile) Reload() (err error)

Reload reloads configuration file in case it has changes.

func (*ConfigFile) ReloadData

func (c *ConfigFile) ReloadData(in io.Reader) (err error)

ReloadData reloads configuration file from memory

func (*ConfigFile) SetKeyComments

func (c *ConfigFile) SetKeyComments(section, key, comments string) bool

SetKeyComments adds new section-key comments to the configuration. If comments are empty(0 length), it will remove its section-key comments! It returns true if the comments were inserted or removed, or returns false if the comments were overwritten. If the section does not exist in advance, it is created.

func (*ConfigFile) SetSectionComments

func (c *ConfigFile) SetSectionComments(section, comments string) bool

SetSectionComments adds new section comments to the configuration. If comments are empty(0 length), it will remove its section comments! It returns true if the comments were inserted or removed, or returns false if the comments were overwritten.

func (*ConfigFile) SetValue

func (c *ConfigFile) SetValue(section, key, value string) bool

SetValue adds a new section-key-value to the configuration. It returns true if the key and value were inserted, or returns false if the value was overwritten. If the section does not exist in advance, it will be created.

type ParseError

type ParseError int
const (
	ERR_SECTION_NOT_FOUND ParseError = iota + 1
	ERR_KEY_NOT_FOUND
	ERR_BLANK_SECTION_NAME
	ERR_COULD_NOT_PARSE
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL