Esempio n. 1
0
 def _getResult(self, results):
     """
     Append each search result into the ResultsListbox.
     """
     try:
         self._meta = results.pop(0)
         for evid,event in results:
             self._results.append(EVID.fromString(evid), event)
         console.redraw()
     except Exception, e:
         logger.exception(e)
Esempio n. 2
0
 def _getResult(self, results):
     """
     Append each search result into the ResultsListbox.
     """
     try:
         meta = results.pop(0)
         self._lastId = meta['lastId']
         logger.debug("tail returned %i results, last id is %s" % (len(results), self._lastId))
         if len(results) > 0:
             for evid,event in results:
                 self._results.append(EVID.fromString(evid), event)
             console.redraw()
         from twisted.internet import reactor
         self._delayed = reactor.callLater(self.interval, self._tail)
     except Exception, e:
         logger.exception(e)
Esempio n. 3
0
 def printResult(self, results):
     logger.debug("XMLRPC result: %s" % str(results))
     meta = results["meta"]
     data = results["data"]
     if len(data) > 0:
         for evid, event in data:
             evid = EVID.fromString(evid)
             ts = datetime.datetime.fromtimestamp(evid.ts, dateutil.tz.tzutc())
             if self.tz:
                 ts = ts.astimezone(self.tz)
             print "%s: %s" % (ts.strftime("%d %b %Y %H:%M:%S %Z"), event["default"])
             if self.longfmt:
                 del event["default"]
                 for field, value in sorted(event.items(), key=lambda x: x[0]):
                     if self.fields and field not in self.fields:
                         continue
                     print "\t%s=%s" % (field, value)
     return meta["lastId"]
Esempio n. 4
0
 def printResult(self, results):
     logger.debug("XMLRPC result: %s" % str(results))
     meta = results['meta']
     data = results['data']
     if len(data) > 0:
         for evid, event in data:
             evid = EVID.fromString(evid)
             ts = datetime.datetime.fromtimestamp(evid.ts,
                                                  dateutil.tz.tzutc())
             if self.tz:
                 ts = ts.astimezone(self.tz)
             print "%s: %s" % (ts.strftime("%d %b %Y %H:%M:%S %Z"),
                               event['default'])
             if self.longfmt:
                 del event['default']
                 for field, value in sorted(event.items(),
                                            key=lambda x: x[0]):
                     if self.fields and field not in self.fields:
                         continue
                     print "\t%s=%s" % (field, value)
     return meta['lastId']
Esempio n. 5
0
 :returns: A Deferred object which receives the results.
 :rtype: :class:`twisted.internet.defer.Deferred`
 """
 # look up the named indices
 if indices == None:
     indices = tuple(self._indexstore.iterSearchableIndices())
 else:
     try:
         indices = tuple(self._indexstore.getSearchableIndex(name) for name in indices)
     except KeyError, e:
         raise QueryExecutionError("unknown index '%s'" % e)
 # if lastId is 0, return the id of the latest document
 if lastId == None:
     return QueryResult({'runtime': 0.0, 'lastId': str(EVID.fromDatetime())}, [])
 try:
     lastId = EVID.fromString(lastId)
 except:
     raise QueryExecutionError("invalid lastId '%s'" % str(lastId))
 # check that limit is > 0
 if limit < 1:
     raise QueryExecutionError("limit must be greater than 0")
 query = parseTailQuery(query)
 logger.trace("tail query: %s" % query)
 period = Period(lastId, EVID.fromString(EVID.MAX_ID), True, False)
 logger.trace("tail period: %s" % period)
 # query each index, and return the results
 task = searchIndices(indices, query, period, None, False, fields, limit)
 def _returnTailResult(result, lastId=None):
     if isinstance(result, Failure) and result.check(SearcherError):
         raise QueryExecutionError(str(e))
     events = list(result.events)
Esempio n. 6
0
        else:
            try:
                indices = tuple(
                    self._indexstore.getSearchableIndex(name)
                    for name in indices)
            except KeyError, e:
                raise QueryExecutionError("unknown index '%s'" % e)
        # if lastId is 0, return the id of the latest document
        if lastId == None:
            return QueryResult(
                {
                    'runtime': 0.0,
                    'lastId': str(EVID.fromDatetime())
                }, [])
        try:
            lastId = EVID.fromString(lastId)
        except:
            raise QueryExecutionError("invalid lastId '%s'" % str(lastId))
        # check that limit is > 0
        if limit < 1:
            raise QueryExecutionError("limit must be greater than 0")
        query = parseTailQuery(query)
        logger.trace("tail query: %s" % query)
        period = Period(lastId, EVID.fromString(EVID.MAX_ID), True, False)
        logger.trace("tail period: %s" % period)

        # query each index, and return the results
        def _returnTailResult(result, lastId=None):
            if isinstance(result, Failure) and result.check(SearcherError):
                raise QueryExecutionError(str(e))
            events = list(result.events)