showard | ce12f55 | 2008-09-19 00:48:59 +0000 | [diff] [blame] | 1 | import django.http |
showard | 250d84d | 2010-01-12 21:59:48 +0000 | [diff] [blame] | 2 | from autotest_lib.frontend.tko import rpc_interface, graphing_utils |
| 3 | from autotest_lib.frontend.tko import csv_encoder |
showard | 3d6ae11 | 2009-05-02 00:45:48 +0000 | [diff] [blame] | 4 | from autotest_lib.frontend.afe import rpc_handler, rpc_utils |
showard | 3544486 | 2008-08-07 22:35:30 +0000 | [diff] [blame] | 5 | |
| 6 | rpc_handler_obj = rpc_handler.RpcHandler((rpc_interface,), |
| 7 | document_module=rpc_interface) |
| 8 | |
showard | 3544486 | 2008-08-07 22:35:30 +0000 | [diff] [blame] | 9 | def handle_rpc(request): |
| 10 | return rpc_handler_obj.handle_rpc_request(request) |
showard | ce12f55 | 2008-09-19 00:48:59 +0000 | [diff] [blame] | 11 | |
| 12 | |
showard | ef6fe02 | 2009-03-27 20:55:16 +0000 | [diff] [blame] | 13 | def handle_jsonp_rpc(request): |
| 14 | return rpc_handler_obj.handle_jsonp_rpc_request(request) |
| 15 | |
| 16 | |
showard | 3d6ae11 | 2009-05-02 00:45:48 +0000 | [diff] [blame] | 17 | def handle_csv(request): |
| 18 | request_data = rpc_handler_obj.raw_request_data(request) |
| 19 | decoded_request = rpc_handler_obj.decode_request(request_data) |
showard | 99c2186 | 2009-09-16 17:18:05 +0000 | [diff] [blame] | 20 | result = rpc_handler_obj.dispatch_request(decoded_request)['result'] |
showard | 3d6ae11 | 2009-05-02 00:45:48 +0000 | [diff] [blame] | 21 | encoder = csv_encoder.encoder(decoded_request, result) |
| 22 | return encoder.encode() |
| 23 | |
| 24 | |
showard | ef6fe02 | 2009-03-27 20:55:16 +0000 | [diff] [blame] | 25 | def rpc_documentation(request): |
| 26 | return rpc_handler_obj.get_rpc_documentation() |
| 27 | |
| 28 | |
showard | ce12f55 | 2008-09-19 00:48:59 +0000 | [diff] [blame] | 29 | def handle_plot(request): |
| 30 | id = request.GET['id'] |
| 31 | max_age = request.GET['max_age'] |
| 32 | return django.http.HttpResponse( |
| 33 | graphing_utils.handle_plot_request(id, max_age), mimetype='image/png') |