Exemple #1
0
 def processUnixMailbox(self, input, start=None, end=None):
     mbox = ArchiverMailbox(input, self.maillist)
     if start is None:
         start = 0
     counter = 0
     while counter < start:
         try:
             m = mbox.next()
         except Errors.DiscardMessage:
             continue
         if m is None:
             return
         counter += 1
     while 1:
         try:
             pos = input.tell()
             m = mbox.next()
         except Errors.DiscardMessage:
             continue
         except Exception:
             syslog('error', 'uncaught archiver exception at filepos: %s',
                    pos)
             raise
         if m is None:
             break
         if m == '':
             # It was an unparseable message
             continue
         msgid = m.get('message-id', 'n/a')
         self.message(_('#%(counter)05d %(msgid)s'))
         a = self._makeArticle(m, self.sequence)
         self.sequence += 1
         self.add_article(a)
         if end is not None and counter >= end:
             break
         counter += 1
Exemple #2
0
 def processUnixMailbox(self, input, start=None, end=None):
     mbox = ArchiverMailbox(input, self.maillist)
     if start is None:
         start = 0
     counter = 0
     while counter < start:
         try:
             m = mbox.next()
         except Errors.DiscardMessage:
             continue
         if m is None:
             return
         counter += 1
     while 1:
         try:
             pos = input.tell()
             m = mbox.next()
         except Errors.DiscardMessage:
             continue
         except Exception:
             syslog('error', 'uncaught archiver exception at filepos: %s',
                    pos)
             raise
         if m is None:
             break
         if m == '':
             # It was an unparseable message
             continue
         msgid = m.get('message-id', 'n/a')
         self.message(_('#%(counter)05d %(msgid)s'))
         a = self._makeArticle(m, self.sequence)
         self.sequence += 1
         self.add_article(a)
         if end is not None and counter >= end:
            break
         counter += 1
Exemple #3
0
    def processUnixMailbox(self, input, start=None, end=None):
        mbox = ArchiverMailbox(input, self.maillist)
        if start is None:
            start = 0
        counter = 0
        if start:
            mbox.skipping(True)
        while counter < start:
            try:
                m = mbox.next()
            except Errors.DiscardMessage:
                continue
            if m is None:
                return
            counter += 1
        if start:
            mbox.skipping(False)
        patch_export = False
        while 1:
            try:
                pos = input.tell()
                m = mbox.next()
            except Errors.DiscardMessage:
                continue
            except Exception:
                syslog('error', 'uncaught archiver exception at filepos: %s',
                       pos)
                raise
            if m is None:
                break
            if m == '':
                # It was an unparseable message
                continue
            msgid = m.get('message-id', 'n/a')
            self.message(_('#%(counter)05d %(msgid)s'))
            a = self._makeArticle(m, self.sequence)
            self.sequence += 1
            self.add_article(a)

            url = self.maillist.GetBaseArchiveURL() + self.archive + '/' + a.filename
            
            report_submission(msgid, 'Post accepted and <a href="%s">published</a>!' % url)
            if db_add_archive_info(self.maillist, m, url):
                patch_export = True

            if end is not None and counter >= end:
               break
            counter += 1

        if patch_export:
            db_export(self.maillist)