# Clear-screen and error beep module for various platforms. # --------------------------------------------------------- # # File saved as "clsbeep.py" and placed into the Python - Lib drawer or # where-ever the modules are located. # # Setting up a basic error beep and clear screen for Python 1.4 and greater. # (Original idea copyright, (C)2002, B.Walker, G0LCU.) # # Issued as Public Domain and you can do with it as you please. # # Tested on Python 1.4.x for a stock AMIGA 1200 and Python 2.0.x for WinUAE. # Tested on Python 2.4.2 for Windows ME and Python 2.6.2 for XP-SP2. # (Now changed to include Windows Vista, [and Windows 7?], to Python 2.7.x) # Tested on Python 2.5.2 for PCLinuxOS 2009, Knoppix 5.1.1 and Python 2.6.6 # on Debian 6.0.0... # All platforms in CLI/Command-Prompt/Terminal mode. # # It is SO easy to convert to Python 3.x that I have not bothered. I`ll leave # you guys to work that one out... :) # # ---------------------- # Usage in other files:- # >>> import clsbeep[RETURN/ENTER] # ---------------------- # Called as:- # clsbeep.beep() # clsbeep.cls() # clsbeep.both() # ---------------------- # The ~if~ statement selects the correct format for the platform in use. # ---------------------- # Import necessary modules for this to work. import os import sys # Generate a beep when called. def beep(): # A stock AMIGA 1200 using Python 1.4 or greater. # This assumes that the sound is enabled in the PREFS: drawer. # AND/OR the screen flash is enabled also. if sys.platform=='amiga': print '\a\v' # MS Windows (TM), from Windows ME upwards. Used in Command # Prompt mode for best effect. # The *.WAV file can be anything of your choice. # CHORD.WAV was the default. # SNDREC32.EXE no longer exists in WIndows Vista, and higher? if sys.platform=='win32': # os.system('SNDREC32.EXE "C:\WINDOWS\MEDIA\CHORD.WAV" /EMBEDDING /PLAY /CLOSE') print chr(7), # A generic error beep for all Linux platforms. # There is a simple way to change the frequency, and the amplitude. # This also works in a Linux terminal running a Python interpreter! if sys.platform=='linux2': audio=file('/dev/audio', 'wb') count=0 while count<250: beep=chr(63)+chr(63)+chr(63)+chr(63) audio.write(beep) beep=chr(0)+chr(0)+chr(0)+chr(0) audio.write(beep) count=count+1 audio.close() # Add here for other OSs. # Add here any peculiarities. # if sys.platform=='some-platform': # Do some sound error beep. # Do a clear screen, with the limitations as shown. def cls(): # A stock AMIGA 1200 using Python 1.4 or greater. if sys.platform=='amiga': print '\f', # MS Windows (TM), from Windows ME upwards. # This is for the Command Prompt version ONLY both windowed AND/OR # screen modes. if sys.platform=='win32': print os.system("CLS"),chr(13)," ",chr(13), # A generic version for all Linux platforms. # For general console Python usage. if sys.platform=='linux2': print os.system("clear"),chr(13)," ",chr(13), # Add here for other OSs. # Peculiarities here. # if sys.platform=='some-platform': # Do some clear screen action... # Do both if required. def both(): beep() cls() # Module end... # Enjoy finding simple solutions to often very difficult problems.