xref: /freebsd-src/contrib/cortex-strings/scripts/fixup.py (revision 8c4282b370bd66908b45b6a223226a9fc2b69d57)
1*09a53ad8SAndrew Turner"""Simple script that enables target specific blocks based on the first argument.
2*09a53ad8SAndrew Turner
3*09a53ad8SAndrew TurnerMatches comment blocks like this:
4*09a53ad8SAndrew Turner
5*09a53ad8SAndrew Turner/* For Foo: abc
6*09a53ad8SAndrew Turnerdef
7*09a53ad8SAndrew Turner*/
8*09a53ad8SAndrew Turner
9*09a53ad8SAndrew Turnerand de-comments them giving:
10*09a53ad8SAndrew Turnerabc
11*09a53ad8SAndrew Turnerdef
12*09a53ad8SAndrew Turner"""
13*09a53ad8SAndrew Turnerimport re
14*09a53ad8SAndrew Turnerimport sys
15*09a53ad8SAndrew Turner
16*09a53ad8SAndrew Turnerdef main():
17*09a53ad8SAndrew Turner    key = sys.argv[1]
18*09a53ad8SAndrew Turner    expr = re.compile(r'/\* For %s:\s([^*]+)\*/' % key, re.M)
19*09a53ad8SAndrew Turner
20*09a53ad8SAndrew Turner    for arg in sys.argv[2:]:
21*09a53ad8SAndrew Turner        with open(arg) as f:
22*09a53ad8SAndrew Turner            body = f.read()
23*09a53ad8SAndrew Turner        with open(arg, 'w') as f:
24*09a53ad8SAndrew Turner            f.write(expr.sub(r'\1', body))
25*09a53ad8SAndrew Turner
26*09a53ad8SAndrew Turnerif __name__ == '__main__':
27*09a53ad8SAndrew Turner    main()
28