本文整理匯總了Golang中github.com/rancher/rancher-catalog-service/model.Template.Path方法的典型用法代碼示例。如果您正苦於以下問題:Golang Template.Path方法的具體用法?Golang Template.Path怎麽用?Golang Template.Path使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/rancher/rancher-catalog-service/model.Template
的用法示例。
在下文中一共展示了Template.Path方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: ReadTemplateVersion
//ReadTemplateVersion reads the template version details
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 foundIcon bool
for _, subfile := range dirList {
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") {
readRancherCompose(path, &newTemplate)
}
}
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
}
示例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: walkCatalog
func walkCatalog(path string, f os.FileInfo, err error) error {
if f.IsDir() && metadataFolder.MatchString(path) {
log.Debugf("Reading metadata folder for template:%s", f.Name())
newTemplate := model.Template{}
newTemplate.Path = f.Name()
//read the root level config.yml
readTemplateConfig(path, &newTemplate)
//list the folders under the root level
newTemplate.VersionLinks = make(map[string]string)
dirList, err := ioutil.ReadDir(path)
if err != nil {
log.Errorf("Error reading directories at path: %s, error: %v", f.Name(), err)
} else {
for _, subfile := range dirList {
if subfile.IsDir() {
//read the subversion config.yml file into a template
subTemplate := model.Template{}
readRancherCompose(f.Name()+"/"+subfile.Name(), &subTemplate)
if subTemplate.UUID != "" {
UUIDToPath[subTemplate.UUID] = f.Name() + "/" + subfile.Name()
log.Debugf("UUIDToPath map: %v", UUIDToPath)
}
newTemplate.VersionLinks[subTemplate.Version] = f.Name() + "/" + subfile.Name()
} else if strings.HasPrefix(subfile.Name(), "catalogIcon") {
newTemplate.IconLink = f.Name() + "/" + subfile.Name()
}
}
}
Catalog[f.Name()] = newTemplate
}
return nil
}
示例4: 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
}