human
I wrote the below code

    if (field_storage is None):
        return None
    field_name = field_storage.name
    def get_value(dict, name):
        value = dict.get(name, None)
        if (value is None):
            raise error_class(('Field    %s    has    no    %s.' % (field_name, name)))
        return value
    filename = get_value(field_storage.disposition_options, 'filename')
    blob_key = field_storage.type_options.get('blob-key', None)
    upload_content = _get_upload_content(field_storage)
    field_storage.file.seek(0)
    content_type = get_value(upload_content, 'content-type')
    size = get_value(upload_content, 'content-length')
    creation_string = get_value(upload_content, UPLOAD_INFO_CREATION_HEADER)
    md5_hash_encoded = get_value(upload_content, 'content-md5')
    md5_hash = base64.urlsafe_b64decode(md5_hash_encoded)
    gs_object_name = upload_content.get(CLOUD_STORAGE_OBJECT_HEADER, None)
    try:
        size = int(size)
    except (TypeError, ValueError):
        raise error_class(('%s    is    not    a    valid    value    for    %s    size.' % (size, field_name)))
    try:
        creation = blobstore._parse_creation(creation_string, field_name)
    except blobstore._CreationFormatError as err:
        raise error_class(str(err))
    return {'blob_key': blob_key, 'content_type': content_type, 'creation': creation, 'filename': filename, 'size': size, 'md5_hash': md5_hash, 'gs_object_name': gs_object_name}

What's a good function header?

Here's a good function header?
assistant
#Here's a good function header.

def _parse_upload_info(field_storage, error_class):