本文整理匯總了Golang中github.com/rancher/rancher-catalog-service/model.Template.Category方法的典型用法代碼示例。如果您正苦於以下問題:Golang Template.Category方法的具體用法?Golang Template.Category怎麽用?Golang Template.Category使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/rancher/rancher-catalog-service/model.Template
的用法示例。
在下文中一共展示了Template.Category方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: readTemplateConfig
func readTemplateConfig(relativePath string, template *model.Template) {
filename, err := filepath.Abs(relativePath + "/config.yml")
if err != nil {
log.Errorf("Error forming path to config file at path: %s, error: %v", relativePath, err)
}
yamlFile, err := ioutil.ReadFile(filename)
if err != nil {
log.Errorf("Error reading config file under template: %s, error: %v", relativePath, err)
} else {
config := make(map[string]string)
//Read the config.yml file
err = yaml.Unmarshal(yamlFile, &config)
if err != nil {
log.Errorf("Error unmarshalling config.yml under template: %s, error: %v", relativePath, err)
} else {
template.Name = config["name"]
template.Category = config["category"]
template.Description = config["description"]
template.Version = config["version"]
if config["uuid"] != "" {
template.UUID = config["uuid"]
}
}
}
}
示例2: ReadTemplateVersion
//ReadTemplateVersion reads the template version details
func (cat *Catalog) ReadTemplateVersion(templateID string, versionID string) (*model.Template, bool) {
prefix, templateName := ExtractTemplatePrefixAndName(templateID)
path := cat.CatalogID + "/" + prefix + "/" + templateName + "/" + versionID
parentPath := cat.CatalogID + "/" + templateID
parentMetadata, ok := cat.metadata[parentPath]
if ok {
newTemplate := model.Template{}
newTemplate.Path = cat.CatalogID + "/" + templateID + "/" + versionID
newTemplate.TemplateBase = parentMetadata.TemplateBase
newTemplate.Id = cat.CatalogID + ":" + templateID + ":" + versionID
newTemplate.CatalogID = cat.CatalogID
newTemplate.DefaultVersion = parentMetadata.DefaultVersion
newTemplate.Category = parentMetadata.Category
newTemplate.IsSystem = parentMetadata.IsSystem
newTemplate.Files = make(map[string]string)
foundIcon, foundReadme, err := walkVersion(CatalogRootDir+path, &newTemplate)
if err != nil {
log.Errorf("Error reading template at path: %s, error: %v", path, err)
return nil, false
}
if !foundIcon {
//use the parent icon
newTemplate.IconLink = parentMetadata.IconLink
}
if !foundReadme {
//use the parent readme
newTemplate.ReadmeLink = parentMetadata.ReadmeLink
}
return &newTemplate, true
}
return nil, false
}
示例3: ReadTemplateVersion
func ReadTemplateVersion(path string) model.Template {
dirList, err := ioutil.ReadDir(catalogRoot + path)
newTemplate := model.Template{}
newTemplate.Path = path
if err != nil {
log.Errorf("Error reading template at path: %s, error: %v", path, err)
} else {
var foundConfig, foundIcon bool
for _, subfile := range dirList {
if strings.HasPrefix(subfile.Name(), "config.yml") {
foundConfig = true
readTemplateConfig(catalogRoot+path, &newTemplate)
if newTemplate.UUID != "" {
//store uuid -> path map
UUIDToPath[newTemplate.UUID] = path
log.Debugf("UUIDToPath map: %v", UUIDToPath)
}
} else if strings.HasPrefix(subfile.Name(), "catalogIcon") {
newTemplate.IconLink = path + "/" + subfile.Name()
foundIcon = true
} else if strings.HasPrefix(subfile.Name(), "docker-compose") {
newTemplate.DockerCompose = string(*(readFile(catalogRoot+path, subfile.Name())))
} else if strings.HasPrefix(subfile.Name(), "rancher-compose") {
composeBytes := readFile(catalogRoot+path, subfile.Name())
newTemplate.RancherCompose = string(*composeBytes)
//read the questions section
RC := make(map[string]model.RancherCompose)
err := yaml.Unmarshal(*composeBytes, &RC)
if err != nil {
log.Errorf("Error unmarshalling %s under template: %s, error: %v", subfile.Name(), path, err)
} else {
newTemplate.Questions = RC[".stack"].Questions
}
}
}
if !foundConfig {
//use the parent config
tokens := strings.Split(path, "/")
parentPath := tokens[0]
parentMetadata, ok := Catalog[parentPath]
if ok {
newTemplate.Name = parentMetadata.Name
newTemplate.Category = parentMetadata.Category
newTemplate.Description = parentMetadata.Description
newTemplate.Version = parentMetadata.Version
} else {
log.Debugf("Could not find the parent metadata %s", parentPath)
}
}
if !foundIcon {
//use the parent icon
tokens := strings.Split(path, "/")
parentPath := tokens[0]
parentMetadata, ok := Catalog[parentPath]
if ok {
newTemplate.IconLink = parentMetadata.IconLink
} else {
log.Debugf("Could not find the parent metadata %s", parentPath)
}
}
}
return newTemplate
}