MCPcopy Create free account
hub / github.com/ronreiter/interactive-tutorials / param_defs

Method param_defs

suds/bindings/document.py:108–133  ·  view source on GitHub ↗
(self, method)

Source from the content-addressed store, hash-verified

106 return Binding.mkparam(self, method, pdef, object)
107
108 def param_defs(self, method):
109 #
110 # Get parameter definitions for document literal.
111 # The I{wrapped} vs I{bare} style is detected in 2 ways.
112 # If there is 2+ parts in the message then it is I{bare}.
113 # If there is only (1) part and that part resolves to a builtin then
114 # it is I{bare}. Otherwise, it is I{wrapped}.
115 #
116 pts = self.bodypart_types(method)
117 wrapped = method.soap.input.body.wrapped
118 if not wrapped:
119 return pts
120 result = []
121 # wrapped
122 for p in pts:
123 resolved = p[1].resolve()
124 for child, ancestry in resolved:
125 if child.isattr():
126 continue
127 if self.bychoice(ancestry):
128 log.debug('%s\ncontained by <choice/>, excluded as param for %s()',
129 child,
130 method.name)
131 continue
132 result.append((child.name, child))
133 return result
134
135 def returned_types(self, method):
136 result = []

Callers 1

bodycontentMethod · 0.95

Calls 5

bychoiceMethod · 0.95
bodypart_typesMethod · 0.80
resolveMethod · 0.45
isattrMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected