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