Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / trace-viewer / run_dev_server.py
1 #!/usr/bin/env python
2 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file.
5 import os
6 import sys
7 import json
8
9 from trace_viewer import trace_viewer_project
10 import tvcm
11
12 def do_GET_json_examples(request):
13   test_data_path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'test_data'))
14   data_files = []
15   for dirpath, dirnames, filenames in os.walk(test_data_path):
16     for f in filenames:
17       data_files.append(f)
18
19   data_files.sort()
20   files_as_json = json.dumps(data_files)
21
22   request.send_response(200)
23   request.send_header('Content-Type', 'application/json')
24   request.send_header('Content-Length', len(files_as_json))
25   request.end_headers()
26   request.wfile.write(files_as_json)
27
28 def do_GET_json_examples_skp(request):
29   skp_data_path = os.path.abspath(os.path.join(os.path.dirname(__file__), 'skp_data'))
30   data_files = []
31   for dirpath, dirnames, filenames in os.walk(skp_data_path):
32     for f in filenames:
33       data_files.append(f)
34
35   data_files.sort()
36   files_as_json = json.dumps(data_files)
37
38   request.send_response(200)
39   request.send_header('Content-Type', 'application/json')
40   request.send_header('Content-Length', len(files_as_json))
41   request.end_headers()
42   request.wfile.write(files_as_json)
43
44 def Main(port, args):
45   project = trace_viewer_project.TraceViewerProject()
46
47   server = tvcm.DevServer(port=port, project=project)
48   server.AddPathHandler('/json/examples', do_GET_json_examples)
49   server.AddPathHandler('/json/examples/skp', do_GET_json_examples_skp)
50
51   server.AddSourcePathMapping(project.trace_viewer_path)
52   server.AddTestLink('/examples/skia_debugger.html', 'Skia Debugger')
53   server.AddTestLink('/examples/trace_viewer.html', 'Trace File Viewer')
54   server.serve_forever()
55
56 if __name__ == '__main__':
57   sys.exit(Main(port=8003, args=sys.argv[1:]))