(self, dom)
| 296 | return paramProperty |
| 297 | |
| 298 | def loadCmdFromXML(self, dom): |
| 299 | cmds = [] |
| 300 | for cmd in dom.getElementsByTagName("command"): |
| 301 | csCmd = cloudStackCmd() |
| 302 | csCmd.name = getText(cmd.getElementsByTagName('name')) |
| 303 | assert csCmd.name |
| 304 | |
| 305 | desc = getText(cmd.getElementsByTagName('description')) |
| 306 | if desc: |
| 307 | csCmd.desc = desc |
| 308 | |
| 309 | asyncmethod = getText(cmd.getElementsByTagName('isAsync')) |
| 310 | if asyncmethod: |
| 311 | csCmd.asyncmethod = asyncmethod |
| 312 | |
| 313 | argList = cmd.getElementsByTagName("request")[0].\ |
| 314 | getElementsByTagName("arg") |
| 315 | for param in argList: |
| 316 | paramProperty = cmdParameterProperty() |
| 317 | |
| 318 | paramProperty.name =\ |
| 319 | getText(param.getElementsByTagName('name')) |
| 320 | assert paramProperty.name |
| 321 | |
| 322 | required = param.getElementsByTagName('required') |
| 323 | if required: |
| 324 | paramProperty.required = getText(required) |
| 325 | |
| 326 | requestDescription = param.getElementsByTagName('description') |
| 327 | if requestDescription: |
| 328 | paramProperty.desc = getText(requestDescription) |
| 329 | |
| 330 | type = param.getElementsByTagName("type") |
| 331 | if type: |
| 332 | paramProperty.type = getText(type) |
| 333 | |
| 334 | dataType = param.getElementsByTagName('dataType') |
| 335 | if dataType: |
| 336 | paramProperty.dataType = getText(dataType) |
| 337 | |
| 338 | csCmd.request.append(paramProperty) |
| 339 | |
| 340 | responseEle = cmd.getElementsByTagName("response")[0] |
| 341 | for response in responseEle.getElementsByTagName("arg"): |
| 342 | if response.parentNode != responseEle: |
| 343 | continue |
| 344 | |
| 345 | paramProperty = self.constructResponseFromXML(response) |
| 346 | csCmd.response.append(paramProperty) |
| 347 | |
| 348 | cmds.append(csCmd) |
| 349 | return cmds |
| 350 | |
| 351 | def generateCodeFromXML(self, apiSpecFile): |
| 352 | dom = xml.dom.minidom.parse(apiSpecFile) |
no test coverage detected