github.com/xhghs/rclone@v1.51.1-0.20200430155106-e186a28cced8/cmd/serve/dlna/data/data.go (about)

     1  //go:generate go run assets_generate.go
     2  // The "go:generate" directive compiles static assets by running assets_generate.go
     3  
     4  package data
     5  
     6  import (
     7  	"io/ioutil"
     8  	"text/template"
     9  
    10  	"github.com/pkg/errors"
    11  	"github.com/rclone/rclone/fs"
    12  )
    13  
    14  // GetTemplate returns the rootDesc XML template
    15  func GetTemplate() (tpl *template.Template, err error) {
    16  	templateFile, err := Assets.Open("rootDesc.xml.tmpl")
    17  	if err != nil {
    18  		return nil, errors.Wrap(err, "get template open")
    19  	}
    20  
    21  	defer fs.CheckClose(templateFile, &err)
    22  
    23  	templateBytes, err := ioutil.ReadAll(templateFile)
    24  	if err != nil {
    25  		return nil, errors.Wrap(err, "get template read")
    26  	}
    27  
    28  	var templateString = string(templateBytes)
    29  
    30  	tpl, err = template.New("rootDesc").Parse(templateString)
    31  	if err != nil {
    32  		return nil, errors.Wrap(err, "get template parse")
    33  	}
    34  
    35  	return
    36  }