previous ColumnFilter:: attributes (2.0.x) now missing (2.2.x)

Started by meshnet, February 05, 2018, 10:02:37 PM

Previous topic - Next topic

meshnet

Hello,

Code:


import java.lang.Integer
import time
import operator
from datetime import datetime as dt

def main():
    date           = dt.strftime(dt.now(), '%Y-%m-%d')
    hourOffset     = dt.now().hour
    eventLog       = session.openServerLog("EventLog")
    severityFilter = ColumnFilter(java.lang.Integer(ColumnFilter.GREATER),2)
    timeFilter     = ColumnFilter(long(time.time()-86400),long(time.time()))
    logFilter      = LogFilter()

    logFilter.setColumnFilter("event_severity",severityFilter)
    logFilter.setColumnFilter("event_timestamp",timeFilter)
    eventLog.query(logFilter)

    eventTable = eventLog.retrieveData(0,500,True)
    print(str(eventTable))

main()



Output / Error


>>> severityFilter = ColumnFilter(java.lang.Integer(ColumnFilter.GREATER),2)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: type object 'org.netxms.client.log.ColumnFilter' has no attribute 'GREATER'

ColumnFilter Vars

>>> print(str(vars(ColumnFilter)))
{
    '__init__': <java constructor org.netxms.client.log.ColumnFilter 0x2>,
    'numericValue': <beanProperty numericValue type: long 0x3>,
    'getRangeTo': <java function getRangeTo 0x4>,
    'rangeTo': <beanProperty rangeTo type: long 0x5>,
    'setLike': <java function setLike 0x6>,
    'getType': <java function getType 0x7>,
    'operation': <beanProperty operation type: org.netxms.client.constants.ColumnFilterSetOperation 0x8>,
    'setRangeTo': <java function setRangeTo 0x9>,
    'addSubFilter': <java function addSubFilter 0xa>,
    'getSubFilters': <java function getSubFilters 0xb>,
    'getLike': <java function getLike 0xc>,
    'getNumericValue': <java function getNumericValue 0xd>,
    'subFilters': <beanProperty subFilters type: java.util.Set 0xe>,
    'negated': <beanProperty negated type: boolean 0xf>,
    'isNegated': <java function isNegated 0x10>,
    'getOperation': <java function getOperation 0x11>,
    'type': <beanProperty type type: org.netxms.client.constants.ColumnFilterType 0x12>,
    'getRangeFrom': <java function getRangeFrom 0x13>,
    'setOperation': <java function setOperation 0x14>,
    'setRangeFrom': <java function setRangeFrom 0x15>,
    'setNegated': <java function setNegated 0x16>,
    'setNumericValue': <java function setNumericValue 0x17>,
    'rangeFrom': <beanProperty rangeFrom type: long 0x18>,
    'like': <beanProperty like type: java.lang.String 0x19>
}


meshnet

This looks promising

>>> ColumnFilter(ColumnFilterType.GREATER, 2)
org.netxms.client.log.ColumnFilter@7092fb41


and then previous code becomes

severityFilter = ColumnFilter(ColumnFilterType.GREATER, 2)


re: 4acb63e12d19c7b1633ee803db2eabc5e02e3532
Quote*UPDATED* Type of search in class ColumnFilter should be change to Enum type. fixes #1245

Thank you for contributing and documenting Ēriks Jenkēvics