Added a little test script
[pymailstats.git] / mailbasedata.py
blobc494c857360ab7d51147884077b151e225eaf396
1 #!/usr/bin/env python
3 import email
4 import email.utils
5 from time import *
6 from email.utils import parseaddr
7 from mailclient import *
9 class basedata:
10 def __init__(self, initMail):
11 self.date = email.utils.parsedate_tz(initMail.get("Date"))
12 self.mailer = (initMail.get("X-Mailer") or
13 initMail.get("User-Agent") or
14 initMail.get("X-MimeOLE"))
16 if self.mailer:
17 self.mailer = mailClient(self.mailer)
18 else:
19 # There are bad people outside, which don't
20 # add some mailer information to header.
21 if (initMail.get("Sender") == "gmail.com" or
22 initMail.get("From").find("google") != -1 or
23 (initMail.get("Message-ID")
24 and initMail.get("Message-ID").find("@gmail.com")
25 != -1)):
26 self.mailer = mailClient("Google")
27 else:
28 self.mailer = mailClient("Unknown")
30 self.mail_from = parseaddr(initMail.get("From"))
32 def __cmp___(self, other):
33 return 0
35 def getAllDate(self):
36 if self.date:
37 return self.date
38 else:
39 return None
41 def getYear(self):
42 if self.date:
43 return self.date[0]
44 else:
45 return None
47 def getMonth(self):
48 if self.date:
49 return self.date[1]
50 else:
51 return None
53 def getDay(self):
54 if self.date:
55 return self.date[2]
56 else:
57 return None
59 def getDayName(self):
60 return None
62 def getHour(self):
63 if self.date:
64 return self.date[3]
65 else:
66 return None
68 def getMinute(self):
69 if self.date:
70 return self.date[4]
71 else:
72 return None
74 def getSeconds(self):
75 if self.date:
76 return self.date[5]
77 else:
78 return None
80 def getDate(self):
81 return self.getYear(), self.getMonth(), self.getDay()
83 def getMailer(self):
84 return self.mailer.getMailClient()
86 def getPureMailer(self):
87 return self.mailer.mailclient
89 def getMakeTm(self):
90 if self.date:
91 return email.utils.mktime_tz(self.date)
92 else:
93 return email.utils.mktime_tz(0)
95 def getFromMailAddr(self):
96 return self.mail_from[1]