MCPcopy Create free account
hub / github.com/OpenAtomFoundation/SmartIDE / GetTemplateSetting

Function GetTemplateSetting

cli/cmd/common/template.go:39–116  ·  view source on GitHub ↗

从command的参数中获取模板设置信息(下载模板库文件到本地)

(cmd *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

37
38// 从command的参数中获取模板设置信息(下载模板库文件到本地)
39func GetTemplateSetting(cmd *cobra.Command, args []string) (*templateModel.SelectedTemplateTypeBo, error) {
40 common.SmartIDELog.Info(i18nInstance.New.Info_loading_templates)
41
42 // git clone
43 err := templatesClone() //
44 if err != nil {
45 return nil, err
46 }
47
48 templateTypes, err := loadTemplatesJson() // 解析json文件
49 if err != nil {
50 return nil, err
51 }
52
53 if len(args) == 0 {
54 // print
55 fmt.Println(i18nInstance.New.Info_help_info)
56 printTemplates(templateTypes) // 打印支持的模版列表
57 fmt.Println(i18nInstance.New.Info_help_info_operation)
58 fmt.Println(cmd.Flags().FlagUsages())
59 return nil, nil
60 }
61
62 //2.
63 //2.1.
64 selectedTemplateTypeName := ""
65 if len(args) > 0 {
66 selectedTemplateTypeName = args[0]
67 }
68 selectedTemplateTypeName = strings.TrimSpace(selectedTemplateTypeName)
69 //2.2.
70 selectedTemplateSubTypeName, err := cmd.Flags().GetString("type")
71 selectedTemplateSubTypeName = strings.TrimSpace(selectedTemplateSubTypeName)
72 if err != nil {
73 return nil, err
74 }
75 if selectedTemplateSubTypeName == "" {
76 selectedTemplateSubTypeName = "_default"
77 }
78
79 //3. 遍历进行查找
80 var selectedTemplate *templateModel.SelectedTemplateTypeBo
81 for _, currentTemplateType := range templateTypes {
82 if currentTemplateType.TypeName == selectedTemplateTypeName {
83
84 isSelected := false
85 if selectedTemplateSubTypeName == "_default" {
86 isSelected = true
87
88 } else {
89 for _, currentSubTemplateType := range currentTemplateType.SubTypes {
90 if currentSubTemplateType.Name == selectedTemplateSubTypeName {
91 isSelected = true
92 break
93 }
94
95 }
96 }

Callers 1

getSeletedTemplateFunction · 0.85

Calls 4

loadTemplatesJsonFunction · 0.85
printTemplatesFunction · 0.85
InfoMethod · 0.80
templatesCloneFunction · 0.70

Tested by

no test coverage detected