예제 #1
0
def getdate(msg):
    if not 'date' in msg:
        return None
    datehdr = msg['date'].strip()
    try:
        return Utils.mktime_tz(Utils.parsedate_tz(datehdr))
    except:
        return None
예제 #2
0
def getdate(msg):

    if not 'date' in msg:
        return None

    datehdr = msg['date'].strip()
    try:
        return Utils.mktime_tz(Utils.parsedate_tz(datehdr))
    except:
        return None
예제 #3
0
def getdate(msg):
    """Returns the date/time from msg in seconds-since-epoch, if possible.
    Otherwise, returns None."""

    if not 'date' in msg:
        # No Date header present.
        return None

    datehdr = msg['date'].strip()
    try:
        return Utils.mktime_tz(Utils.parsedate_tz(datehdr))
    except:
        # Some sort of error occured, likely because of an invalid date.
        return None
예제 #4
0
def getdate(msg):
    """Returns the date/time from msg in seconds-since-epoch, if possible.
    Otherwise, returns None."""

    if not 'date' in msg:
        # No Date header present.
        return None

    datehdr = msg['date'].strip()
    try:
        return Utils.mktime_tz(Utils.parsedate_tz(datehdr))
    except:
        # Some sort of error occured, likely because of an invalid date.
        return None
예제 #5
0
    def __getMailMessage(self, addNewLine=False):
        view = self.view
        m = Mail.MailMessage(itsView=view)
        m.fromAddress = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**")

        toOne = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**")
        toTwo = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**", "John Johnson")

        m.toAddress = []
        m.toAddress.append(toOne)
        m.toAddress.append(toTwo)

        ccOne = Mail.EmailAddress.getEmailAddress(view, "*****@*****.**")

        m.ccAddress = []
        m.ccAddress.append(ccOne)

        m.subject = "test mail"
        
        if addNewLine:
            m.subject += "\n"

        m.headers['Content-Length'] = "75"
        m.headers['Content-Type'] = "text/plain; charset=utf-8; format=flowed"
        m.headers['Content-Transfer-Encoding'] = "7bit"
        m.headers['Mime-Version'] = "1.0"

        m.headers['Received'] = "from [192.168.101.37] (w002.z065106067.sjc-ca.dsl.cnc.net [65.106.67.2]) by kahuna.test.com (8.12.8/8.12.8) with ESMTP id i7GKWWpo017020; Mon, 16 Aug 2004 13:32:32 -0700"

        m.headers['References'] = "<*****@*****.**> <*****@*****.**> <*****@*****.**> <*****@*****.**>"

        dateString = "Mon, 9 Aug 2004 13:55:15 -0700"
        m.dateSent = datetime.fromtimestamp(emailUtils.mktime_tz(emailUtils.parsedate_tz(dateString)), view.tzinfo.getInstance("Etc/GMT-7"))
        m.dateSentString = dateString

        m.itsItem.body = u"This is the body"

        if not IGNORE_ATTACHMENTS:
            m.rfc2822Message = utils.dataToBinary(m, "rfc2822Message", self.__mail)

        self.__mailMessage = m

        return self.__mailMessage
예제 #6
0
 def init_headers(self):
   from email import Header, Errors, Utils
   self.headers = []
   self.title = None
   for h in self.msg.keys():
     for s in (self.msg.get_all(h) or []):
       if not s: continue
       v = decode_header(s)
       self.headers.append((h, v))
       if h.lower() == 'date':
         try:
           self.mtime = int(Utils.mktime_tz(Utils.parsedate_tz(v)))
         except (TypeError, ValueError, OverflowError):
           pass
       elif h.lower() == 'subject':
         self.title = v
   if not self.title:
     fname = self.msg.get_filename()
     if fname:
       self.title = decode_header(fname)
   return
예제 #7
0
파일: utils.py 프로젝트: yasusii/shaling
def get_message_date(msg):
    try:
        return int(Utils.mktime_tz(Utils.parsedate_tz(msg['date'])))
    except:
        return 0
예제 #8
0
            if err.code == 304:
                self.method = "If-modified-since"
                self.ratio = 0
                return
            else:
                self.method = "Error %d" % err.code
                return
        except urllib2.URLError:
            self.method = "Error URL"
            return
        except socket.timeout:
            self.method = "Error timeout"
            return

        if "last-modified" in f.info():
            date = Utils.mktime_tz(
                Utils.parsedate_tz(f.info()["last-modified"]))
            if date == self.date:
                self.method = "Last-modified"
                self.ratio = 0
                return
        else:
            date = time.time()

        if "content-length" in f.info():
            length = f.info()["content-length"]
            if length == self.length:
                self.method = "Content-length"
                self.ratio = 0
                return
            else:
                self.length = length
예제 #9
0
print '***Header in massage: '
for header, value in msg.items():
    print header + ':'
    print " " + value

if msg.is_multipart():
    print 'this program can not handler MIME multipart message!'
    sys.exit(-1)



#特定头
print '-'*60
if 'subject' in msg:
    print 'Subject: ', msg['subject']
print '-'*60

print 'Message Body: \n'
print msg.get_payload()

#解析日期
print '-'*60
if 'date' not in msg:
    exit(-1)
datehdr = msg['date'].strip()
print datehdr
dateval = Utils.mktime_tz(Utils.parsedate_tz(datehdr))
print dateval

print 'Message was sent on', time.strftime("%A, %B %d %Y at %I:%M %p", time.localtime(dateval))
예제 #10
0
파일: utils.py 프로젝트: yasusii/shaling
def get_message_date(msg):
    try:
        return int(Utils.mktime_tz(Utils.parsedate_tz(msg["date"])))
    except:
        return 0