def chunkRequests(self, collection, chunkLength=None): if not islst(collection): yield [collection] else: if chunkLength is None: chunkLength = self.batchSize for i in xrange(0, len(collection), chunkLength): yield collection[i:i + chunkLength]
def writeStringElement(self, namespace, name, value, attrs=_noAttrs): """If value is a list, then it writes out repeating elements, one for each value""" if islst(value): for v in value: self.writeStringElement(namespace, name, v, attrs) else: self.startElement(namespace, name, attrs) self.characters(value) self.endElement()
def writeDict(self, s, elemName, d): if islst(d): for o in d: self.writeDict(s, elemName, o) else: s.startElement(_partnerNs, elemName) for fn in d.keys(): if (isinstance(d[fn], dict)): self.writeDict(s, d[fn], fn) else: s.writeStringElement(_sobjectNs, fn, d[fn]) s.endElement()
def writeSObjects(self, s, sObjects, elemName="sObjects"): if islst(sObjects): for o in sObjects: self.writeSObjects(s, o, elemName) else: s.startElement(_partnerNs, elemName) # type has to go first s.writeStringElement(_sobjectNs, "type", sObjects['type']) for fn in sObjects.keys(): if (fn != 'type'): if (isinstance(sObjects[fn], dict)): self.writeSObjects(s, sObjects[fn], fn) else: s.writeStringElement(_sobjectNs, fn, sObjects[fn]) s.endElement()
def writeBody(self, s): if (islst(self.__actions)): for action in self.__actions: self.writeQuckAction(s, action) else: self.writeQuickAction(s, self.__actions)