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
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)