diff options
Diffstat (limited to 'contrib/libstdc++/scripts/make_graphs.py')
-rwxr-xr-x | contrib/libstdc++/scripts/make_graphs.py | 160 |
1 files changed, 0 insertions, 160 deletions
diff --git a/contrib/libstdc++/scripts/make_graphs.py b/contrib/libstdc++/scripts/make_graphs.py deleted file mode 100755 index 0b5daf24360c..000000000000 --- a/contrib/libstdc++/scripts/make_graphs.py +++ /dev/null @@ -1,160 +0,0 @@ -#!/usr/bin/python - -import sys -import commands -import re -from xml.dom import minidom -from BeautifulSoup import BeautifulSoup -import make_graph - -class exception: - pass - -res_div_re = re.compile('(.*?)_res_div') -settings_div_re = re.compile('(.*?)_settings_div') - - -gray_border_div_str = '<div style = "border-style: dotted; border-width: 1px; border-color: lightgray">' -space_div_str = '<div style = "width: 100%; height: 20px">' - - - -def logical_build_from_build(build): - if build == 'gcc': - return 'g++' - if build == 'msvc': - return 'msvc++' - if build == 'local': - return 'local' - sys.stderr.write(build) - raise exception - - -def img_title_from_origs(label, title, base_build_ref, build_name, logical_build_name): - title = title.replace('_tt_', '<tt>') - title = title.replace('_455tt_', '</tt>') - title = title.replace('_b_', '<b>') - title = title.replace('_455b_', '</b>') - title = title.replace('_456', ',') - title = title.replace('_457', '[]') - title = title.replace('_', ' ') - return '%s: %s - <a href = "%s_performance_tests.html#%s">%s</a>' % ( - label, - title, - base_build_ref, - build_name, - logical_build_name) - - -def make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name): - cmd_str = '%s/scripts/make_graph.py %s %s %s %s %s' % ( - src_dir, doc_dir, - res_dir, - tests_info_xml_f_name, - test_name, - build_name) - # Must start a new process for pychart - otherwise pngs overlap. - so = commands.getstatusoutput(cmd_str) - if(so[0] != 0): - sys.stderr.write(cmd_str + '\n') - sys.stderr.write(so[1] + '\n') - sys.exit(-1) - - -def make_png_str(label, test_name, build): - ret = '<h6 class="c1">' - ret += '<a name="%s" id= "%s">' % (label, label) - ret += '<img src="%s" ' % (test_name + '_' + build + '.png') - ret += 'alt="no image" />' - ret += '</a></h6>' - return ret - -def process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name): - doc_dir = src_dir + "/docs/html/ext/pb_ds" - res_dir = build_dir - html_f = open(doc_dir + '/' + html_f_name) - soup = BeautifulSoup(html_f.read()) - html_f.close() - platform_comp_re = re.compile('platform_comp_%s' % build_name) - for d in soup('div'): - try: - settings_m = settings_div_re.match(d['id']) - res_m = res_div_re.match(d['id']) - except: - settings_m = None - res_m = None - - if settings_m: - build = settings_m.groups()[0] - if build == build_name: - logical_build_name = logical_build_from_build(build) - info = gray_border_div_str - info += '<h3><a name = "%s"><u>%s</u></a></h3>' % (build, logical_build_name) - info += make_graph.comp_platform_info(compiler_name) - info += '</div>%s</div>' % space_div_str - d.contents = info - elif res_m: - label = res_m.groups()[0] - d = d.divTag - - build = d['id'].replace('%s_' % label, '') - - if build == build_name: - logical_build_name = logical_build_from_build(build) - d = d.divTag - test_name = d['id'].replace('%s_' % label, '') - d = d.divTag - base_build_ref = d['id'].replace('%s_' % label, '') - d = d.divTag - title = d['id'].replace('%s_' % label, '') - img_title = img_title_from_origs(label, title, base_build_ref, build, logical_build_name) - - make_png(src_dir, doc_dir, res_dir, tests_info_xml_f_name, build_name, test_name) - png_str = make_png_str(label, test_name, build) - content = gray_border_div_str - content += png_str - content += img_title -# content += make_graph.legend(doc_dir, res_dir, tests_info_xml_f_name, test_name, build_name) - content += '</div>%s</div>' % space_div_str - d.contents = content - - return soup - - - -if __name__ == "__main__": - """ - Doc dir - This module takes 6 parameters from the command line: - Source directory - Build directory - HTMLs XML file name - Tests info XML file name - Build name - Compiler name - """ - - usg = "make_graph.py <src_dir> <build_dir> <htmls_xml_f_name> <tests_info_xml_f_name> <build_name> <compiler_name>\n" - - if len(sys.argv) != 7: - sys.stderr.write(usg) - raise exception - - src_dir = sys.argv[1] - build_dir = sys.argv[2] - htmls_xml_f_name = sys.argv[3] - tests_info_xml_f_name = sys.argv[4] - build_name = sys.argv[5] - compiler_name = sys.argv[6] - doc_dir = src_dir + "/docs/html/ext/pb_ds" - htmls_dat = minidom.parse(htmls_xml_f_name) - for html in htmls_dat.getElementsByTagName('html'): - html_f_name = html.attributes['name'].value - - new_soup = process_html(html_f_name, src_dir, build_dir, htmls_xml_f_name, tests_info_xml_f_name, build_name, compiler_name) - - html_f = open(doc_dir + '/' + html_f_name, 'w') - html_f.write(str(new_soup)) - html_f.close() - - |