236 lines
15 KiB
Go
236 lines
15 KiB
Go
|
// Code generated by go-bindata.
|
||
|
// sources:
|
||
|
// config.yaml
|
||
|
// DO NOT EDIT!
|
||
|
|
||
|
package main
|
||
|
|
||
|
import (
|
||
|
"bytes"
|
||
|
"compress/gzip"
|
||
|
"fmt"
|
||
|
"io"
|
||
|
"io/ioutil"
|
||
|
"os"
|
||
|
"path/filepath"
|
||
|
"strings"
|
||
|
"time"
|
||
|
)
|
||
|
|
||
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
||
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||
|
}
|
||
|
|
||
|
var buf bytes.Buffer
|
||
|
_, err = io.Copy(&buf, gz)
|
||
|
clErr := gz.Close()
|
||
|
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
||
|
}
|
||
|
if clErr != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
return buf.Bytes(), nil
|
||
|
}
|
||
|
|
||
|
type asset struct {
|
||
|
bytes []byte
|
||
|
info os.FileInfo
|
||
|
}
|
||
|
|
||
|
type bindataFileInfo struct {
|
||
|
name string
|
||
|
size int64
|
||
|
mode os.FileMode
|
||
|
modTime time.Time
|
||
|
}
|
||
|
|
||
|
func (fi bindataFileInfo) Name() string {
|
||
|
return fi.name
|
||
|
}
|
||
|
func (fi bindataFileInfo) Size() int64 {
|
||
|
return fi.size
|
||
|
}
|
||
|
func (fi bindataFileInfo) Mode() os.FileMode {
|
||
|
return fi.mode
|
||
|
}
|
||
|
func (fi bindataFileInfo) ModTime() time.Time {
|
||
|
return fi.modTime
|
||
|
}
|
||
|
func (fi bindataFileInfo) IsDir() bool {
|
||
|
return false
|
||
|
}
|
||
|
func (fi bindataFileInfo) Sys() interface{} {
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
var _configYaml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xac\x59\x6d\x6f\xdb\x38\x12\xfe\x9e\x5f\xc1\x3a\x07\x5c\x0b\x64\xdd\xa4\xb7\xdd\x5d\x04\x38\x14\x69\x9a\xbb\xe6\xd0\x5c\x8b\x26\xf7\xe1\x3e\x19\x8c\x44\x59\xdc\x48\xa4\x4e\xa4\xec\xf8\x7e\xfd\x3e\xc3\x37\xd9\x96\x12\xdb\xe9\x66\x17\xa8\x45\x0d\x67\x9e\x79\x1f\x52\xc7\xec\xa6\xab\xef\x2b\xf1\xe9\x5f\x47\xc7\xec\xe3\x8a\xdd\x70\x6b\x4b\x29\x3a\xf6\xcf\x56\x8a\xb9\x68\xb1\x7a\xa9\x9b\x55\x2b\xe7\xa5\x65\xaf\xb3\x37\xec\xdd\xe9\xd9\x2f\x03\x2a\xf6\xfa\xe6\xfa\x8e\x7d\x91\x99\x50\x46\xbc\xc1\x9e\x4c\xab\x42\xce\xa7\x2b\x5e\x57\x47\x47\xbc\x91\xb3\x07\xb1\x32\xe7\x47\x47\x0c\x7f\xc7\xec\xbf\xba\xbb\xeb\xee\x05\xbb\xf8\x76\xcd\xf0\x62\xea\x96\x57\xba\xb3\x58\x3c\x67\x93\x49\xa4\xbb\xd5\x9d\xca\x2f\x2b\xdd\xe5\x9b\xa4\xc7\xec\xdf\x5f\xef\xae\xce\xd9\x5d\x99\x78\x30\x69\x88\x43\xcb\xb2\x4a\x0a\x65\xd9\xf5\x27\x4f\x6a\x88\x45\x46\x2c\x3c\xe3\xa3\x5c\x14\xbc\xab\x6c\x0f\xe6\x93\x5f\x00\xe4\xba\xa6\x9d\x56\x33\x40\xe3\x4d\x03\x46\xb9\x7b\xd2\x76\x53\xec\x75\x41\xa2\x58\xae\x99\xd2\x96\x2d\x39\x36\xf1\xb4\xfd\x7e\xc5\x82\x88\x13\x66\x84\x63\x27\xea\xc6\xae\x98\xb1\xad\x54\x73\xf6\x7a\x32\x79\xe3\xd9\x85\x1d\xc0\xf5\x59\x54\x95\x7e\xc5\xae\x19\xaf\xc1\x89\xe4\xb1\xbb\x55\x23\xd8\xab\x52\x54\x0d\x2b\x74\x8b\xd5\x4a\x1a\xcb\x74\xe1\x76\x71\x95\x9b\xe9\x64\xa0\x40\xc9\x95\x12\x95\xa3\xb7\xb0\x0c\xf8\x38\xe9\xca\xc2\x41\x5d\xa3\x15\x79\x45\x89\xcc\x4a\xad\x46\x15\x5a\x4a\x53\x6e\xef\x0e\x5b\xe8\x27\xad\xb6\x5a\x27\x41\x3b\xf5\xf3\x64\xeb\x0e\xbd\xf4\xe0\x69\x53\x67\x04\xfd\xd3\x54\x7c\xc5\x78\x97\x4b\xcd\x0a\x59\x09\x33\x75\x4e\xb5\x4b\xcd\x4c\xd7\x34\xba\xb5\xf0\x41\x56\x6a\x44\x96\x61\xbc\x15\x6c\x52\x14\x75\x23\xe6\x13\x46\x6c\x26\x7c\x01\x7c\x8b\x89\x97\x47\xac\x44\x3b\x0b\x06\x3a\x4f\xa4\x70\xfa\xff\x3a\xd1\x89\xe4\xf1\xef\x1c\x26\x80\x3a\xdc\xb2\xba\x83\x55\xe1\xee\x1a\x9a\x40\x71\xf1\x98\x09\x91\x7b\xb7\x43\x9d\x39\x85\x36\xc7\x2f\x9e\x3d\x30\xf3\x20\x1b\x2f\xc8\x3d\xcf\xe8\x79\xd6\x12\xab\x73\x76\x3a\x7d\xff\x52\xe6\x84\xda\xf9\xb6\xe7\x1f\x97\x9e\x12\x71\xc3\x1f\x65\xdd\xd5\x01\x57\xde\x39\x0a\xc5\xa4\x82\x43\x60\x0f\xc4\x06\xbb\xf5\x9e\x39\x75\xee\xec\x54\x2b\xc8\x3b\x19\x19\x33\x92\x7b\x51\x35\x7f\x9c\x79\x75\xe2\x3a\x24\x8d\xca\x31\xac\x01\xde\x08\xed\x39\x09\x91\xc6\x6c\x89\x30\x33\x70\x98\xc5\xb7\xe7\xec\x7d\x12\x74\x6d\x98\x29\xbb\xa2\xa8\x28\x80\x84\xe2\xa8\x47\x39\x5b\x96\x42\xa5\x48\x34\x96\xb7\xd6\x7c\x70\xf4\xbc\xb3\xba\x06\xd6\x6c\xe6\x37\x89\x19\xa1\x2e\x78\x65\x44\x64\x78\xa1\x14\xf2\x3e\x13\xc1\x44\x52\x01\x64\xed\xad\x04\xbf\x38\xa6\x62\x2e\x95\x22\x79\xc8\x29\x1f\x7f\x84\xec\x1e\xe4\x41\x4a\x60\x31\x53\x62\x19\xf0\x9f\x83\x5d\x07\x19\x47\x7d\x1e\xa5\x98\xba\xc8\x73\x98\xc0\x78\xb0\xa5\xee\xaa\x1c\x92\x2c\x65\xc6\x66\x16\x79\x9b\x70\x4f\x8d\x18\x3d\x7b\xf7\xeb\xf4\x14\xff\x9d\xa5\x1c\xf9\x86\xa0\xdf\x93\x0d\xe5\x07\x78\xfc\xf2\xf3\xaf\x7f\xfb\xad\xdf\xcf\x8d\x59\xea\x36\x77\x8e\x89\x48\xa1\x27\xf6\x1b\xd1\x2e\x44\x3b\xc8\x7d\x05\xdd\xc3\xa6\x5d\x39\x1d\xe9\xd6\x93\xfa\x3f\x60\xab\x78\x2d\x9c\xc0\xd8\x4d\x3c\x79\x17\x5e\x81\x3c\xbe\xe8\x8b\xbb\x57\x2f\x7a\x38\xaa\xc9\x29\x90\x11\xc7\x1d\x92\xbd\xb7\xf3\x87\xe4\xd8\xb1\xb7\x28\xc5\x28\x0f\x54\x8c\xa1\x9e\x2c\x56\x8e\x69\x26\x5a\x2b\x0b\x99\x71\x2b\xc8\xc7\xb4\xe4\xf5\x27\x9c\x81\x1d\x58\x18\xc4\xa2\x50\xd9\x6a\xca\xae\x2d\x35\x91\x7b\x04\x32\x19\xa0\x12\x7c\x81\xf8\x29\xb1\xa4\xd5\x09\xbb\xef\x2c\xcb\xa5\xa1\xd0\x64\x12\x84\xbe\x62\x52\x45\x2a\xf9\x02\x36\x0a\x0c\xa5\x31\x1d\xa0\x6c\x9a\x9d\x47\xc1\x54\xc8\xb1\xa3\xed\x7c\xe4\xd5\xa8\xda\xb2\x21\x86\x0a\xf1\xad\xa8\xc4\x01\xe8\xa6\x05\xa3\xb6\x5b\x01\xfe\x0f\xd4\xca\x86\xdb\xd2\x45\xc5\x9a\xa2\x54\x43\xc7\xfc\xbb\x4d\x43\x9a\x2a\x57\x8d\x76\x56\x71\xe1\x62\x6c\xb2\x4b\x32\xf5\xe0\xa7\xa4\x87\xfe\xbc\x9f\x40\x10\xaf\xcb\xbb\xc8\x32\xca\x2b\xab\x1f\x30\x5b\xd0\x36\xa9\xa4\x95\xbc\x92\xff\x17\x29\x76\x96\xd2\x96\xc4\xb6\xe1\xa8\x61\x28\x1d\xe8\xc1\xae\x0b\x98\x31\x30\x7c\x83\x21\xf9\x63\x3f\x5c\x7e\xdf\xcc\xef\xdb\x98\x52\xb6\x02\x39\x96\x27\x5e\x55\xab\xf5\xec\x6d\x85\x6d\x57\xeb\x51\xbb\x1e\x1a\xbc\xa0\x2e\x8d\x08\xeb\x43\xc7\xc7\xbc\xdb\x35\x0b\x45\
|
||
|
|
||
|
func configYamlBytes() ([]byte, error) {
|
||
|
return bindataRead(
|
||
|
_configYaml,
|
||
|
"config.yaml",
|
||
|
)
|
||
|
}
|
||
|
|
||
|
func configYaml() (*asset, error) {
|
||
|
bytes, err := configYamlBytes()
|
||
|
if err != nil {
|
||
|
return nil, err
|
||
|
}
|
||
|
|
||
|
info := bindataFileInfo{name: "config.yaml", size: 8709, mode: os.FileMode(420), modTime: time.Unix(1466393994, 0)}
|
||
|
a := &asset{bytes: bytes, info: info}
|
||
|
return a, nil
|
||
|
}
|
||
|
|
||
|
// Asset loads and returns the asset for the given name.
|
||
|
// It returns an error if the asset could not be found or
|
||
|
// could not be loaded.
|
||
|
func Asset(name string) ([]byte, error) {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
if f, ok := _bindata[cannonicalName]; ok {
|
||
|
a, err := f()
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
||
|
}
|
||
|
return a.bytes, nil
|
||
|
}
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
|
||
|
// MustAsset is like Asset but panics when Asset would return an error.
|
||
|
// It simplifies safe initialization of global variables.
|
||
|
func MustAsset(name string) []byte {
|
||
|
a, err := Asset(name)
|
||
|
if err != nil {
|
||
|
panic("asset: Asset(" + name + "): " + err.Error())
|
||
|
}
|
||
|
|
||
|
return a
|
||
|
}
|
||
|
|
||
|
// AssetInfo loads and returns the asset info for the given name.
|
||
|
// It returns an error if the asset could not be found or
|
||
|
// could not be loaded.
|
||
|
func AssetInfo(name string) (os.FileInfo, error) {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
if f, ok := _bindata[cannonicalName]; ok {
|
||
|
a, err := f()
|
||
|
if err != nil {
|
||
|
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
||
|
}
|
||
|
return a.info, nil
|
||
|
}
|
||
|
return nil, fmt.Errorf("AssetInfo %s not found", name)
|
||
|
}
|
||
|
|
||
|
// AssetNames returns the names of the assets.
|
||
|
func AssetNames() []string {
|
||
|
names := make([]string, 0, len(_bindata))
|
||
|
for name := range _bindata {
|
||
|
names = append(names, name)
|
||
|
}
|
||
|
return names
|
||
|
}
|
||
|
|
||
|
// _bindata is a table, holding each asset generator, mapped to its name.
|
||
|
var _bindata = map[string]func() (*asset, error){
|
||
|
"config.yaml": configYaml,
|
||
|
}
|
||
|
|
||
|
// AssetDir returns the file names below a certain
|
||
|
// directory embedded in the file by go-bindata.
|
||
|
// For example if you run go-bindata on data/... and data contains the
|
||
|
// following hierarchy:
|
||
|
// data/
|
||
|
// foo.txt
|
||
|
// img/
|
||
|
// a.png
|
||
|
// b.png
|
||
|
// then AssetDir("data") would return []string{"foo.txt", "img"}
|
||
|
// AssetDir("data/img") would return []string{"a.png", "b.png"}
|
||
|
// AssetDir("foo.txt") and AssetDir("notexist") would return an error
|
||
|
// AssetDir("") will return []string{"data"}.
|
||
|
func AssetDir(name string) ([]string, error) {
|
||
|
node := _bintree
|
||
|
if len(name) != 0 {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
pathList := strings.Split(cannonicalName, "/")
|
||
|
for _, p := range pathList {
|
||
|
node = node.Children[p]
|
||
|
if node == nil {
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
if node.Func != nil {
|
||
|
return nil, fmt.Errorf("Asset %s not found", name)
|
||
|
}
|
||
|
rv := make([]string, 0, len(node.Children))
|
||
|
for childName := range node.Children {
|
||
|
rv = append(rv, childName)
|
||
|
}
|
||
|
return rv, nil
|
||
|
}
|
||
|
|
||
|
type bintree struct {
|
||
|
Func func() (*asset, error)
|
||
|
Children map[string]*bintree
|
||
|
}
|
||
|
var _bintree = &bintree{nil, map[string]*bintree{
|
||
|
"config.yaml": &bintree{configYaml, map[string]*bintree{}},
|
||
|
}}
|
||
|
|
||
|
// RestoreAsset restores an asset under the given directory
|
||
|
func RestoreAsset(dir, name string) error {
|
||
|
data, err := Asset(name)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
info, err := AssetInfo(name)
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
err = os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
// RestoreAssets restores an asset under the given directory recursively
|
||
|
func RestoreAssets(dir, name string) error {
|
||
|
children, err := AssetDir(name)
|
||
|
// File
|
||
|
if err != nil {
|
||
|
return RestoreAsset(dir, name)
|
||
|
}
|
||
|
// Dir
|
||
|
for _, child := range children {
|
||
|
err = RestoreAssets(dir, filepath.Join(name, child))
|
||
|
if err != nil {
|
||
|
return err
|
||
|
}
|
||
|
}
|
||
|
return nil
|
||
|
}
|
||
|
|
||
|
func _filePath(dir, name string) string {
|
||
|
cannonicalName := strings.Replace(name, "\\", "/", -1)
|
||
|
return filepath.Join(append([]string{dir}, strings.Split(cannonicalName, "/")...)...)
|
||
|
}
|
||
|
|