First commit
This commit is contained in:
commit
902f6513ff
8 changed files with 130 additions and 0 deletions
37
conf/conf.go
Normal file
37
conf/conf.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
package conf
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"errors"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
/* Object to handle what is in a JSON config */
|
||||
type Config struct {
|
||||
configData map[string][]string;
|
||||
}
|
||||
|
||||
func NewConfig(filePath string) (newConfig *Config, err error) {
|
||||
// Open file
|
||||
file, err := os.Open(filePath)
|
||||
if err != nil {return}
|
||||
defer file.Close()
|
||||
|
||||
// Create configuration
|
||||
newConfigData := make(map[string][]string);
|
||||
|
||||
// Read lines into newConfigData
|
||||
scanner := bufio.NewScanner(file)
|
||||
for scanner.Scan() {
|
||||
line := scanner.Text()
|
||||
parts := strings.SplitN(line, " ", 2);
|
||||
if len(parts) != 2 {err = errors.New("Bad config file!"); return;}
|
||||
newConfigData[parts[0]] = append(newConfigData[parts[0]], parts[1]);
|
||||
}
|
||||
|
||||
// Create Config object and copy a reference to newConfigData into it
|
||||
return &Config{configData: newConfigData}, nil;
|
||||
}
|
||||
|
||||
func (config Config) GetConfigData() map[string][]string {return config.configData;}
|
Loading…
Add table
Add a link
Reference in a new issue