'Parses CSV data, uses a Loader to convert to entities, and stores them.
On error, fails fast. Returns a "bad request" HTTP response code and
includes the traceback in the output.
Args:
kind: a string containing the entity kind that this loader handles
data: a string containing the CSV data to load
Returns:
tuple (response code, output) where:
response code: integer HTTP response code to return
output: string containing the HTTP response body'

def Load(self, kind, data):

    data = data.encode('utf-8')
    Validate(kind, basestring)
    Validate(data, basestring)
    output = []
    try:
        loader = Loader.RegisteredLoaders()[kind]
    except KeyError:
        output.append(('Error:    no    Loader    defined    for    kind    %s.' % kind))
        return (httplib.BAD_REQUEST, ''.join(output))
    buffer = StringIO.StringIO(data)
    reader = csv.reader(buffer, skipinitialspace=True)
    try:
        csv.field_size_limit(800000)
    except AttributeError:
        pass
    return self.LoadEntities(self.IterRows(reader), loader)
