#!/usr/bin/python import sys def main(argv=None): if argv is None: argv = sys.argv import datetime import re lastdate = datetime.date.today() firstdate = lastdate todo = re.compile(r'[ABC]') aDateString = re.compile(r'^20[0-9][0-9]-(0?[1-9]|1[0-2])-(0?[1-9]|[12][0-9]|30|31)$') if 1 < len(sys.argv): # then a beginning was specified if aDateString.match(sys.argv[1]): f = sys.argv[1].split('-') i = map(int, f) firstdate = datetime.date(i[0], i[1], i[2]) else: print "usage: %s [yyyy-mm-dd] text" % sys.argv[0] return 1 for line in sys.stdin: l = line.split(' ') f = l[0].split('-') i = map(int, f) d = datetime.date(i[0], i[1], i[2]) if (firstdate <= d <= lastdate ): print line, continue if todo.match(l[1]): print line, if __name__ == '__main__': sys.exit(main())