#!/usr/bin/python import sys, os, MYSQLdb from popen2 import Popen3 LEXER_PATH="." db = MySQLdb.connect(host = "localhost", user = "sse_web", passwd = "ece6Yoli", db = "sse") def process_file(root, path): print "Processing %s" % path p = Popen3("%s/lex-c %s" % (LEXER_PATH, os.path.join(root, path))) for identifier in p.fromchild: print "ID:", identifier.strip() if p.wait() != 0: print "WARNING: Subprocess failed!" del p def handle_file(root, path, filename): extension = filename.split(".")[-1] if extension in ("c", "h"): process_file(root, os.path.join(path, filename)) def handle_tree(path): path = os.path.realpath(path) for dirpath, dirs, files in os.walk(path): for f in files: assert path + "/" == (dirpath + "/") [:len(path)+1] handle_file(path, dirpath[len(path)+1:], f) for a in sys.argv[1:]: handle_tree(a)