[Python-checkins] r83610 - in python/branches/py3k/Demo/scripts: README toaiff.py

georg.brandl python-checkins at python.org
Tue Aug 3 00:55:17 CEST 2010


Author: georg.brandl
Date: Tue Aug  3 00:55:17 2010
New Revision: 83610

Log:
Update README, remove obsolete script.

Removed:
   python/branches/py3k/Demo/scripts/toaiff.py
Modified:
   python/branches/py3k/Demo/scripts/README

Modified: python/branches/py3k/Demo/scripts/README
==============================================================================
--- python/branches/py3k/Demo/scripts/README	(original)
+++ python/branches/py3k/Demo/scripts/README	Tue Aug  3 00:55:17 2010
@@ -2,21 +2,21 @@
 
 See also the Tools/scripts directory!
 
-beer.py			Print the classic 'bottles of beer' list
-eqfix.py		Fix .py files to use the correct equality test operator
-fact.py			Factorize numbers
-find-uname.py		Search for Unicode characters using regexps
-from.py			Summarize mailbox
-lpwatch.py		Watch BSD line printer queues
-makedir.py		Like mkdir -p
-markov.py		Markov chain simulation of words or characters
-mboxconvert.py		Convert MH or MMDF mailboxes to unix mailbox format
-morse.py		Produce morse code (as an AIFF file)
-newslist.py		List all newsgroups on a NNTP server as HTML pages
-pi.py			Print all digits of pi -- given enough time and memory
-pp.py			Emulate some Perl command line options
-primes.py		Print prime numbers
-queens.py		Dijkstra's solution to Wirth's "N Queens problem"
-script.py		Equivalent to BSD script(1) -- by Steen Lumholt
-unbirthday.py		Print unbirthday count
-update.py		Update a bunch of files according to a script.
+beer.py                 Print the classic 'bottles of beer' list
+eqfix.py                Fix .py files to use the correct equality test operator
+fact.py                 Factorize numbers
+find-uname.py           Search for Unicode characters using regexps
+from.py                 Summarize mailbox
+lpwatch.py              Watch BSD line printer queues
+makedir.py              Like mkdir -p
+markov.py               Markov chain simulation of words or characters
+mboxconvert.py          Convert MH or MMDF mailboxes to unix mailbox format
+morse.py                Produce morse code (as an AIFF file)
+newslist.py             List all newsgroups on a NNTP server as HTML pages
+pi.py                   Print all digits of pi -- given enough time and memory
+pp.py                   Emulate some Perl command line options
+primes.py               Print prime numbers
+queens.py               Dijkstra's solution to Wirth's "N Queens problem"
+script.py               Equivalent to BSD script(1) -- by Steen Lumholt
+unbirthday.py           Print unbirthday count
+update.py               Update a bunch of files according to a script

Deleted: python/branches/py3k/Demo/scripts/toaiff.py
==============================================================================
--- python/branches/py3k/Demo/scripts/toaiff.py	Tue Aug  3 00:55:17 2010
+++ (empty file)
@@ -1,107 +0,0 @@
-"""Convert "arbitrary" sound files to AIFF (Apple and SGI's audio format).
-
-Input may be compressed.
-Uncompressed file type may be AIFF, WAV, VOC, 8SVX, NeXT/Sun, and others.
-An exception is raised if the file is not of a recognized type.
-Returned filename is either the input filename or a temporary filename;
-in the latter case the caller must ensure that it is removed.
-Other temporary files used are removed by the function.
-"""
-
-import os
-import tempfile
-import pipes
-import sndhdr
-
-__all__ = ["error", "toaiff"]
-
-table = {}
-
-t = pipes.Template()
-t.append('sox -t au - -t aiff -r 8000 -', '--')
-table['au'] = t
-
-# XXX The following is actually sub-optimal.
-# XXX The HCOM sampling rate can be 22k, 22k/2, 22k/3 or 22k/4.
-# XXX We must force the output sampling rate else the SGI won't play
-# XXX files sampled at 5.5k or 7.333k; however this means that files
-# XXX sampled at 11k are unnecessarily expanded.
-# XXX Similar comments apply to some other file types.
-t = pipes.Template()
-t.append('sox -t hcom - -t aiff -r 22050 -', '--')
-table['hcom'] = t
-
-t = pipes.Template()
-t.append('sox -t voc - -t aiff -r 11025 -', '--')
-table['voc'] = t
-
-t = pipes.Template()
-t.append('sox -t wav - -t aiff -', '--')
-table['wav'] = t
-
-t = pipes.Template()
-t.append('sox -t 8svx - -t aiff -r 16000 -', '--')
-table['8svx'] = t
-
-t = pipes.Template()
-t.append('sox -t sndt - -t aiff -r 16000 -', '--')
-table['sndt'] = t
-
-t = pipes.Template()
-t.append('sox -t sndr - -t aiff -r 16000 -', '--')
-table['sndr'] = t
-
-uncompress = pipes.Template()
-uncompress.append('uncompress', '--')
-
-
-class error(Exception):
-    pass
-
-def toaiff(filename):
-    temps = []
-    ret = None
-    try:
-        ret = _toaiff(filename, temps)
-    finally:
-        for temp in temps[:]:
-            if temp != ret:
-                try:
-                    os.unlink(temp)
-                except os.error:
-                    pass
-                temps.remove(temp)
-    return ret
-
-def _toaiff(filename, temps):
-    if filename[-2:] == '.Z':
-        (fd, fname) = tempfile.mkstemp()
-        os.close(fd)
-        temps.append(fname)
-        sts = uncompress.copy(filename, fname)
-        if sts:
-            raise error(filename + ': uncompress failed')
-    else:
-        fname = filename
-    try:
-        ftype = sndhdr.whathdr(fname)
-        if ftype:
-            ftype = ftype[0] # All we're interested in
-    except IOError as msg:
-        if type(msg) == type(()) and len(msg) == 2 and \
-                type(msg.args[0]) == type(0) and type(msg.args[1]) == type(''):
-            msg = msg.args[1]
-        if type(msg) != type(''):
-            msg = repr(msg)
-        raise error(filename + ': ' + msg)
-    if ftype == 'aiff':
-        return fname
-    if ftype is None or not ftype in table:
-        raise error('%s: unsupported audio file type %r' % (filename, ftype))
-    (fd, temp) = tempfile.mkstemp()
-    os.close(fd)
-    temps.append(temp)
-    sts = table[ftype].copy(fname, temp)
-    if sts:
-        raise error(filename + ': conversion to aiff failed')
-    return temp


More information about the Python-checkins mailing list