cinap_lenrekadd hg and python4bb9e2215 years agoHistory
49 lines · 1.2 KB · Python
RawDownload
#! /usr/bin/env python # Add some standard cpp magic to a header file import sys def main():    args = sys.argv[1:]    for filename in args:        process(filename) def process(filename):    try:        f = open(filename, 'r')    except IOError, msg:        sys.stderr.write('%s: can\'t open: %s\n' % (filename, str(msg)))        return    data = f.read()    f.close()    if data[:2] <> '/*':        sys.stderr.write('%s does not begin with C comment\n' % filename)        return    try:        f = open(filename, 'w')    except IOError, msg:        sys.stderr.write('%s: can\'t write: %s\n' % (filename, str(msg)))        return    sys.stderr.write('Processing %s ...\n' % filename)    magic = 'Py_'    for c in filename:        if ord(c)<=0x80 and c.isalnum():            magic = magic + c.upper()        else: magic = magic + '_'    sys.stdout = f    print '#ifndef', magic    print '#define', magic    print '#ifdef __cplusplus'    print 'extern "C" {'    print '#endif'    print    f.write(data)    print    print '#ifdef __cplusplus'    print '}'    print '#endif'    print '#endif /*', '!'+magic, '*/' if __name__ == '__main__':    main()