2016-06-21 02:16:05 +02:00
|
|
|
// 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
|
|
|
|
}
|
|
|
|
|
2016-11-06 03:39:31 +01:00
|
|
|
var _configYaml = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x5b\xdd\x8f\x1b\x37\x92\x7f\xd7\x5f\x51\x91\xcf\x38\x1b\x98\x55\x3c\xbe\xcd\xee\x42\xf0\x3a\x98\xd8\xbe\x8b\x0f\x76\x1c\xd8\xce\x02\xfb\xd4\xa0\xba\xab\xd5\xdc\xe9\x26\x7b\xf9\x21\x8d\xf2\xd7\x1f\xaa\xf8\xd1\x2d\xb5\x66\x24\x8d\x03\xdc\xbc\xc4\x62\x17\xab\xc8\xfa\xe2\xaf\x8a\xcc\x13\xf8\xe8\xbb\x55\x8b\x6f\xff\x77\xf6\x04\x7e\xda\xc1\x47\xe1\x5c\x23\xd1\xc3\xff\x18\x89\x6b\x34\xb3\x27\xf0\x46\xf7\x3b\x23\xd7\x8d\x83\x67\xe5\x73\x78\xf9\xe2\xfa\x2f\x13\x2a\x78\xf6\xf1\xfd\x57\xf8\x20\x4b\x54\x16\x9f\xcf\x9e\x40\xa9\x55\x2d\xd7\x8b\x9d\xe8\xda\xd9\x4c\xf4\xb2\xb8\xc5\x9d\x5d\xce\x66\x00\x00\x4f\xe0\x9f\xda\x7f\xf5\x2b\x84\x9b\x5f\xdf\xc3\x2d\xee\x16\x3c\xbc\xd3\xde\xf9\x15\x2e\x61\x3e\x4f\x74\x5f\xb4\x57\xd5\x9b\x56\xfb\x6a\x9f\xf4\x09\xfc\xf2\xe9\xeb\xbb\x25\x7c\x6d\x32\x0f\x90\x96\x38\x18\x28\x5b\x89\xca\xc1\xfb\xb7\x81\xd4\x12\x8b\x92\x58\x04\xc6\xb3\x0a\x6b\xe1\x5b\x37\x2c\xe6\x6d\x18\x80\x52\x77\x1d\xcd\x74\x1a\x56\x08\xa2\xef\x5b\x89\x15\xff\xd2\x6e\x5f\xec\xfb\x9a\x44\x41\xa5\x41\x69\x07\x5b\xa1\x1c\x88\x3c\x7d\xb5\x83\x28\xe2\x0a\x2c\x32\x3b\xec\x7a\xb7\x03\xeb\x8c\x54\x6b\x78\x36\x9f\x3f\x0f\xec\xe2\x8c\x25\xcc\x7f\xc6\xb6\xd5\xdf\xc1\x7b\x10\x1d\x08\x96\x07\x5f\x77\x3d\xc2\x77\x0d\xb6\x3d\xd4\xda\x80\x80\x56\x5a\x07\xba\xe6\x59\x42\x55\x76\x31\x9f\x6c\xa0\x11\x4a\x61\xcb\xf4\xae\x41\xe2\xc3\xd2\x95\x43\x03\xbe\xd7\x8a\xac\xa2\xb0\x74\x52\xab\xa3\x1b\xda\x4a\xdb\x1c\xce\x8e\x53\xe8\x9f\x34\x6a\xb4\xce\x82\x4e\xee\x2f\x90\x8d\x0d\xfa\x26\x2c\x9e\x26\x79\x8b\xf4\x9f\xbe\x15\x3b\x10\xbe\x92\x1a\x6a\xd9\xa2\x5d\xb0\x51\xdd\x56\x83\xf5\x7d\xaf\x8d\xc3\x0a\xca\x46\xcb\x12\x2d\x08\x83\x30\xaf\xeb\xae\xc7\xf5\x1c\x88\xcd\x5c\x6c\x4a\xad\x36\xf3\x20\x8f\x58\xa1\x29\xa2\x82\x96\x99\x74\x36\x9b\xfd\xdb\xa3\xc7\x6c\xf1\xcf\xc2\x49\xda\x8e\x70\xd0\x79\xeb\xc8\xdc\x1d\x3a\xd0\x06\xf0\xae\x44\xac\x82\xd9\x9d\x91\x6b\x72\x6d\x01\xce\x88\xf2\x16\xec\xad\xec\x83\x20\xfe\x5d\xd0\xef\xc2\x10\xab\x25\xbc\x58\xfc\xf0\x58\xe6\xb4\x6a\xb6\xed\xc0\x3f\x0d\xdd\x27\xe2\xa3\xb8\x93\x9d\xef\xe2\xba\x2a\xcf\x14\x0a\xa4\x02\x8b\xa5\x26\xdf\x80\x2f\xc1\x32\x2f\xd8\x9c\x5e\x19\x24\xeb\x94\xa4\xcc\x44\x1e\x44\x75\xe2\xae\x08\xdb\x49\xe3\x4b\x78\x71\x54\x8e\x85\x1e\x4d\x5e\xda\x43\x12\x12\x8d\x3d\x10\x61\x8b\x1e\x4d\x91\xbe\x2e\xe1\x87\x2c\xe8\xbd\x05\xdb\xf8\xba\x6e\xc9\x81\x50\x89\x55\x8b\x15\x6c\x1b\x54\xd9\x13\xad\x13\xc6\xd9\x1f\x99\x5e\x78\xa7\x3b\xe1\x64\x59\x84\x49\x58\xd0\xaa\x6b\xd1\x5a\x4c\x0c\x6f\x94\xd2\x5e\x95\x18\x55\x24\x55\xad\x4d\x17\xb4\x24\x5c\x60\x8a\x6b\xa9\x14\xc9\xd3\x75\xf4\x3f\x5a\xd9\x4a\x94\xb7\x51\x4a\x64\x51\x28\xdc\xc6\xf5\x2f\xc1\x19\x8f\xb3\xd9\x6c\x88\xa3\xec\x53\x37\x55\x65\xd0\xda\xb0\xd8\x46\xfb\xb6\x02\xe1\x1c\x45\xc6\x7e\x14\x05\x9d\x88\x40\xbd\x84\xf9\xf5\xcb\xbf\x2e\x5e\x2c\x5e\x2c\xae\x73\x8c\xfc\xaa\x8d\x3b\x93\x0d\xc5\xc7\x12\xe6\x7f\xf9\xf3\x5f\xff\xeb\x6f\xc3\x7c\x61\xed\x56\x9b\x8a\x0d\x93\x56\xaa\xd6\x34\xdf\xa2\xd9\xa0\x99\xc4\xbe\xd2\xd0\xc7\x49\xa7\x62\x3a\xd1\x8d\x83\xfa\x37\x8b\x46\x89\x0e\x59\x60\x3a\x4d\x02\xb9\x8f\x9f\x96\x30\x4f\x1f\xf2\xb4\xff\x96\x2d\xf6\xc2\x35\x31\x19\x18\xe8\xaf\x5f\x72\x0e\x08\x09\xcf\xbb\x06\x95\x93\xa5\xe0\xc5\x0b\x0b\x02\x0c\xae\xa5\x75\x68\xb0\xe2\x09\x47\xf7\x91\x78\x48\x0b\x8a\xa3\xed\xd4\x8e\x88\x53\xd1\x5f\xbf\xdc\x3b\x77\x82\xe6\x93\xf3\x25\x0b\x08\x8a\x31\x8b\xa5\x37\x38\x4a\xa5\x3f\x66\x9f\x3b\xf6\x15\x2a\x8d\x96\xcf\x89\x0d\x1a\x59\xef\x98\x69\x89\xc6\xc9\x9a\xf6\x86\xe4\x7e\x34\x14\x4c\x43\x5b\x8f\xec\x4a\xad\x2c\xed\x56\x95\xbb\x05\xbc\x77\xb4\xa1\x15\x5a\xde\x49\x8b\x62\x83\xe0\x1a\x69\x41\xab\x2b\x58\x79\x07\x95\xb4\x14\x35\x20\x1d\xc8\x90\xcc\x29\x59\x36\x62\x23\xd5\x3a\x32\x94\xd6\x7a\xb4\x07\x1e\x21\x92\x60\x52\xb9\x41\x30\x3e\x04\x45\xe7\x5b\x27\x7b\x62\xa8\xac\x13\x8a\xb2\xaf\xae\x0f\x8c\x9b\x76\x7b\x10\x7b\x63\xbb\x8e\x37\x4a\x66\x39\x66\xb2\x43\x9a\xf3\x4d\x47\x33\xc7\x66\xbb\x4f\x32\xc1\x83\xfb\xa4\x47\xe8\x70\x9e\xc0\x5b\xdc\x8d\xe5\xdd\x94\x25\x85\xbc\xd3\xb7\xa8\xe8\x3f\x20\x95\x74\x52\xb4\xf2\x77\xcc\xbe\xb3\x95\xae\x21\xb6\xbd\x30\x82\x92\xe3\x6a\x17\x4e\x70\x7b\x6c\x31\
|
2016-06-21 02:16:05 +02:00
|
|
|
|
|
|
|
func configYamlBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_configYaml,
|
|
|
|
"config.yaml",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
func configYaml() (*asset, error) {
|
|
|
|
bytes, err := configYamlBytes()
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-11-06 03:39:31 +01:00
|
|
|
info := bindataFileInfo{name: "config.yaml", size: 14137, mode: os.FileMode(420), modTime: time.Unix(1478399231, 0)}
|
2016-06-21 02:16:05 +02:00
|
|
|
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
|
|
|
|
}
|
2016-11-06 03:39:31 +01:00
|
|
|
|
2016-06-21 02:16:05 +02:00
|
|
|
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, "/")...)...)
|
|
|
|
}
|