29 lines
		
	
	
		
			717 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			717 B
		
	
	
	
		
			Python
		
	
	
	
	
	
| # adapted from https://github.com/wbond/sublime_package_control/blob/master/Package%20Control.py
 | |
| import os.path
 | |
| import subprocess
 | |
| 
 | |
| 
 | |
| class BinaryNotFoundError(Exception):
 | |
|     pass
 | |
| 
 | |
| 
 | |
| def find_binary(name):
 | |
|     dirs = ['/usr/local/sbin', '/usr/local/bin', '/usr/sbin', '/usr/bin',
 | |
|         '/sbin', '/bin']
 | |
|     for dir in dirs:
 | |
|         path = os.path.join(dir, name)
 | |
|         if os.path.exists(path):
 | |
|             return path
 | |
| 
 | |
|     raise BinaryNotFoundError('The binary ' + name + ' could not be ' + \
 | |
|         'located')
 | |
| 
 | |
| 
 | |
| def execute(args):
 | |
|     proc = subprocess.Popen(args, stdin=subprocess.PIPE,
 | |
|         stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
 | |
| 
 | |
|     output = proc.stdout.read()
 | |
|     proc.wait()
 | |
|     return output
 |