#!/usr/bin/env python FATAL = 'checkmail: fatal: ' import os def die(c,s1,s2): print s1 + s2 os._exit(c) import signal def sigint_handler(sig,f): die(111,FATAL,'keyboard interrupt') signal.signal(signal.SIGINT,sigint_handler) def max(a,b): if (a < b): return b else: return a import re import time try: envhome = os.environ['HOME'] except KeyError: die(111,FATAL,'environment variable $HOME not found') mdir = envhome + '/Maildir/' if (False == os.path.exists(mdir)): die(111,FATAL,'Maildir not found') latestmsg = -1 for (root,dirlist,files) in os.walk(mdir): if (None != re.compile('\/new$').search(root)): numfiles = len(files) if (0 < numfiles): try: os.chdir(root) except OSError: die(111,FATAL,'chdir failed') for x in files: try: latestmsg = max(latestmsg,os.path.getmtime(x)) except OSError: die(111,FATAL,'getmtime failed') if (1 == numfiles): msgcase = '' else: msgcase = 's' print '%d new msg%s in %s' % (numfiles,msgcase,root) if (-1 == latestmsg): print 'No new messages.' else: mtimestr = time.ctime(latestmsg) print 'Latest msg: ' + mtimestr