39 lines
		
	
	
		
			903 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			903 B
		
	
	
	
		
			Python
		
	
	
	
	
	
# vim: ts=8 sts=2 sw=2 tw=99 et ft=python: 
 | 
						|
import sys
 | 
						|
import subprocess
 | 
						|
import os
 | 
						|
try:
 | 
						|
  import urllib.request as urllib
 | 
						|
except ImportError:
 | 
						|
  import urllib2 as urllib
 | 
						|
 | 
						|
if len(sys.argv) < 3:
 | 
						|
  sys.stderr.write('Usage: <symbol-file> <dump-syms-cmd> <args...>\n')
 | 
						|
  sys.exit(1)
 | 
						|
 | 
						|
SYMBOL_SERVER = os.environ['BREAKPAD_SYMBOL_SERVER']
 | 
						|
symbol_file = sys.argv[1]
 | 
						|
cmd_argv = sys.argv[2:]
 | 
						|
 | 
						|
sys.stdout.write(' '.join(cmd_argv))
 | 
						|
sys.stdout.write('\n')
 | 
						|
 | 
						|
p = subprocess.Popen(
 | 
						|
  args = cmd_argv,
 | 
						|
  stdout = subprocess.PIPE,
 | 
						|
  stderr = subprocess.PIPE,
 | 
						|
  shell = False
 | 
						|
)
 | 
						|
stdout, stderr = p.communicate()
 | 
						|
out = stdout.decode('utf8')
 | 
						|
err = stdout.decode('utf8')
 | 
						|
 | 
						|
with open(symbol_file, 'w') as fp:
 | 
						|
  fp.write(stdout)
 | 
						|
  fp.write(stderr)
 | 
						|
 | 
						|
request = urllib.Request(SYMBOL_SERVER, out)
 | 
						|
request.add_header('Content-Type', 'text/plain')
 | 
						|
server_response = urllib.urlopen(request).read().decode('utf8')
 | 
						|
print(server_response)
 |