34 lines
		
	
	
		
			974 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			974 B
		
	
	
	
		
			Python
		
	
	
		
			Executable File
		
	
	
#!/usr/bin/python2
 | 
						|
 | 
						|
import cgi, traceback, urllib2
 | 
						|
import common
 | 
						|
from autotest_lib.frontend.afe.json_rpc import serviceHandler
 | 
						|
 | 
						|
script = """\
 | 
						|
Content-Type: text/javascript
 | 
						|
 | 
						|
%(callback)s(%(result)s);
 | 
						|
"""
 | 
						|
 | 
						|
class LogFileNotFound(Exception):
 | 
						|
    pass
 | 
						|
 | 
						|
form = cgi.FieldStorage(keep_blank_values=True)
 | 
						|
encoded_request = form['request'].value
 | 
						|
callback = form['callback'].value
 | 
						|
 | 
						|
request = serviceHandler.ServiceHandler.translateRequest(encoded_request)
 | 
						|
parameters = request['params'][0]
 | 
						|
path = parameters['path']
 | 
						|
 | 
						|
result_dict = serviceHandler.ServiceHandler.blank_result_dict()
 | 
						|
try:
 | 
						|
    file_contents = urllib2.urlopen('http://localhost' + path).read()
 | 
						|
    result_dict['result'] = file_contents
 | 
						|
except urllib2.HTTPError:
 | 
						|
    result_dict['err'] = LogFileNotFound('%s not found' % path)
 | 
						|
    result_dict['err_traceback'] = traceback.format_exc()
 | 
						|
 | 
						|
encoded_result = serviceHandler.ServiceHandler.translateResult(result_dict)
 | 
						|
print script % dict(callback=callback, result=encoded_result)
 |