mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	Merged revisions 56492-56752 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/branches/p3yk ........ r56497 | kurt.kaiser | 2007-07-22 14:55:16 -0700 (Sun, 22 Jul 2007) | 4 lines In the case of syntax errors, in py3k format_exception_only() was including line number and position in the final line of the exception notification, duplicating info in previous lines. ........ r56501 | kurt.kaiser | 2007-07-22 19:35:50 -0700 (Sun, 22 Jul 2007) | 2 lines Hum, needed a newline in the last change. ........ r56536 | kurt.kaiser | 2007-07-24 19:06:48 -0700 (Tue, 24 Jul 2007) | 5 lines Not all instantiations of SyntaxError set the args attribute. e.g. symtable.c Modify format_exception_only() to get SyntaxError attributes directly instead of unpacking 'args'. ........ r56537 | kurt.kaiser | 2007-07-24 19:13:03 -0700 (Tue, 24 Jul 2007) | 3 lines Update doctest strings: traceback.py no longer prints redundant location information in the last line of the exception display. ........ r56627 | kurt.kaiser | 2007-07-29 21:06:57 -0700 (Sun, 29 Jul 2007) | 2 lines Interactive interpreter emulator (code.py) failing to print exceptions. ........ r56628 | kurt.kaiser | 2007-07-29 21:41:02 -0700 (Sun, 29 Jul 2007) | 2 lines Eliminate extra lines before and after tracebacks. ........ r56638 | kurt.kaiser | 2007-07-31 19:36:45 -0700 (Tue, 31 Jul 2007) | 3 lines Refactor syntax error display in shell and edit windows; move colorize_syntax_error() to EditorWindow; update to py3k. ........ r56685 | neal.norwitz | 2007-08-02 22:20:23 -0700 (Thu, 02 Aug 2007) | 10 lines Remove several h/w and o/s specific modules that are undocumented, obsolete, and/or not widely used: linuxaudiodev.c, sunaudiodev.c Lib/plat-sunos5/SUNAUDIODEV.py Lib/audiodev.py Tools/audiopy/audiopy Move Lib/toaiff.py to Demo. See PEP 3108 for most of the details. ........ r56686 | neal.norwitz | 2007-08-02 22:21:48 -0700 (Thu, 02 Aug 2007) | 4 lines Missed one module that should have been removed since it relied on audiodev which was removed. ........ r56748 | neal.norwitz | 2007-08-04 19:19:04 -0700 (Sat, 04 Aug 2007) | 1 line Make from X import * outside module scope an error. ........ r56750 | neal.norwitz | 2007-08-04 19:35:01 -0700 (Sat, 04 Aug 2007) | 1 line Use READONLY consistently instead of RO ........
This commit is contained in:
		
							parent
							
								
									77553ab531
								
							
						
					
					
						commit
						33d2689fc9
					
				
					 47 changed files with 155 additions and 2776 deletions
				
			
		|  | @ -1,149 +0,0 @@ | |||
| # DAH should be three DOTs. | ||||
| # Space between DOTs and DAHs should be one DOT. | ||||
| # Space between two letters should be one DAH. | ||||
| # Space between two words should be DOT DAH DAH. | ||||
| 
 | ||||
| import sys, math, audiodev | ||||
| 
 | ||||
| DOT = 30 | ||||
| DAH = 3 * DOT | ||||
| OCTAVE = 2                              # 1 == 441 Hz, 2 == 882 Hz, ... | ||||
| 
 | ||||
| morsetab = { | ||||
|         'A': '.-',              'a': '.-', | ||||
|         'B': '-...',            'b': '-...', | ||||
|         'C': '-.-.',            'c': '-.-.', | ||||
|         'D': '-..',             'd': '-..', | ||||
|         'E': '.',               'e': '.', | ||||
|         'F': '..-.',            'f': '..-.', | ||||
|         'G': '--.',             'g': '--.', | ||||
|         'H': '....',            'h': '....', | ||||
|         'I': '..',              'i': '..', | ||||
|         'J': '.---',            'j': '.---', | ||||
|         'K': '-.-',             'k': '-.-', | ||||
|         'L': '.-..',            'l': '.-..', | ||||
|         'M': '--',              'm': '--', | ||||
|         'N': '-.',              'n': '-.', | ||||
|         'O': '---',             'o': '---', | ||||
|         'P': '.--.',            'p': '.--.', | ||||
|         'Q': '--.-',            'q': '--.-', | ||||
|         'R': '.-.',             'r': '.-.', | ||||
|         'S': '...',             's': '...', | ||||
|         'T': '-',               't': '-', | ||||
|         'U': '..-',             'u': '..-', | ||||
|         'V': '...-',            'v': '...-', | ||||
|         'W': '.--',             'w': '.--', | ||||
|         'X': '-..-',            'x': '-..-', | ||||
|         'Y': '-.--',            'y': '-.--', | ||||
|         'Z': '--..',            'z': '--..', | ||||
|         '0': '-----', | ||||
|         '1': '.----', | ||||
|         '2': '..---', | ||||
|         '3': '...--', | ||||
|         '4': '....-', | ||||
|         '5': '.....', | ||||
|         '6': '-....', | ||||
|         '7': '--...', | ||||
|         '8': '---..', | ||||
|         '9': '----.', | ||||
|         ',': '--..--', | ||||
|         '.': '.-.-.-', | ||||
|         '?': '..--..', | ||||
|         ';': '-.-.-.', | ||||
|         ':': '---...', | ||||
|         "'": '.----.', | ||||
|         '-': '-....-', | ||||
|         '/': '-..-.', | ||||
|         '(': '-.--.-', | ||||
|         ')': '-.--.-', | ||||
|         '_': '..--.-', | ||||
|         ' ': ' ' | ||||
| } | ||||
| 
 | ||||
