#!/usr/bin/python3

import os, re, time, sys

max_delta = eval(sys.argv[2].replace('m', '*60').replace('h', '*3600'))
pattern = re.compile(sys.argv[3], re.MULTILINE|re.DOTALL)
path = os.path.expanduser('~%s/Maildir/new' % sys.argv[1])
delta = max_delta*10
t0 = time.time()

for filename in os.listdir(path):
    fn = os.path.join(path, filename)
    f = open(fn, 'rb')
    data = f.read()
    if not pattern.search(data):
      continue
    mtime = os.fstat(f.fileno()).st_mtime
    delta = min(delta, t0-mtime)
    f.close()
    #if (t0-mtime)>max_delta:
    #  os.unlink(fn)
  
if delta>=max_delta:
  print("RECVMAIL CRITICAL - older than %d mins for %s"
        % (delta/60, sys.argv[3]))
  sys.exit(2)
else:
  print("RECVMAIL OK - found %d mins old email for %s"
        % (delta/60, sys.argv[3]))
  sys.exit(0)
