#!/usr/bin/python import os, sys fin = os.popen('find -not -name "update_todo.py" '+\ '\( -name "*.py" -o -name "*.rpy" \) '+\ '-type f -exec grep -Hni "TODO:" {} \;') (items, curr_file, curr_list) = ({}, None, None) for lin in fin.readlines(): if (lin[-1] == '\n'): lin = lin[:-1] parts = lin.split(':') (file, line, todo, msg) = \ (parts.pop(0), parts.pop(0), parts.pop(0), ":".join(parts)) if file != curr_file: if not curr_list is None: items[curr_file] = curr_list curr_list = [] curr_file = file curr_list.append((line, msg)) files = items.keys() files.sort() for file in files: print file for b in items[file]: print " %4d: %s" % (int(b[0]), b[1]) print