Quoth Dennis Yurichev on Tuesday, 10 August 2010:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 10-Aug-10 01:15, Chip Camden wrote:
> >> Is there any plugin or script which is able to collect time stamps of
> >> all emails from some specific email address and to draw a statistical
> >> chart answering to question: what hours correspondent is most active in?
> >>
> > Are you using mbox or maildir?
> 
> I'm considering to switch to whatever can help me :-)
> 
Okay then, this will give you the raw data for mbox.  If you want to know
the times that [email protected] sent you mail that's in your Inbox, type:

mailfrom.rb -f [email protected] ~/Mail/Inbox

Then you can pipe that to something that computes whatever stats from
those times you want.


#!/usr/bin/env ruby
# usage: mailfrom.rb -f from file...
#
# where from is a regular expression for the From: header field value.
#
require "optparse"

pat = nil
optparse = OptionParser.new do |opts|
  opts.banner = 'usage: mailfrom.rb [-f regexp] file...'

  opts.on('-f', '--from REGEXP', 'Specify From: header field filter') do |from|
    pat = Regexp.new("^From:\s*#{from}")
  end
end

begin
  optparse.parse!
rescue OptionParser::InvalidOption, OptionParser::MissingArgument => e
  puts e
  puts optparse
  exit 1
end
in_hdr=false
date = nil
pick = nil
$<.each do |line|
  case line
    when /^From /
      in_hdr = true
      date = nil
      pick = nil
    when /^Date: (.*)/
      if in_hdr
        date = $1
        puts date if pick
      end
    when pat
      if in_hdr
        puts date if date
        pick = true
      end
    when /^\s*$/
      in_hdr = false
  end
end

-- 
Sterling (Chip) Camden    | [email protected] | 2048D/3A978E4F
http://camdensoftware.com | http://chipstips.com        | http://chipsquips.com

Attachment: pgpAdrpmeSyEm.pgp
Description: PGP signature

Reply via email to