def upsert(self, externalIdName, sObjects): preparedObjects = _prepareSObjects(sObjects) res = BaseClient.upsert(self, externalIdName, preparedObjects) if type(res) not in (TupleType, ListType): res = [res] data = list() for r in res: d = dict() data.append(d) d['id'] = str(r[_tPartnerNS.id]) d['success'] = success = _bool(r[_tPartnerNS.success]) if not success: d['errors'] = [_extractError(e) for e in r[_tPartnerNS.errors:]] else: d['errors'] = list() d['isCreated'] = d['created'] = _bool(r[_tPartnerNS.created]) return data