Esempio n. 1
0
 def __search_mbox(self, mboxfile, text):
     """
         Search a compressed mbox for any specified keywords
     """
     num = 0
     statinfo = os.stat(mboxfile)
     gzmbox = gzip.open(mboxfile)
     mbox = UnixMailbox(gzmbox, email.message_from_file)
     while True:
         msg = mbox.next()
         if not msg: break
         num += 1
         fields = [msg['From'], msg['Subject']] + self.__body(msg)
         for field in fields:
             if re.search(text, field, re.IGNORECASE):
                 id = "%s.%s" % (statinfo[stat.ST_INO], num)
                 print "[%s] %s %s" % (id, msg['From'], msg['Subject'])
                 break
     gzmbox.close()
Esempio n. 2
0
 def show(self, id):
     """ Show a message with a given ID """
     inode, msgnum = map(int, id.split('.'))
     olddir = os.getcwd()
     os.chdir(DEVSHELL_DIR)
     mboxfile = None
     for dir in filter(isdir, os.listdir('.')):
         for file in os.listdir(dir):
             statinfo = os.stat(join(dir, file))
             if statinfo[stat.ST_INO] == inode:
                 mboxfile = join(dir, file)
                 break
         if mboxfile: break
     if mboxfile:
         gzmbox = gzip.open(mboxfile)
         mbox = UnixMailbox(gzmbox, email.message_from_file)
         num = 0
         while num != msgnum:
             msg = mbox.next()
             num += 1
         self.__print_msg(msg)
     else:
         log.error("Cannot find message %s" % id)
     os.chdir(olddir)
Esempio n. 3
0
def scan_file(file):

    fp = open(file, 'r')
    mbox = UnixMailbox(fp)

    #msg = email.message_from_file(fp)
    #print_header(msg)
    #msg = email.message_from_file(fp)
    #print_header(msg)
    #print "ok"
    #return

    i = 0

    for mail in mbox:
        i = i + 1
        fromh = mail.getheader("from")
        date = mail.getdate("date")
        mydate = '%4d/%2d/%2d' % (date[2], date[1], date[0])
        print i, mydate, fromh
Esempio n. 4
0
 def __init__(self, fileobj, fromfield):
     self.__myfromfield__ = fromfield
     _fromlinepattern = r"%s: .*\n" % fromfield
     UnixMailbox.__init__(self, fileobj, convert_rfc822)
Esempio n. 5
0
 def __init__(self, fileobj):
     UnixMailbox.__init__(self, fileobj, convert_rfc822)
Esempio n. 6
0
#!/usr/bin/env python2.4

from mailbox import UnixMailbox
from PyLucene import StandardAnalyzer, FSDirectory, IndexWriter
from email import EmailDoc

store = FSDirectory.getDirectory('chipy-index', True)
writer = IndexWriter(store, StandardAnalyzer(), True)

mailbox = UnixMailbox(open('chipy.mbox'))
while True:
    msg = mailbox.next()
    if msg == None: break
    writer.addDocument(EmailDoc(msg))

writer.close()
Esempio n. 7
0
#!/usr/bin/env python2.4

from mailbox import UnixMailbox
from PyLucene import StandardAnalyzer, FSDirectory, IndexWriter
from email import EmailDoc

store = FSDirectory.getDirectory( 'chipy-index', True )
writer = IndexWriter( store, StandardAnalyzer(), True )

mailbox = UnixMailbox( open('chipy.mbox') )
while True:
    msg = mailbox.next()
    if msg == None: break
    writer.addDocument( EmailDoc(msg) )

writer.close()
Esempio n. 8
0
 def openmailbox(self):
     fd = self.vfs.open(self.getselector(), "rt")
     return UnixMailbox(fd)
Esempio n. 9
0
 def prepare(self):
     self.rfile = self.vfs.open(self.getselector(), "rt")
     self.mbox = UnixMailbox(self.rfile)
     FolderHandler.prepare(self)
Esempio n. 10
0
 def __init__(self, fileobj, fromfield):
     self.__myfromfield__ = fromfield
     _fromlinepattern = r"%s: .*\n" %fromfield
     UnixMailbox.__init__(self, fileobj, convert_rfc822)
Esempio n. 11
0
 def __init__(self, fileobj):
     UnixMailbox.__init__(self, fileobj, convert_rfc822)