aboutsummaryrefslogtreecommitdiffstats
path: root/Godeps/_workspace/src/github.com/rakyll/goini
diff options
context:
space:
mode:
Diffstat (limited to 'Godeps/_workspace/src/github.com/rakyll/goini')
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/.gitignore8
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/Makefile7
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/empty.ini0
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/example.ini18
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/ini.go241
-rw-r--r--Godeps/_workspace/src/github.com/rakyll/goini/ini_test.go169
6 files changed, 0 insertions, 443 deletions
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/.gitignore b/Godeps/_workspace/src/github.com/rakyll/goini/.gitignore
deleted file mode 100644
index 6facd5a72..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/.gitignore
+++ /dev/null
@@ -1,8 +0,0 @@
-.*.swp
-
-*.[689]
-[689].out
-
-_obj
-_test
-_testmain.go
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/Makefile b/Godeps/_workspace/src/github.com/rakyll/goini/Makefile
deleted file mode 100644
index bc67d570d..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/Makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-test:
- go test
-
-format:
- gofmt -w *.go
-
-.PHONY: format test
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/empty.ini b/Godeps/_workspace/src/github.com/rakyll/goini/empty.ini
deleted file mode 100644
index e69de29bb..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/empty.ini
+++ /dev/null
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/example.ini b/Godeps/_workspace/src/github.com/rakyll/goini/example.ini
deleted file mode 100644
index 1a21f8e37..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/example.ini
+++ /dev/null
@@ -1,18 +0,0 @@
-#
-# This is an example of ini file
-#
-
-[Pizza]
-
-Ham = yes;
-Mushrooms = TRUE;
-Capres = 0;
-Cheese = Non;
-
-
-[Wine]
-
-Grape = Cabernet Sauvignon;
-Year = 1989;
-Country = Spain;
-Alcohol = 12.5;
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/ini.go b/Godeps/_workspace/src/github.com/rakyll/goini/ini.go
deleted file mode 100644
index 54b81f18b..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/ini.go
+++ /dev/null
@@ -1,241 +0,0 @@
-package ini
-
-import (
- "bufio"
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "regexp"
- "strconv"
- "strings"
- "unicode"
-)
-
-type Dict map[string]map[string]string
-
-type Error string
-
-var (
- regDoubleQuote = regexp.MustCompile("^([^= \t]+)[ \t]*=[ \t]*\"([^\"]*)\"$")
- regSingleQuote = regexp.MustCompile("^([^= \t]+)[ \t]*=[ \t]*'([^']*)'$")
- regNoQuote = regexp.MustCompile("^([^= \t]+)[ \t]*=[ \t]*([^#;]+)")
- regNoValue = regexp.MustCompile("^([^= \t]+)[ \t]*=[ \t]*([#;].*)?")
-)
-
-func Load(filename string) (dict Dict, err error) {
- file, err := os.Open(filename)
- if err != nil {
- return nil, err
- }
- defer file.Close()
-
- dict = make(map[string]map[string]string)
- reader := bufio.NewReader(file)
- lineno := 0
- section := ""
- dict[section] = make(map[string]string)
-
- for err == nil {
- l, _, err := reader.ReadLine()
- if err != nil {
- break
- }
- lineno++
- if len(l) == 0 {
- continue
- }
- line := strings.TrimFunc(string(l), unicode.IsSpace)
-
- for line[len(line)-1] == '\\' {
- line = line[:len(line)-1]
- l, _, err := reader.ReadLine()
- if err != nil {
- return nil, err
- }
- line += strings.TrimFunc(string(l), unicode.IsSpace)
- }
-
- section, err = dict.parseLine(section, line)
- if err != nil {
- return nil, newError(
- err.Error() + fmt.Sprintf("'%s:%d'.", filename, lineno))
- }
- }
-
- return
-}
-
-func Write(filename string, dict *Dict) error {
- buffer := dict.format()
- return ioutil.WriteFile(filename, buffer.Bytes(), 0644)
-}
-
-func (e Error) Error() string {
- return string(e)
-}
-func (dict Dict) parseLine(section, line string) (string, error) {
- // commets
- if line[0] == '#' || line[0] == ';' {
- return section, nil
- }
-
- // section name
- if line[0] == '[' && line[len(line)-1] == ']' {
- section := strings.TrimFunc(line[1:len(line)-1], unicode.IsSpace)
- section = strings.ToLower(section)
- dict[section] = make(map[string]string)
- return section, nil
- }
-
- // key = value
- if m := regDoubleQuote.FindAllStringSubmatch(line, 1); m != nil {
- dict.add(section, m[0][1], m[0][2])
- return section, nil
- } else if m = regSingleQuote.FindAllStringSubmatch(line, 1); m != nil {
- dict.add(section, m[0][1], m[0][2])
- return section, nil
- } else if m = regNoQuote.FindAllStringSubmatch(line, 1); m != nil {
- dict.add(section, m[0][1], strings.TrimFunc(m[0][2], unicode.IsSpace))
- return section, nil
- } else if m = regNoValue.FindAllStringSubmatch(line, 1); m != nil {
- dict.add(section, m[0][1], "")
- return section, nil
- }
-
- return section, newError("iniparser: syntax error at ")
-}
-
-func (dict Dict) add(section, key, value string) {
- key = strings.ToLower(key)
- dict[section][key] = value
-}
-
-func (dict Dict) GetBool(section, key string) (bool, bool) {
- sec, ok := dict[section]
- if !ok {
- return false, false
- }
- value, ok := sec[key]
- if !ok {
- return false, false
- }
- v := value[0]
- if v == 'y' || v == 'Y' || v == '1' || v == 't' || v == 'T' {
- return true, true
- }
- if v == 'n' || v == 'N' || v == '0' || v == 'f' || v == 'F' {
- return false, true
- }
- return false, false
-}
-
-func (dict Dict) SetBool(section, key string, value bool) {
- dict.SetString(section, key, strconv.FormatBool(value))
-}
-
-func (dict Dict) GetString(section, key string) (string, bool) {
- sec, ok := dict[section]
- if !ok {
- return "", false
- }
- value, ok := sec[key]
- if !ok {
- return "", false
- }
- return value, true
-}
-
-func (dict Dict) SetString(section, key, value string) {
- _, ok := dict[section]
- if !ok {
- dict[section] = make(map[string]string)
- }
- dict[section][key] = value
-}
-
-func (dict Dict) GetInt(section, key string) (int, bool) {
- sec, ok := dict[section]
- if !ok {
- return 0, false
- }
- value, ok := sec[key]
- if !ok {
- return 0, false
- }
- i, err := strconv.Atoi(value)
- if err != nil {
- return 0, false
- }
- return i, true
-}
-
-func (dict Dict) SetInt(section, key string, value int) {
- dict.SetString(section, key, strconv.FormatInt(int64(value), 10))
-}
-
-func (dict Dict) GetDouble(section, key string) (float64, bool) {
- sec, ok := dict[section]
- if !ok {
- return 0, false
- }
- value, ok := sec[key]
- if !ok {
- return 0, false
- }
- d, err := strconv.ParseFloat(value, 64)
- if err != nil {
- return 0, false
- }
- return d, true
-}
-
-func (dict Dict) SetDouble(section, key string, value float64) {
- dict.SetString(section, key, strconv.FormatFloat(value, 'f', -1, 64))
-}
-
-func (dict Dict) Delete(section, key string) {
- _, ok := dict[section]
- if !ok {
- return
- }
- delete(dict[section], key)
- // If there are no items left in the section,
- // delete the section.
- if len(dict[section]) == 0 {
- delete(dict, section)
- }
-}
-
-func (dict Dict) GetSections() []string {
- size := len(dict)
- sections := make([]string, size)
- i := 0
- for section, _ := range dict {
- sections[i] = section
- i++
- }
- return sections
-}
-
-func (dict Dict) String() string {
- return (*dict.format()).String()
-}
-
-func (dict Dict) format() *bytes.Buffer {
- var buffer bytes.Buffer
- for section, vals := range dict {
- if section != "" {
- buffer.WriteString(fmt.Sprintf("[%s]\n", section))
- }
- for key, val := range vals {
- buffer.WriteString(fmt.Sprintf("%s = %s\n", key, val))
- }
- buffer.WriteString("\n")
- }
- return &buffer
-}
-
-func newError(message string) (e error) {
- return Error(message)
-}
diff --git a/Godeps/_workspace/src/github.com/rakyll/goini/ini_test.go b/Godeps/_workspace/src/github.com/rakyll/goini/ini_test.go
deleted file mode 100644
index 8a15eea4c..000000000
--- a/Godeps/_workspace/src/github.com/rakyll/goini/ini_test.go
+++ /dev/null
@@ -1,169 +0,0 @@
-package ini
-
-import (
- "io/ioutil"
- "testing"
-)
-
-const (
- exampleStr = `key1 = true
-
-[section1]
-key1 = value2
-key2 = 5
-key3 = 1.3
-
-[section2]
-key1 = 5
-
-`
-)
-
-var (
- dict Dict
- err error
-)
-
-func init() {
- dict, err = Load("example.ini")
-}
-
-func TestLoad(t *testing.T) {
- if err != nil {
- t.Error("Example: load error:", err)
- }
-}
-
-func TestWrite(t *testing.T) {
- d, err := Load("empty.ini")
- if err != nil {
- t.Error("Example: load error:", err)
- }
- d.SetString("", "key", "value")
- tempFile, err := ioutil.TempFile("", "")
- if err != nil {
- t.Error("Write: Couldn't create temp file.", err)
- }
- err = Write(tempFile.Name(), &d)
- if err != nil {
- t.Error("Write: Couldn't write to temp config file.", err)
- }
- contents, err := ioutil.ReadFile(tempFile.Name())
- if err != nil {
- t.Error("Write: Couldn't read from the temp config file.", err)
- }
- if string(contents) != "key = value\n\n" {
- t.Error("Write: Contents of the config file doesn't match the expected.")
- }
-}
-
-func TestGetBool(t *testing.T) {
- b, found := dict.GetBool("pizza", "ham")
- if !found || !b {
- t.Error("Example: parse error for key ham of section pizza.")
- }
- b, found = dict.GetBool("pizza", "mushrooms")
- if !found || !b {
- t.Error("Example: parse error for key mushrooms of section pizza.")
- }
- b, found = dict.GetBool("pizza", "capres")
- if !found || b {
- t.Error("Example: parse error for key capres of section pizza.")
- }
- b, found = dict.GetBool("pizza", "cheese")
- if !found || b {
- t.Error("Example: parse error for key cheese of section pizza.")
- }
-}
-
-func TestGetStringIntAndDouble(t *testing.T) {
- str, found := dict.GetString("wine", "grape")
- if !found || str != "Cabernet Sauvignon" {
- t.Error("Example: parse error for key grape of section wine.")
- }
- i, found := dict.GetInt("wine", "year")
- if !found || i != 1989 {
- t.Error("Example: parse error for key year of section wine.")
- }
- str, found = dict.GetString("wine", "country")
- if !found || str != "Spain" {
- t.Error("Example: parse error for key grape of section wine.")
- }
- d, found := dict.GetDouble("wine", "alcohol")
- if !found || d != 12.5 {
- t.Error("Example: parse error for key grape of section wine.")
- }
-}
-
-func TestSetBoolAndStringAndIntAndDouble(t *testing.T) {
- dict.SetBool("pizza", "ham", false)
- b, found := dict.GetBool("pizza", "ham")
- if !found || b {
- t.Error("Example: bool set error for key ham of section pizza.")
- }
- dict.SetString("pizza", "ham", "no")
- n, found := dict.GetString("pizza", "ham")
- if !found || n != "no" {
- t.Error("Example: string set error for key ham of section pizza.")
- }
- dict.SetInt("wine", "year", 1978)
- i, found := dict.GetInt("wine", "year")
- if !found || i != 1978 {
- t.Error("Example: int set error for key year of section wine.")
- }
- dict.SetDouble("wine", "not-exists", 5.6)
- d, found := dict.GetDouble("wine", "not-exists")
- if !found || d != 5.6 {
- t.Error("Example: float set error for not existing key for wine.")
- }
-}
-
-func TestDelete(t *testing.T) {
- d, err := Load("empty.ini")
- if err != nil {
- t.Error("Example: load error:", err)
- }
- d.SetString("pizza", "ham", "yes")
- d.Delete("pizza", "ham")
- _, found := d.GetString("pizza", "ham")
- if found {
- t.Error("Example: delete error for key ham of section pizza.")
- }
- if len(d.GetSections()) > 1 {
- t.Error("Only a single section should exist after deletion.")
- }
-}
-
-func TestGetNotExist(t *testing.T) {
- _, found := dict.GetString("not", "exist")
- if found {
- t.Error("There is no key exist of section not.")
- }
-}
-
-func TestGetSections(t *testing.T) {
- sections := dict.GetSections()
- if len(sections) != 3 {
- t.Error("The number of sections is wrong:", len(sections))
- }
- for _, section := range sections {
- if section != "" && section != "pizza" && section != "wine" {
- t.Errorf("Section '%s' should not be exist.", section)
- }
- }
-}
-
-func TestString(t *testing.T) {
- d, err := Load("empty.ini")
- if err != nil {
- t.Error("Example: load error:", err)
- }
- d.SetBool("", "key1", true)
- d.SetString("section1", "key1", "value2")
- d.SetInt("section1", "key2", 5)
- d.SetDouble("section1", "key3", 1.3)
- d.SetDouble("section2", "key1", 5.0)
- if d.String() != exampleStr {
- t.Errorf("Dict cannot be stringified as expected.")
- }
-}