Belle II Software development
stats_map.py
1#!/usr/bin/env python3
2
3import re
4import json
5import os
6from glob import glob
7
8
9if __name__ == '__main__':
10 map = {'bin': {}, 'module': {}}
11
12 for filename in glob('**/tools/*.cc', recursive=True):
13 package = filename.split('/')[0]
14 bin = os.path.basename(filename)[:-3]
15 map['bin'][bin] = package
16
17 for filename in glob('**/modules/**/SConscript', recursive=True):
18 path = filename.split('/')
19 package = path[0]
20 if path[-2] == 'modules':
21 module = f'{"_".join(path[:-2])}_modules'
22 else:
23 module = path[-2]
24 map['module'][module] = package
25
26 filename = 'scons_stats.json'
27 with open(filename) as stats_file:
28 stats = json.load(stats_file)
29
30 stats['Map'] = map
31 with open(f'results/{filename}', 'w') as stats_file:
32 json.dump(stats, stats_file, indent=4)