def retrieve(self, fields, sObjectType, ids): resultSet = BaseClient.retrieve(self, fields, sObjectType, ids) type_data = self.describeSObjects(sObjectType)[0] if type(resultSet) not in (TupleType, ListType): if isnil(resultSet): resultSet = list() else: resultSet = [resultSet] fields = [f.strip() for f in fields.split(',')] data = list() for result in resultSet: d = dict() data.append(d) for fname in fields: d[fname] = type_data.marshall(fname, result) return data