The cl module has been removed from Python 3.0, but the aifc module still imports it in multiple locations. The module needs to be updated (with tests hopefully) so as to not use the cl module.
The attached patch removes all cl references from the aifc module and updates it to make it usable in 3.0. It also supports more compression types because audioop has been enhanced throughout the years (i.e. support for alaw encoding since 2.5). The changes are the following : - replace strings with bytes for frames read from an aiff/aifc file. - replace / by // to have integer division back - added ulaw (as an alternative of ULAW) and alaw/ALAW compression because audioop supports them (I've tested them successfully, using the samples from this URL : http://www-mmsp.ece.mcgill.ca/Documents/AudioFormats/AIFF/Samples.html ) - removed all tests when trying to import audioop : they can't fail anymore. - a bit of PEP-8 cleanup I'm not an AIFF/AIFC expert, so criticism is welcome!
Updated the patch with the following corrections/improvements : - corrected a missed str -> bytes - replace % formatting occurrences with str.format() - more PEP-8 conformance