'Save ID3v2 data to the AIFF file'

@convert_error(IOError, error)
@loadfile(writable=True)
def save(self, filething, v2_version=4, v23_sep='/', padding=None):

    fileobj = filething.fileobj
    iff_file = IFFFile(fileobj)
    if (u'ID3' not in iff_file):
        iff_file.insert_chunk(u'ID3')
    chunk = iff_file[u'ID3']
    try:
        data = self._prepare_data(fileobj, chunk.data_offset, chunk.data_size, v2_version, v23_sep, padding)
    except ID3Error as e:
        reraise(error, e, sys.exc_info()[2])
    new_size = len(data)
    new_size += (new_size % 2)
    assert ((new_size % 2) == 0)
    chunk.resize(new_size)
    data += ((new_size - len(data)) * '\x00')
    assert (new_size == len(data))
    chunk.write(data)
