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

Class Iter

suds/sudsobject.py:178–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

176
177
178class Iter:
179
180 def __init__(self, sobject):
181 self.sobject = sobject
182 self.keylist = self.__keylist(sobject)
183 self.index = 0
184
185 def __next__(self):
186 return self.next()
187
188 def next(self):
189 keylist = self.keylist
190 nkeys = len(self.keylist)
191 while self.index < nkeys:
192 k = keylist[self.index]
193 self.index += 1
194 if hasattr(self.sobject, k):
195 v = getattr(self.sobject, k)
196 return (k, v)
197 raise StopIteration()
198
199 def __keylist(self, sobject):
200 keylist = sobject.__keylist__
201 try:
202 keyset = set(keylist)
203 ordering = sobject.__metadata__.ordering
204 ordered = set(ordering)
205 if not ordered.issuperset(keyset):
206 log.debug(
207 '%s must be superset of %s, ordering ignored',
208 keylist,
209 ordering)
210 raise KeyError()
211 return ordering
212 except:
213 return keylist
214
215 def __iter__(self):
216 return self
217
218
219class Metadata(Object):

Callers 1

__iter__Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected