MCPcopy Create free account
hub / github.com/apache/openwhisk-cli / parseArgs

Function parseArgs

commands/commands.go:134–226  ·  view source on GitHub ↗
(args []string)

Source from the content-addressed store, hash-verified

132}
133
134func parseArgs(args []string) ([]string, []string, []string, []string, []string, error) {
135 var paramArgs []string
136 var annotArgs []string
137 var feedParamArgs []string
138 var triggerParamArgs []string
139 var whiskErr error
140
141 i := 0
142
143 for i < len(args) {
144 if args[i] == "-P" || args[i] == "--param-file" {
145 paramArgs, args, whiskErr = getValueFromArgs(args, i, paramArgs)
146 if whiskErr != nil {
147 whisk.Debug(whisk.DbgError, "getValueFromArgs(%#v, %d) failed: %s\n", args, i, whiskErr)
148 errMsg := wski18n.T("The parameter arguments are invalid: {{.err}}",
149 map[string]interface{}{"err": whiskErr})
150 whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
151 whisk.DISPLAY_USAGE)
152 return nil, nil, nil, nil, nil, whiskErr
153 }
154
155 filename := paramArgs[len(paramArgs)-1]
156 paramArgs[len(paramArgs)-1], whiskErr = ReadFile(filename)
157 if whiskErr != nil {
158 whisk.Debug(whisk.DbgError, "readFile(%s) error: %s\n", filename, whiskErr)
159 return nil, nil, nil, nil, nil, whiskErr
160 }
161 } else if args[i] == "-A" || args[i] == "--annotation-file" {
162 annotArgs, args, whiskErr = getValueFromArgs(args, i, annotArgs)
163 if whiskErr != nil {
164 whisk.Debug(whisk.DbgError, "getValueFromArgs(%#v, %d) failed: %s\n", args, i, whiskErr)
165 errMsg := wski18n.T("The annotation arguments are invalid: {{.err}}",
166 map[string]interface{}{"err": whiskErr})
167 whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
168 whisk.DISPLAY_USAGE)
169 return nil, nil, nil, nil, nil, whiskErr
170 }
171
172 filename := annotArgs[len(annotArgs)-1]
173 annotArgs[len(annotArgs)-1], whiskErr = ReadFile(filename)
174 if whiskErr != nil {
175 whisk.Debug(whisk.DbgError, "readFile(%s) error: %s\n", filename, whiskErr)
176 return nil, nil, nil, nil, nil, whiskErr
177 }
178 } else if args[i] == "-p" || args[i] == "--param" {
179 paramArgs, args, whiskErr = getKeyValueArgs(args, i, paramArgs)
180 if whiskErr != nil {
181 whisk.Debug(whisk.DbgError, "getKeyValueArgs(%#v, %d) failed: %s\n", args, i, whiskErr)
182 errMsg := wski18n.T("The parameter arguments are invalid: {{.err}}",
183 map[string]interface{}{"err": whiskErr})
184 whiskErr = whisk.MakeWskError(errors.New(errMsg), whisk.EXIT_CODE_ERR_GENERAL, whisk.DISPLAY_MSG,
185 whisk.DISPLAY_USAGE)
186 return nil, nil, nil, nil, nil, whiskErr
187 }
188 } else if args[i] == "-a" || args[i] == "--annotation" {
189 annotArgs, args, whiskErr = getKeyValueArgs(args, i, annotArgs)
190 if whiskErr != nil {
191 whisk.Debug(whisk.DbgError, "getKeyValueArgs(%#v, %d) failed: %s\n", args, i, whiskErr)

Callers 1

ExecuteFunction · 0.85

Calls 3

getValueFromArgsFunction · 0.85
getKeyValueArgsFunction · 0.85
ReadFileFunction · 0.70

Tested by

no test coverage detected