| # If we play at 44.1 kHz (which we do), then if we produce one sine | ||||
| # wave in 100 samples, we get a tone of 441 Hz.  If we produce two | ||||
| # sine waves in these 100 samples, we get a tone of 882 Hz.  882 Hz | ||||
| # appears to be a nice one for playing morse code. | ||||
| def mkwave(octave): | ||||
|     global sinewave, nowave | ||||
|     sinewave = '' | ||||
|     for i in range(100): | ||||
|         val = int(math.sin(math.pi * float(i) * octave / 50.0) * 30000) | ||||
|         sinewave = sinewave + chr((val >> 8) & 255) + chr(val & 255) | ||||
|     nowave = '\0' * 200 | ||||
| 
 | ||||
| mkwave(OCTAVE) | ||||
| 
 | ||||
| def main(): | ||||
|     import getopt, string | ||||
|     try: | ||||
|         opts, args = getopt.getopt(sys.argv[1:], 'o:p:') | ||||
|     except getopt.error: | ||||
|         sys.stderr.write('Usage ' + sys.argv[0] + | ||||
|                          ' [ -o outfile ] [ args ] ...\n') | ||||
|         sys.exit(1) | ||||
|     dev = None | ||||
|     for o, a in opts: | ||||
|         if o == '-o': | ||||
|             import aifc | ||||
|             dev = aifc.open(a, 'w') | ||||
|             dev.setframerate(44100) | ||||
|             dev.setsampwidth(2) | ||||
|             dev.setnchannels(1) | ||||
|         if o == '-p': | ||||
|             mkwave(string.atoi(a)) | ||||
|     if not dev: | ||||
|         import audiodev | ||||
|         dev = audiodev.AudioDev() | ||||
|         dev.setoutrate(44100) | ||||
|         dev.setsampwidth(2) | ||||
|         dev.setnchannels(1) | ||||
|         dev.close = dev.stop | ||||
|         dev.writeframesraw = dev.writeframes | ||||
|     if args: | ||||
|         line = string.join(args) | ||||
|     else: | ||||
|         line = sys.stdin.readline() | ||||
|     while line: | ||||
|         mline = morse(line) | ||||
|         play(mline, dev) | ||||
|         if hasattr(dev, 'wait'): | ||||
|             dev.wait() | ||||
|         if not args: | ||||
|             line = sys.stdin.readline() | ||||
|         else: | ||||
|             line = '' | ||||
|     dev.close() | ||||
| 
 | ||||
| # Convert a string to morse code with \001 between the characters in | ||||
| # the string. | ||||
| def morse(line): | ||||
|     res = '' | ||||
|     for c in line: | ||||
|         try: | ||||
|             res = res + morsetab[c] + '\001' | ||||
|         except KeyError: | ||||
|             pass | ||||
|     return res | ||||
| 
 | ||||
| # Play a line of morse code. | ||||
| def play(line, dev): | ||||
|     for c in line: | ||||
|         if c == '.': | ||||
|             sine(dev, DOT) | ||||
|         elif c == '-': | ||||
|             sine(dev, DAH) | ||||
|         else:                   # space | ||||
|             pause(dev, DAH + DOT) | ||||
|         pause(dev, DOT) | ||||
| 
 | ||||
| def sine(dev, length): | ||||
|     for i in range(length): | ||||
|         dev.writeframesraw(sinewave) | ||||
| 
 | ||||
| def pause(dev, length): | ||||
|     for i in range(length): | ||||
|         dev.writeframesraw(nowave) | ||||
| 
 | ||||
| if __name__ == '__main__' or sys.argv[0] == __name__: | ||||
|     main() | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Guido van Rossum
						Guido van Rossum