def _searchArchive(self, text=None):
     messages = []
     batch = self.request.get('batch', True)
     batch_size = int(self.request.get('b_size', 25))
     batch_start = int(self.request.get('b_start', 0))
     text = text or decode(self.request.get('search_text'), '')
     context = self.context
     subscription = IMembershipList(self.getMailingList())
     if text:
         text = text.strip()
         try:
             messages = self.search.search(text)
         except ParseTree.ParseError, inst:
             if "Token 'ATOM' required, 'EOF' found" in str(inst) or "Token 'EOF' required" in str(inst):
                 self.request.set('portal_status_message', _(u'Invalid Search: Search phrase cannot end with \'and\', \'or\', or \'not\''))
             elif "Token 'ATOM' required" in str(inst):
                 self.request.set('portal_status_message', _(u'Invalid Search: Search phrase cannot begin with \'and\', \'or\', or \'not\''))
             elif "a term must have at least one positive word" in str(inst):
                 self.request.set('portal_status_message', _(u'Invalid Search: Search phrase cannot begin with \'not\''))
             elif "Query contains only common words" in str(inst):
                 self.request.set('portal_status_message', _(u'Invalid Search: Search phrase must contain words other than \'and\', \'or\', and \'not\''))
         else:
             messages = catalogMessageIterator(messages, sub_mgr=subscription)
             if len(messages) == 0:
                 self.request.set('portal_status_message', _(u'There were no messages found'))
 def _searchArchive(self, text=None):
     messages = []
     batch = self.request.get('batch', True)
     batch_size = int(self.request.get('b_size', 25))
     batch_start = int(self.request.get('b_start', 0))
     text = text or decode(self.request.get('search_text'), '')
     context = self.context
     subscription = IMembershipList(self.getMailingList())
     if text:
         text = text.strip()
         try:
             messages = self.search.search(text)
         except ParseTree.ParseError, inst:
             if "Token 'ATOM' required, 'EOF' found" in str(
                     inst) or "Token 'EOF' required" in str(inst):
                 self.request.set(
                     'portal_status_message',
                     _(u'Invalid Search: Search phrase cannot end with \'and\', \'or\', or \'not\''
                       ))
             elif "Token 'ATOM' required" in str(inst):
                 self.request.set(
                     'portal_status_message',
                     _(u'Invalid Search: Search phrase cannot begin with \'and\', \'or\', or \'not\''
                       ))
             elif "a term must have at least one positive word" in str(
                     inst):
                 self.request.set(
                     'portal_status_message',
                     _(u'Invalid Search: Search phrase cannot begin with \'not\''
                       ))
             elif "Query contains only common words" in str(inst):
                 self.request.set(
                     'portal_status_message',
                     _(u'Invalid Search: Search phrase must contain words other than \'and\', \'or\', and \'not\''
                       ))
         else:
             messages = catalogMessageIterator(messages,
                                               sub_mgr=subscription)
             if len(messages) == 0:
                 self.request.set('portal_status_message',
                                  _(u'There were no messages found'))
예제 #3
0
 def getReferrers(self):
     """See ISearchableArchive documentation"""
     return catalogMessageIterator(self.search.getMessageReferrers(
         self.message_id),
                                   sub_mgr=self.getSubManager())
 def getMessageList(self):
     path = '/'.join(self.context.getPhysicalPath())
     messages = self.search.getAllMessagesInPath(path)
     #        subscription = IMemberSubscriptionList(self.getMailingList())
     return catalogMessageIterator(messages, sub_mgr=self.context)
    def getMessageList(self):
        path = '/'.join(self.context.getPhysicalPath())
        messages = self.search.getAllMessagesInPath(path)
#        subscription = IMemberSubscriptionList(self.getMailingList())
        return catalogMessageIterator(messages, sub_mgr=self.context)
 def getReferrers(self):
     """See ISearchableArchive documentation"""
     return catalogMessageIterator(
             self.search.getMessageReferrers(self.message_id),
                                              sub_mgr=self.getSubManager())