Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
audacity/scripts/piped-work/pipe_test.py /
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
80 lines (62 sloc)
2.08 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/usr/bin/env python | |
| # -*- coding: utf-8 -*- | |
| """Tests the audacity pipe. | |
| Keep pipe_test.py short!! | |
| You can make more complicated longer tests to test other functionality | |
| or to generate screenshots etc in other scripts. | |
| Make sure Audacity is running first and that mod-script-pipe is enabled | |
| before running this script. | |
| Requires Python 2.7 or later. Python 3 is strongly recommended. | |
| """ | |
| import os | |
| import sys | |
| if sys.platform == 'win32': | |
| print("pipe-test.py, running on windows") | |
| TONAME = '\\\\.\\pipe\\ToSrvPipe' | |
| FROMNAME = '\\\\.\\pipe\\FromSrvPipe' | |
| EOL = '\r\n\0' | |
| else: | |
| print("pipe-test.py, running on linux or mac") | |
| TONAME = '/tmp/audacity_script_pipe.to.' + str(os.getuid()) | |
| FROMNAME = '/tmp/audacity_script_pipe.from.' + str(os.getuid()) | |
| EOL = '\n' | |
| print("Write to \"" + TONAME +"\"") | |
| if not os.path.exists(TONAME): | |
| print(" ..does not exist. Ensure Audacity is running with mod-script-pipe.") | |
| sys.exit() | |
| print("Read from \"" + FROMNAME +"\"") | |
| if not os.path.exists(FROMNAME): | |
| print(" ..does not exist. Ensure Audacity is running with mod-script-pipe.") | |
| sys.exit() | |
| print("-- Both pipes exist. Good.") | |
| TOFILE = open(TONAME, 'w') | |
| print("-- File to write to has been opened") | |
| FROMFILE = open(FROMNAME, 'rt') | |
| print("-- File to read from has now been opened too\r\n") | |
| def send_command(command): | |
| """Send a single command.""" | |
| print("Send: >>> \n"+command) | |
| TOFILE.write(command + EOL) | |
| TOFILE.flush() | |
| def get_response(): | |
| """Return the command response.""" | |
| result = '' | |
| line = '' | |
| while True: | |
| result += line | |
| line = FROMFILE.readline() | |
| if line == '\n' and len(result) > 0: | |
| break | |
| return result | |
| def do_command(command): | |
| """Send one command, and return the response.""" | |
| send_command(command) | |
| response = get_response() | |
| print("Rcvd: <<< \n" + response) | |
| return response | |
| def quick_test(): | |
| """Example list of commands.""" | |
| do_command('Help: Command=Help') | |
| do_command('Help: Command="GetInfo"') | |
| #do_command('SetPreference: Name=GUI/Theme Value=classic Reload=1') | |
| quick_test() |