Ejemplo n.º 1
0
 def __parse_get(self, flow, buf):
     hdrs, body = [], None
     for line in buf.splitlines():
         m = self.msg_re.match(line.strip())
         if m:
             k, v = m.group('k'), m.group('v')
             if k in self.hdr_map:
                 v = json.parse(v)
                 if v: hdrs.append((self.hdr_map[k], v))
             elif k == 'body':
                 body = json.parse(v)
     if hdrs and body:
         self.publish_email(hdrs, body)
Ejemplo n.º 2
0
 def __parse_get(self, flow, buf):
     hdrs, body = [], None
     for line in buf.splitlines():
         m = self.msg_re.match(line.strip())
         if m:
             k, v = m.group('k'), m.group('v')
             if k in self.hdr_map:
                 v = json.parse(v)
                 if v: hdrs.append((self.hdr_map[k], v))
             elif k == 'body':
                 body = json.parse(v)
     if hdrs and body:
         self.publish_email(hdrs, body)
Ejemplo n.º 3
0
 def __parse_get(self, flow, buf):
     hdrs, body = [], []
     for s in self.data_re.findall(buf):
         s = s.replace('\n', '')
         for i in range(2): # XXX - lame
             s = s.replace(',,', ',None,')
         l = json.parse(s)
         if l[0] == 'mi':
             if hdrs and body:
                 # XXX - handle message threads
                 self.publish_email(hdrs, '\n'.join(body))
             hdrs, body = [], []
             hdrs.append(('From', '%s <%s>' % (l[6], l[8])))
             hdrs.append(('To', ', '.join(l[11])))
             if l[12]:
                 hdrs.append(('Cc', ', '.join(l[12])))
             if l[14]:
                 hdrs.append(('Reply-To', l[14][0]))
             hdrs.append(('Date', l[15]))
             hdrs.append(('Subject', l[16]))
             hdrs.append(('Message-Id', l[-1]))
         elif l[0] == 'mb':
             body.append(l[1])
     if hdrs and body:
         self.publish_email(hdrs, '\n'.join(body))
Ejemplo n.º 4
0
 def __parse_get(self, flow, buf):
     hdrs, body = [], []
     for s in self.data_re.findall(buf):
         s = s.replace('\n', '')
         for i in range(2):  # XXX - lame
             s = s.replace(',,', ',None,')
         l = json.parse(s)
         if l[0] == 'mi':
             if hdrs and body:
                 # XXX - handle message threads
                 self.publish_email(hdrs, '\n'.join(body))
             hdrs, body = [], []
             hdrs.append(('From', '%s <%s>' % (l[6], l[8])))
             hdrs.append(('To', ', '.join(l[11])))
             if l[12]:
                 hdrs.append(('Cc', ', '.join(l[12])))
             if l[14]:
                 hdrs.append(('Reply-To', l[14][0]))
             hdrs.append(('Date', l[15]))
             hdrs.append(('Subject', l[16]))
             hdrs.append(('Message-Id', l[-1]))
         elif l[0] == 'mb':
             body.append(l[1])
     if hdrs and body:
         self.publish_email(hdrs, '\n'.join(body))