2016-06-10 17:27:27 +00:00
|
|
|
// Code generated by go-bindata.
|
|
|
|
// sources:
|
2016-06-10 21:18:44 +00:00
|
|
|
// assets/public/css/styles.css
|
|
|
|
// assets/public/js/application.js
|
2016-06-14 19:33:59 +00:00
|
|
|
// assets/templates/actions.tmpl
|
2016-06-10 21:38:52 +00:00
|
|
|
// assets/templates/base.tmpl
|
|
|
|
// assets/templates/listing.tmpl
|
2016-06-11 13:32:50 +00:00
|
|
|
// assets/templates/single.tmpl
|
2016-06-10 17:27:27 +00:00
|
|
|
// DO NOT EDIT!
|
|
|
|
|
2016-06-10 21:18:44 +00:00
|
|
|
package filemanager
|
2016-06-10 17:27:27 +00:00
|
|
|
|
|
|
|
import (
|
2016-06-23 14:44:52 +00:00
|
|
|
"bytes"
|
|
|
|
"compress/gzip"
|
2016-06-10 17:27:27 +00:00
|
|
|
"fmt"
|
2016-06-23 14:44:52 +00:00
|
|
|
"io"
|
2016-06-10 17:27:27 +00:00
|
|
|
"io/ioutil"
|
|
|
|
"os"
|
|
|
|
"path/filepath"
|
|
|
|
"strings"
|
2016-06-23 14:44:52 +00:00
|
|
|
"time"
|
2016-06-10 17:27:27 +00:00
|
|
|
)
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
func bindataRead(data []byte, name string) ([]byte, error) {
|
|
|
|
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
2016-06-10 17:27:27 +00:00
|
|
|
if err != nil {
|
2016-06-23 14:44:52 +00:00
|
|
|
return nil, fmt.Errorf("Read %q: %v", name, err)
|
2016-06-10 17:27:27 +00:00
|
|
|
}
|
2016-06-23 14:44:52 +00:00
|
|
|
|
|
|
|
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
|
2016-06-10 17:27:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
type asset struct {
|
|
|
|
bytes []byte
|
|
|
|
info os.FileInfo
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
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 _publicCssStylesCss = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xbc\x5b\x79\x6f\xdb\x48\x96\xff\x7f\x80\xf9\x0e\x35\x31\x1a\x89\x33\x22\x2d\xc9\x47\x12\x79\x07\x18\x6f\x8f\x7b\xda\x98\x24\xbd\x48\xb2\xd8\x1d\x04\x01\x58\x22\x8b\x52\xad\x49\x16\xc1\x22\x6d\x2b\xbd\xf9\xee\xfb\x5e\x5d\x2c\x92\x25\xd9\xd9\xdd\xee\xa8\x3b\x3a\xea\x78\xaf\xde\xf1\x7b\x47\x31\x27\x2f\xff\x44\x2a\xd1\x94\xb4\xe0\x5f\x59\x9c\x4a\x49\xee\x4e\xe3\x79\x7c\x4a\xfe\x9b\xbc\xbb\xf9\x44\xde\xf2\x94\x55\x92\xc1\xb7\x0d\x6f\xb7\xdd\x3a\x4e\x45\x79\x52\xb1\x54\x14\x54\x9e\x0c\xd7\xbd\x3c\xf9\xe3\x1f\xf0\x75\xf2\xf2\xe5\x1f\xff\x40\x5e\x92\x45\x4c\x3e\xb2\x96\x64\x2c\xa7\x5d\xd1\x92\x5c\x54\xf0\x17\x2d\x79\xb1\x23\xad\x20\x92\x56\x32\x92\xac\xe1\x79\xac\x66\x2f\x63\xf2\x6f\x0d\xbb\x63\x30\x89\xff\xf2\x91\xd0\x2a\x23\x37\xd7\xa4\x65\x0f\x2d\x91\x40\x81\xd0\xec\xbf\x3a\xd9\x12\x9a\xb7\xac\x81\x3d\xef\x80\x2f\x22\x1a\x0e\xf3\x69\xcb\x45\x45\xd2\x2d\xad\x36\x6c\xa6\xf6\x82\x3f\xf7\xc0\xad\xe8\x80\x3a\x97\x74\x5d\xf0\x6a\x43\x3a\x20\x46\xbe\x0a\x51\x2a\x7a\x8a\xd7\x6d\x5b\x16\xe4\x57\xf8\x0a\x7f\x90\xbd\x48\xb3\xb7\xf2\x98\xbb\xd4\xa3\x27\x70\x1c\xb5\x08\xbf\x44\xa5\x8c\x90\xb1\x08\x19\x8b\x34\x63\x2b\xb2\x98\xcf\x7f\xe8\x67\x2f\xfb\xd9\xf7\x6c\x7d\xcb\xdb\x27\xae\xf8\xe6\x4b\xf0\x03\x2b\xc5\x1d\x73\x12\x2c\x69\xb3\xe1\x55\xcf\xfe\x5a\x64\x3b\xcb\xbe\x1e\x5b\x91\xf9\xa5\xdb\x83\xfc\xfc\xe9\xdd\xdb\x73\x94\x40\x5d\xd0\x1d\xee\xc2\x2b\x8e\xb2\x92\x6a\xc9\x5f\xfe\xdf\xfe\x4c\x34\xff\xa3\x68\x1a\x96\xb6\x24\x59\x17\x22\xbd\x4d\x1c\x0b\x95\x68\x35\x1b\x2c\x03\x79\x37\xa0\xe4\x9d\x61\x92\x15\xac\x54\xaa\xaf\x50\xeb\xaf\x4f\xde\xc4\xdf\xb5\x51\x92\xb1\x96\xf2\x42\x26\x04\xbf\xc8\xae\x04\x71\xec\x12\xb3\xdb\x62\x7e\xb2\x58\xa8\xed\xd0\xa8\x7e\xe2\x0d\xcb\xc5\xc3\x77\xee\x5f\x52\x5e\xb9\xfd\x16\xbd\x0a\x68\xd3\xf2\xb4\x60\x33\x42\x25\xcf\xe0\xcd\xf0\x31\x23\x39\xdf\xa4\xb4\x46\x69\xab\xcf\x5d\x03\x83\xb9\x10\x60\xbc\x33\xb2\x65\x34\x53\xef\x9b\x46\x74\xf5\x8c\xe0\xe6\xf0\x37\xab\xba\x19\xa9\xe8\xdd\x8c\x48\xe0\x49\xad\x34\x27\xb1\x4a\x36\xec\xad\x88\x62\xf7\x72\x64\x2d\xe0\x6f\xee\x3c\xbc\x02\x9b\x67\xd1\x81\x63\x8d\x24\x0d\xee\xf7\xde\x7a\x33\xb9\x63\x78\x2c\x5a\x10\xf8\xba\xa9\x94\x62\x44\x4e\x92\xba\x11\x9b\x86\x49\xa9\x04\xf1\xe3\xb6\x11\x25\x1c\xca\xc8\x73\xa6\x84\xfb\x4b\xcd\x1a\xea\x49\xa7\xcb\xb8\x98\x91\x94\x56\x77\x14\x64\x62\xd7\xcf\xc8\x1d\x08\x4b\x4c\x4e\xe5\x33\x1d\xf2\x3b\xcb\x56\xa4\xd8\x02\x29\x50\xc9\x70\xc5\x41\x1f\xb2\xa0\x52\x0a\x90\x79\x45\xd6\x8d\xb8\x07\xc7\x96\x24\x07\xf6\x2d\x69\x84\x87\x44\x31\x9b\x38\xe0\x48\x01\x0f\x1a\x51\xc8\xd8\xf7\x44\xf6\x90\x02\xff\xa0\x40\xbe\xd9\x2a\x63\x45\xa8\x3a\x37\x70\x24\x47\x07\x5f\x81\xb8\x5f\x7c\xb6\xfb\x7c\x39\x9e\x9c\xb7\x12\x8e\x77\xbd\xe3\xc0\x7d\x35\xfb\x57\x59\x86\x22\x23\xc9\xe7\x2d\xcf\x32\x56\x7d\x49\x88\x6c\x77\x0a\xd0\x50\x9b\x35\x0c\x0e\xfc\xe6\x64\x31\xd7\x1c\xff\x0c\x22\x26\xed\x96\x91\xa4\x65\x25\xd0\x6b\x59\x32\xf5\xb2\x13\xe5\x1b\x33\xf2\x91\xe6\xb4\xe1\x33\xdf\x41\xc8\xbf\x90\xe5\xb2\x3f\x91\x25\x3f\x23\x76\xbb\x7d\xc7\xb1\xe8\xf3\x96\x57\xb7\xbf\x39\xd2\x18\xbd\xe0\x39\x37\x0d\x58\xf8\x9a\xa6\xb7\xe8\x55\x70\x0e\x08\x51\xe0\xb9\x4a\xcd\x14\xdc\x09\x66\x15\xc8\x91\x03\x05\x4f\x5b\xf6\x28\xfd\xea\x48\xad\x5e\x91\xb6\x81\x48\x50\xd3\x06\xa4\x36\xd6\xcc\x4d\x09\xf6\x0c\xbb\x36\xe0\xcd\x74\xcd\x0b\xde\xee\xd0\x4b\x72\x91\x42\xa4\xc9\xac\xac\x25\xb9\xdf\xb2\x0a\x19\xdc\x11\xd8\x06\x3c\x4a\x0a\x64\x81\x56\x1a\x91\x14\x67\x27\x5b\xd8\xa8\x01\xc5\x82\x58\x3d\xb6\x56\x7a\x14\xd4\xb2\xd2\x13\x0c\x9b\x60\x9e\x68\xf6\x43\xb0\xff\x84\xe1\xa5\x00\x5b\x2f\x00\x3e\x4a\x5a\x81\xa7\xfc\xe6\xd2\xb7\xc6\xf9\x98\x45\x4e\x6c\x4c\x83\x87\x77\xd4\xf5\xba\xf9\xdc\xf2\xb6\x60\x5f\x9c\x2e\x44\x03\x0e\x1b\xad\x45\xdb\x8a\x12\x62\x65\xfd\x40\x32\xf8\xcc\xb2\x7d\x1e\x82\x4c\x30\x38\x7b\x8b\xd9\x45\xb2\x16\x05\x2c\x57\x48\x65\x0d\xfa\xec\xcf\x87\x99\x58\x03\xde\x82\xab\xc2\x39\xfc\x94\xe0\xde\x78\xe6\xf9\x7c\xaf\x6f\xee\x39\xbe\xa6\x15\x24\x95\xe5\xd5\x80\x88\xe2\x1d\x00\xb0\x05\x64\x4b\xf7\x91\xb9\x83\xdd\x20\x97\x01\x8f\xde\x2e\x12\xb3\x4e\x65\x46\x40\x40\x87\x7f\x05\x5e\xf0\x96\x98\x00\x92\xa8\xb1\xc4\x04\
|
|
|
|
|
|
|
|
func publicCssStylesCssBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_publicCssStylesCss,
|
|
|
|
"public/css/styles.css",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2016-06-10 21:18:44 +00:00
|
|
|
func publicCssStylesCss() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := publicCssStylesCssBytes()
|
2016-06-10 17:27:27 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "public/css/styles.css", size: 14615, mode: os.FileMode(438), modTime: time.Unix(1466631017, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _publicJsApplicationJs = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xc4\x1a\x6b\x6f\xdb\xc8\xf1\xbb\x01\xff\x87\x0d\x71\x00\xa9\x44\x66\xec\x6b\x8b\x02\x75\xe4\x20\x67\xeb\xe0\x43\x1d\x27\x48\xd4\xa2\x80\xe3\x14\xb4\xb8\x92\xb6\xa6\x48\x76\xb9\xb4\xe3\x36\xfa\xef\x9d\xd9\x17\x97\x4f\xc9\x4e\x9a\x0b\x02\x4b\xe2\xce\xcc\xce\x6b\xe7\xb5\xf4\xca\x82\x92\x42\x70\x36\x17\xde\xf1\xfe\xde\xfe\xde\x5d\xc4\x49\x41\x13\x3a\x17\x34\xfe\x4d\xd0\x75\x41\x26\xe4\xea\x5a\x2e\xbd\x7c\x49\xde\x70\x1e\x3d\x90\x9c\x67\x22\x13\x0f\x39\x25\x8b\x32\x9d\x0b\x96\xa5\x44\x64\x84\xd3\x75\x76\x47\x49\x94\x12\x40\x5f\xd3\x54\xec\xef\x49\xf0\xd0\x82\x87\x0a\x64\xaa\x96\x81\xb0\x45\x0f\x34\xca\x88\xfc\x77\x7f\x8f\x20\x0f\x0c\x96\xc5\x8a\x15\x21\x4b\x63\xfa\xe5\xdd\xc2\x42\x00\x2b\x84\x2d\x48\xc0\xc8\xb3\x09\x39\x38\x52\x18\x0a\xb4\xc8\x13\x36\xa7\x01\x1b\x93\x23\x09\xb6\xd9\xdf\xdb\xec\xc4\x78\x9e\x44\xf3\x6d\x9c\x4b\x98\x2e\xd6\xb3\x24\x9e\x26\x63\x92\xd2\xfb\x69\x32\xc0\xbf\x04\x1b\xe0\xfe\x8a\x5d\x03\x8a\xa4\xd2\xe0\xfd\x2c\x9b\x97\x72\xd7\x6e\xf6\x0b\x9a\xc6\x24\x22\xf3\xac\x10\xe5\x9a\xd0\x3b\x84\x84\xc7\x4c\x80\x19\x17\xfb\x7b\x06\xdb\x11\x06\x31\x4e\x25\xf8\xf4\xae\x29\x8d\xa0\x5f\xb4\x15\x62\x83\x18\xb3\x22\x8f\xc4\x7c\x25\x81\x03\xe0\x90\x9c\x96\x85\xc8\x14\xb2\x42\x40\xb9\x06\xd8\x05\x76\x96\x54\x48\x26\xb3\x5b\x46\xe1\x23\x15\x52\xcd\x1d\xcc\x01\xe0\xa9\x82\x72\xd9\x4a\xa3\x35\xad\x94\xcb\xa9\x52\x15\xf9\x40\x97\xd3\x2f\x79\xe0\x05\xaf\xff\x02\xff\x3f\x7f\x0d\x9f\x1f\x7f\xfa\x54\x3c\x1f\x79\xe4\x05\x41\x14\xf8\xf0\xf0\xc1\xa7\x4f\x13\xfc\x08\xae\x3e\x1f\x5f\x3f\x1f\x85\xcf\x7f\x1a\x7d\xfd\x0c\x7f\x3d\x69\x0f\x4e\x45\xc9\xd3\x4a\x5e\xc5\xa4\x31\x79\xc0\xe9\x98\x78\x3f\x1d\x79\xae\x8c\xa7\xab\x28\x5d\xd2\x02\x24\xba\x29\x85\x50\x76\x10\x2b\x4a\x92\x2c\x8a\x59\xba\x04\x57\x62\xeb\x08\x39\xdf\xdf\xd3\x2e\xe3\x48\x38\x97\xc8\xb3\xec\x42\x03\xbb\x72\x2a\x19\x13\x50\x16\xb5\xae\x86\xde\x71\xac\x9f\x66\x9c\x2d\x59\x1a\x25\x33\xd0\x3a\x2c\x69\x20\x70\xb2\x94\xf2\xf3\xd9\xdb\x0b\x79\x50\xed\xe3\x42\x3c\x24\x34\xcc\xf2\x68\xce\xc4\x03\x80\x1f\xaa\xe5\x82\x8a\x19\x5b\xd3\xac\x14\x41\x73\xe7\x36\x45\x40\xf3\x5f\x31\x32\x4f\xa2\xa2\x98\x78\x20\x15\xe5\x2c\x4a\x0e\x18\xd8\xb0\x20\x45\xce\x52\xef\x24\x2a\x45\xc6\x29\xd8\xe3\xd5\x4b\x76\xe2\x1f\xbb\x64\x9a\x1c\x1c\x49\xdf\x1e\x93\x9f\x0f\x0f\x47\x8a\x19\xad\x7d\x57\xb0\x2e\x45\xdb\xb3\x89\xaa\x8e\xb3\x94\xee\xa6\xe3\x33\x84\xac\x05\x1a\xce\x33\x3e\x26\x2b\xb1\xd6\x87\x55\x45\x8e\x6e\x45\xa1\xc6\x61\x9d\xc7\x1f\x05\xcd\xe1\x31\x28\x69\x72\xe2\x04\x1c\x57\x49\x48\xf1\xb8\x0a\x45\x1d\x72\xe3\x22\x9e\xfd\x5a\x78\x0d\x13\x9a\x2e\xc5\x8a\x4c\x60\x53\x6d\x82\xca\x13\x1b\x07\x35\xf0\x95\x58\xf1\x81\x21\xe1\x4b\x07\xc6\x60\x41\x36\x96\xe3\x82\x82\x6d\xfa\x58\xee\x92\x94\xb8\x1e\x61\xe5\xb5\x46\x72\x48\x2f\x18\x2f\x44\x9b\x32\x4a\x25\x15\x6b\x24\x68\x69\xa7\xd7\x85\xbc\x93\x79\x92\x15\xb4\xf2\x9c\x0d\x18\x1a\x72\xd2\xe3\xe9\xa0\x53\x38\x64\x94\xbe\x07\x8d\xe1\x48\x5d\xe9\x0c\x92\xc7\x61\x4d\x6e\xf7\xb4\x18\xf1\x2b\xdd\x68\xf7\x5d\x44\xc0\xb4\xe3\xb7\x2a\xb0\x2e\x32\x0e\xee\xba\x5c\x26\x78\xcc\x31\x3e\xac\xb3\x98\x92\x6c\x41\xee\x18\xbd\x57\xb9\x16\xbf\xb5\xa3\xb0\x8c\xe2\x55\x2c\x98\x9b\x80\x68\x3d\xc3\x46\xc9\xc0\x47\x0a\x07\x09\x2b\x84\x72\x06\x84\xc7\x5f\x2a\xb2\xb8\x08\xfa\x94\xfc\xf2\xf0\x5b\x1c\xf8\x1a\xc4\xd7\xa7\x10\x2d\xa8\x77\x81\xc4\xe4\x0b\x5e\x52\x5f\x1b\xb3\x11\x17\xd1\x08\x76\xcb\x89\x04\x94\xba\x72\xcc\x36\x88\x21\x35\xe5\x57\xea\x05\x8f\x8e\x13\xfa\x77\x58\x9f\xc1\xc1\x0d\xb6\x48\x38\xa4\xf3\x73\x49\xa9\x90\x8a\x46\x14\x22\x73\x8f\x3a\x32\x4a\xd9\xf5\xbd\x6a\x1a\x47\x84\x0b\xd8\xa2\x52\xfa\x23\x95\x28\x71\x74\x36\x18\x40\xc1\x7d\x5c\xa5\x9b\x7d\x31\x00\x78\xa8\x4d\x4f\xab\x5d\xd3\x0e\xa5\xb7\x23\x44\x18\xc5\x7a\x4b\x7d\xea\xd5\x66\xbb\x1e\x0f\xdc\xe8\x9f\xe0\x7f\x65\xe2\x9c\x92\x86\x26\xb5\x49\x9e\x40\x18\xd9\xb2\x64\xdb\xac\xab\xc2\xcf\xe5\x7e\x07\x1b\x66\x39\x05\x00\x96\x50\xa3\x56\x79\x2a\x94\x25\x71\x6d\xf0\xd8\xf4\x05\x5a\xad\xdd\x7b\x28\xcb\xb2\xfb\x10\xc9\xd4\xc1\xae\x0e\xaf\xa1\x68\xf0\x5f\xf3\xe8\x5e\x39\xf7\x68\x40\x51\x2e\x15\xfd\x3d\xc9\xe6\x32\x29\x75\x10\xd9\x41\xe4\x9b\x68\x
|
2016-06-11 22:03:54 +00:00
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
func publicJsApplicationJsBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_publicJsApplicationJs,
|
|
|
|
"public/js/application.js",
|
|
|
|
)
|
2016-06-10 17:27:27 +00:00
|
|
|
}
|
|
|
|
|
2016-06-10 21:18:44 +00:00
|
|
|
func publicJsApplicationJs() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := publicJsApplicationJsBytes()
|
2016-06-10 21:18:44 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "public/js/application.js", size: 10840, mode: os.FileMode(438), modTime: time.Unix(1466691163, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _templatesActionsTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x84\x8f\x31\x6e\x85\x30\x10\x44\x7b\x4e\xb1\x72\x9f\x70\x01\x43\x95\x26\xa7\xb0\x2c\x76\x90\x56\x32\xeb\x08\x5b\xa1\x40\xdc\x3d\x06\x82\xfe\xa7\x00\x2a\x17\x33\x7e\x6f\x67\x9e\x89\xd1\x8b\x82\x8c\xef\xb2\x44\x4d\x86\x96\xa5\x22\xcb\xf2\x4b\x5d\xf0\x29\x35\xff\x81\x21\xe1\xc6\xc4\x1f\xa8\x69\x2b\x22\x2b\x47\x3c\xf8\x8c\x51\x7c\xf8\x90\x6e\xfd\xde\xae\x15\x27\xea\x14\x93\xad\xa5\x74\x6d\x5d\x60\xe5\x2d\x2e\xe9\xe9\xf3\x3b\x7d\xc9\xb8\x49\x2e\x2d\x23\xd4\x0f\xd8\x3c\x37\xa2\x21\x32\x1c\x58\xf2\xae\x79\xf7\x40\xf9\x76\x06\xc7\x49\x43\xf4\xfc\x30\xa5\x97\x00\x77\x74\xcf\x63\x2e\xc9\x08\xc8\x78\xe0\xee\xa5\x13\xf0\x75\xf4\x5f\x00\x00\x00\xff\xff\x48\xd7\xb4\x16\x93\x01\x00\x00")
|
2016-06-10 21:18:44 +00:00
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
func templatesActionsTmplBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_templatesActionsTmpl,
|
|
|
|
"templates/actions.tmpl",
|
|
|
|
)
|
2016-06-10 21:18:44 +00:00
|
|
|
}
|
|
|
|
|
2016-06-14 19:33:59 +00:00
|
|
|
func templatesActionsTmpl() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := templatesActionsTmplBytes()
|
2016-06-14 19:33:59 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "templates/actions.tmpl", size: 403, mode: os.FileMode(438), modTime: time.Unix(1466630275, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
2016-06-21 15:19:54 +00:00
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
var _templatesBaseTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\xb4\x56\xdf\xab\xdb\x36\x14\x7e\xcf\x5f\xa1\x8a\x41\x1e\xd6\x58\x19\x6c\x2f\xc5\xce\x60\xf7\x76\xac\xd0\x6e\xa5\x77\x63\xec\x29\x28\xf6\xb1\xad\x56\x96\x3c\x49\xce\x6d\x08\xf9\xdf\x77\x64\xd9\x8e\x93\x26\x4e\xba\x31\x08\xc4\x96\x8f\xbe\xf3\xeb\x3b\x9f\x14\xbf\x78\xfc\xed\xe1\xf7\xbf\xde\xbf\x26\xa5\xab\xe4\x6a\x16\x87\x3f\x12\x97\xc0\x33\xfc\x27\xb1\x13\x4e\xc2\x6a\xbf\x8f\x7e\xe5\x15\x1c\x0e\x31\x0b\x0b\xfe\x53\x05\x8e\x13\x85\xcb\x09\xdd\x0a\x78\xae\xb5\x71\x94\xa4\x5a\x39\x50\x2e\xa1\xcf\x22\x73\x65\x92\xc1\x56\xa4\xb0\x68\x5f\x5e\x12\xa1\x84\x13\x5c\x2e\x6c\xca\x25\x24\xdf\x45\x4b\xda\x02\x49\xa1\x3e\x91\xd2\x40\x9e\xd0\xd2\xb9\xda\xbe\x62\x2c\x47\x18\x1b\x15\x5a\x17\x12\x78\x2d\x6c\x94\xea\x8a\x09\x04\xff\x31\xe7\x95\x90\xbb\xe4\x1d\x77\x60\x10\xeb\xdb\x37\xb8\x68\x29\x31\x20\x13\x6a\xdd\x4e\x82\x2d\x01\xdc\x39\xf0\x7c\x12\x38\xb5\xb6\xc7\xfd\xa0\x37\xda\xe9\x57\xdf\x2f\x97\x2f\x7f\x58\x2e\xe7\x2d\xee\xfc\x88\x3b\x27\x6e\x57\x43\x32\x77\xf0\xd9\xf9\x6d\xf3\xa3\x9f\xf3\x08\xba\x8c\xf6\x7b\x12\x3d\x68\x95\x8b\x22\xfa\x89\x5b\xf8\xe3\xc3\x5b\x72\x38\xb0\x75\x2e\x24\x54\x5c\xf1\x02\xb3\xc0\x8a\x19\xc5\xa5\xc7\x63\x01\x20\xc2\xc7\x90\x82\x4d\x8d\xa8\x1d\xb1\x26\xfd\x2a\xa8\x8f\x96\xf1\xba\x96\x22\xe5\x4e\x68\x15\x7d\x44\xb4\x98\x05\x2c\x0f\x8b\x48\x22\x27\x0a\x06\xbc\x27\xef\xf6\xc9\xc7\x4d\x28\x45\x54\xb4\x41\xdf\x7e\xd1\x9b\xfb\x0d\x5f\x5a\x76\x56\x6c\x30\x43\x54\x50\x59\xd8\x1d\x3c\xf4\x9b\x7e\x69\x0a\xfd\x5a\xf1\x8d\x84\xac\x07\x7f\xb1\x58\x10\xbf\x4c\x6a\xd9\x14\x42\x11\xeb\x9a\x3c\x27\x8b\x45\xeb\xef\xdf\x54\xb4\x44\xb0\xa9\x52\xde\x55\xcb\x13\x90\xdb\x45\xec\xd3\x8d\x59\x37\x30\xf1\x46\x67\xbb\xb6\x71\x7e\x01\x4c\x70\x9c\x89\x6d\x5f\x46\xf2\x8d\xc4\xcc\x5e\x25\x24\x7a\x6f\x70\x36\x74\x63\xdf\xfa\x54\x43\x51\x8e\x7d\x69\xad\x28\xed\x96\x49\xcc\x8f\xb9\xa3\x01\xfc\xdd\x19\x10\xe6\x9b\xc5\xf6\x7b\x90\x16\xf0\x29\x8a\x18\xfe\xb0\x59\x63\xf0\xc3\x61\x88\x34\x14\xa2\x0b\x89\xa4\x92\x5b\x9b\x50\x9e\xfa\xf4\x28\x11\x59\x42\x6b\xdc\x37\x18\x91\x58\xf4\x36\x55\x37\x6e\x0b\xd1\x8e\xdb\xca\x36\x9b\x4c\x18\x48\x9d\x36\xbb\x35\x37\x46\x3f\xaf\x25\xe4\x2e\x66\x62\xf0\xc0\x86\xac\xf1\x99\xaf\x7c\x0c\x21\xc8\xd9\x95\x08\x48\x26\x6c\x4b\x91\x0b\xa1\xfc\x87\x48\x46\x81\x8c\x09\x8a\x1f\xea\xd5\xb5\xea\x9e\x53\x83\x92\xae\xce\x7d\x0e\x17\xe9\xf3\x65\x99\xa7\xa6\xc0\xbf\x1d\x01\x7f\xc6\x21\x26\xef\xc2\x14\x9f\x86\xd9\x56\x6f\x46\x4e\xe8\xd1\xaa\x31\xa1\x6c\x20\xc8\x44\x81\xd2\x12\xb6\x46\xab\xb5\x11\x45\x39\x6e\x90\x4f\xa1\x85\xf1\xaa\x5e\x5f\x28\xd0\xb1\x70\x27\x04\xf6\x09\xbd\xb1\x8f\xc2\x0c\xf1\xe5\xda\x54\x77\x34\x0a\xb8\x49\xcb\x31\x43\x84\xaa\x1b\x17\x04\x95\x7a\x41\xa5\xa8\x05\x3c\x85\x52\x4b\x9c\x9c\x84\x3e\xb5\x1b\xe8\xd0\xc6\x91\x9b\x6b\xf4\xf5\xe7\xd0\x1d\x9c\xf1\x66\x6b\x3f\xa0\x28\x33\x70\x91\x29\x57\x3d\x34\xb5\xd4\x3c\xbb\xc3\x87\x57\xe5\x75\xb0\xbe\xec\xe1\x7c\x20\xf0\xdd\x41\x85\x15\x70\xd8\xd9\xe0\x12\xcf\xb5\x68\x24\x0d\x5d\x6b\x66\xb7\x98\xd5\xf9\x9a\x54\xd8\x53\xd6\x5f\x90\x42\x0b\xce\x09\x55\xd8\x29\xc9\xb8\x47\x28\x3a\x98\x09\x65\x98\x2e\xb8\xd4\x85\x6e\xdc\x1d\x05\x87\xcf\xc2\xad\x9d\x5e\xa3\x64\xdf\x1e\xfe\x61\x3d\x28\xb7\x17\xea\xd9\x29\xbb\x7b\x43\x1f\x96\x8f\xc3\x69\x2d\x37\xdc\x74\x81\xc4\xb7\x99\xb2\xe1\xe9\xa7\x3b\xc2\x0e\x92\xe5\x8d\xaf\x10\xb1\x1e\x30\x6c\xcd\x55\x0b\x6d\x41\xa2\xe0\x41\xb6\x50\x4d\xb5\x01\x8c\x69\x89\xe7\x12\x7e\xec\x2d\xfb\xef\xd1\x30\xd8\x23\xc4\xf8\x84\x82\x53\x94\x1b\x09\x40\xff\x34\x2e\x62\x5c\x71\x11\x5c\x9e\xe0\x74\x37\x40\xc4\x79\xe4\x78\x41\x0c\xa6\xac\xb7\x45\xb1\xd0\xae\x3b\x17\x9f\xc0\x6c\x91\xb0\xcf\xc2\x95\xb3\x40\xc8\xf6\xc4\x57\x5a\xd7\xa0\xc0\x10\xa5\x91\x9f\x60\x0c\x66\x78\x76\x3d\x4c\x79\x96\xed\xac\xdf\x6e\xfc\x05\x8e\xae\x1e\xfc\x42\x4f\x26\xae\xb2\xaf\xc4\x2b\x30\x84\x66\xd3\xde\x05\x4b\x9e\x66\x82\xdb\xe0\x62\x31\xba\x5b\xd1\xd5\x58\xa3\xbd\xaf\x68\x76\x63\x10\xff\x44\x58\xc2\x49\x2e\xf9\x56\x37\x86\xe8\x7c\x46\xfe\x8f\xb8\xbc\xd3\x36\x9e\x93\xee\xb0\xa1\xd2\x31\x0b\xb7\x12\xe4\xba\xbf\xde\xff\x13\x00\x00\xff\xff\x8f\xc0\xd0\x15\xf5\x0b\x00\x00")
|
|
|
|
|
|
|
|
func templatesBaseTmplBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_templatesBaseTmpl,
|
|
|
|
"templates/base.tmpl",
|
|
|
|
)
|
2016-06-14 19:33:59 +00:00
|
|
|
}
|
|
|
|
|
2016-06-10 21:38:52 +00:00
|
|
|
func templatesBaseTmpl() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := templatesBaseTmplBytes()
|
2016-06-10 21:38:52 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "templates/base.tmpl", size: 3061, mode: os.FileMode(438), modTime: time.Unix(1466630263, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _templatesListingTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x8c\x53\xc1\x8e\xd3\x30\x10\xbd\xf7\x2b\x46\x3e\x20\x38\xa4\x71\x0b\x0b\x52\x49\x7b\x42\x08\x24\x16\x21\xd8\xbd\x70\x59\x0d\xf5\x64\x3b\x92\xe3\x44\xb6\x53\xa9\x44\xf9\x77\xc6\x49\x9b\x6d\x17\xd0\xee\x29\x33\xe3\xf7\xde\xbc\x97\xc4\x5d\x07\x86\x4a\x76\x04\x6a\x5b\xbb\x48\x2e\x2a\xe8\xfb\x19\x14\x86\xf7\xb0\xb5\x18\xc2\x5a\x59\x0e\x91\xdd\xbd\xda\xcc\xe0\x62\x9e\x08\x28\x54\xaf\x80\xcd\x25\x0c\xba\x2e\x03\x8f\xee\x9e\x60\xfe\x39\x52\x15\x92\xe6\x25\x9b\x65\xac\xc0\x60\xc4\xcc\xb0\x5f\xab\xc4\xe0\x52\xe0\xe1\x03\xfb\xbe\x8f\xbe\x25\x31\x47\x36\x90\x18\x2a\x51\x9e\xa9\x75\x46\xba\x71\x5f\xd7\xcd\x6f\xbf\x7f\x91\x6e\x58\x38\x68\x8f\x15\x14\x08\x3b\x4f\xe5\x5f\x90\xd1\xd6\xd9\x92\xe3\xb4\xe0\x93\xa9\x0a\x23\x79\x46\x9b\xb1\x84\x0b\x6a\x53\xd6\xd6\x90\x2f\x72\x3e\x17\x48\x9e\x9e\xc1\x65\x17\xc8\xc7\x3b\xe3\x79\x4f\x77\x25\x5b\x7a\x2c\xe3\xcc\x49\xa5\xc8\xf1\x18\x22\x9f\x52\x3c\x2b\x4f\x11\x1a\x74\x27\x03\x0e\x2b\x52\x1b\xc1\x7c\x95\xa2\xef\x8b\x3c\x1d\x3e\x91\xbc\x19\xbf\x40\xed\x25\xe6\x5a\x65\x0b\xb5\x79\x51\x19\x0c\xbb\xf7\x45\xde\xfc\x3f\xf3\x25\x4b\x36\xfe\xe0\xdf\x94\x6c\x49\xf9\xa9\xad\xd0\x8d\xfd\x63\x8d\x87\xc0\x49\xe2\xe8\x7a\xc7\x86\xf0\x97\xa5\x29\x13\x14\x91\x2b\x4a\x1b\x28\x15\x83\xfe\x20\x7a\x5d\x9b\x9b\x74\xa2\x60\xa9\xf5\xdb\x4c\x2f\x32\xbd\xbc\x59\x5c\xad\xf4\x9b\x95\xbe\xfa\xa9\xce\xf7\x4f\x50\xbd\xc8\xf5\x32\x4f\x78\xd0\xaf\x47\x24\x7c\xbb\x86\x4c\xbf\x5b\x69\xad\x92\xc5\xb4\x63\x7a\x9d\x93\xe1\x7f\x7c\x91\x87\xea\x3c\xcc\x69\x7a\x7c\xce\x0a\x76\x4d\x1b\x21\xc4\x83\x15\xeb\x86\x43\x63\xf1\xb0\x72\xb5\x23\x05\xf1\xd0\xc8\x2c\xfd\x0a\xe3\x1f\xdc\x36\xb6\x46\x93\x0d\x0c\x05\xb5\xdb\xee\xd2\x8d\x91\x57\x82\xce\x58\xfa\x28\xb8\xf0\x32\xee\x38\xcc\x13\x25\xbc\x52\xb0\x47\xdb\xca\xf9\xed\xc0\x53\x50\xb5\x36\x72\x63\xc5\xfe\x74\x35\x66\x7f\x02\x00\x00\xff\xff\x8d\x29\x85\x33\xd1\x03\x00\x00")
|
2016-06-10 21:38:52 +00:00
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
func templatesListingTmplBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_templatesListingTmpl,
|
|
|
|
"templates/listing.tmpl",
|
|
|
|
)
|
2016-06-10 21:38:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func templatesListingTmpl() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := templatesListingTmplBytes()
|
2016-06-10 17:27:27 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "templates/listing.tmpl", size: 977, mode: os.FileMode(438), modTime: time.Unix(1466690774, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
var _templatesSingleTmpl = []byte("\x1f\x8b\x08\x00\x00\x09\x6e\x88\x00\xff\x7c\x90\x41\xce\x82\x30\x14\x84\xf7\x3d\xc5\xa4\x07\x80\x0b\x14\xfe\xc5\xbf\x75\x65\xf4\x00\x0d\x7d\x90\x97\x40\xc1\xb6\x68\x0c\xe1\xee\xb6\x85\x60\x5c\xe8\xf2\x0d\xf3\x7d\x61\xba\x2c\x30\xd4\xb2\x25\xc8\x66\xb4\x81\x6c\x90\x58\x57\x21\xa0\x06\xcd\x16\x4d\xaf\xbd\xaf\xf2\xa7\x78\x92\x93\xb5\x00\x22\xc3\x2d\xe8\x86\xe2\xf2\x9c\x22\xc8\x83\xee\x28\x63\x00\x14\x0f\x1d\xbc\x6b\x2a\x19\x6b\xc5\xf5\x7c\x8a\xf9\x9f\xd3\x8f\x2a\xb8\x99\x32\x9e\x78\xea\x3d\x7d\x4a\xf4\x6c\x78\x3c\x24\xf9\xfa\xa1\x51\x65\x6e\x7c\xd7\xdd\xd9\xd0\xb8\x4f\x39\x2a\xbb\x7c\x72\x54\x27\xeb\xff\x36\x38\x96\x54\x99\xb2\x6d\x1a\x59\x93\xff\x42\x95\xe9\x05\x6a\x21\xde\xd9\x2b\x00\x00\xff\xff\xef\x07\xd5\xe5\x2d\x01\x00\x00")
|
2016-06-11 22:03:54 +00:00
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
func templatesSingleTmplBytes() ([]byte, error) {
|
|
|
|
return bindataRead(
|
|
|
|
_templatesSingleTmpl,
|
|
|
|
"templates/single.tmpl",
|
|
|
|
)
|
2016-06-10 17:27:27 +00:00
|
|
|
}
|
|
|
|
|
2016-06-11 13:32:50 +00:00
|
|
|
func templatesSingleTmpl() (*asset, error) {
|
2016-06-23 14:44:52 +00:00
|
|
|
bytes, err := templatesSingleTmplBytes()
|
2016-06-11 13:32:50 +00:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
2016-06-23 14:44:52 +00:00
|
|
|
info := bindataFileInfo{name: "templates/single.tmpl", size: 301, mode: os.FileMode(438), modTime: time.Unix(1466630292, 0)}
|
|
|
|
a := &asset{bytes: bytes, info: info}
|
|
|
|
return a, nil
|
2016-06-11 13:32:50 +00:00
|
|
|
}
|
|
|
|
|
2016-06-10 17:27:27 +00:00
|
|
|
// 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){
|
2016-06-10 21:18:44 +00:00
|
|
|
"public/css/styles.css": publicCssStylesCss,
|
|
|
|
"public/js/application.js": publicJsApplicationJs,
|
2016-06-14 19:33:59 +00:00
|
|
|
"templates/actions.tmpl": templatesActionsTmpl,
|
2016-06-10 21:38:52 +00:00
|
|
|
"templates/base.tmpl": templatesBaseTmpl,
|
|
|
|
"templates/listing.tmpl": templatesListingTmpl,
|
2016-06-11 13:32:50 +00:00
|
|
|
"templates/single.tmpl": templatesSingleTmpl,
|
2016-06-10 17:27:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// 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{
|
2016-06-10 21:18:44 +00:00
|
|
|
"public": &bintree{nil, map[string]*bintree{
|
|
|
|
"css": &bintree{nil, map[string]*bintree{
|
|
|
|
"styles.css": &bintree{publicCssStylesCss, map[string]*bintree{}},
|
|
|
|
}},
|
|
|
|
"js": &bintree{nil, map[string]*bintree{
|
|
|
|
"application.js": &bintree{publicJsApplicationJs, map[string]*bintree{}},
|
|
|
|
}},
|
|
|
|
}},
|
|
|
|
"templates": &bintree{nil, map[string]*bintree{
|
2016-06-14 19:33:59 +00:00
|
|
|
"actions.tmpl": &bintree{templatesActionsTmpl, map[string]*bintree{}},
|
2016-06-10 21:38:52 +00:00
|
|
|
"base.tmpl": &bintree{templatesBaseTmpl, map[string]*bintree{}},
|
|
|
|
"listing.tmpl": &bintree{templatesListingTmpl, map[string]*bintree{}},
|
2016-06-11 13:32:50 +00:00
|
|
|
"single.tmpl": &bintree{templatesSingleTmpl, map[string]*bintree{}},
|
2016-06-10 21:18:44 +00:00
|
|
|
}},
|
2016-06-10 17:27:27 +00:00
|
|
|
}}
|
|
|
|
|
|
|
|
// 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, "/")...)...)
|
|
|
|
}
|
|
|
|
|