Clone of official tools

misc/find_c_includes.py

Committer:
screamer
Date:
2016-07-14
Revision:
13:ab47a20b66f0

File content as of revision 13:ab47a20b66f0:

#!/usr/bin/env python

import os
import re

def main(path='.', pattern=r'#include\s+"([^"]*\.(?:c|cpp))"'):
    pattern = re.compile(pattern)

    for root, dirs, files in os.walk(path, followlinks=True):
        for file in files:
            with open(os.path.join(root, file)) as f:
                for line in f.read().splitlines():
                    m = re.search(pattern, line)
                    if m:
                        print os.path.relpath(os.path.join(root, m.group(1)))


if __name__ == "__main__":
    import sys
    main(*sys.argv[1:])