API 2.0-M3

Started by joni, April 17, 2015, 01:49:35 PM

Previous topic - Next topic

joni

простейший запрос перестал обрабатываться

for alarm in session.getAlarms().values():
print '%s (%d): %s' % (session.getObjectName(alarm.getSourceObjectId()), alarm.getCurrentSeverity(), alarm.getMessage())

или

for node in filter(lambda x: isinstance(x, objects.Node), s.getAllObjects()):
    print node.getObjectName()


но это работает

import org.netxms.client
import sys
for action in s.getActions():
    name = action.getName()
    data = action.getData()
    print name, '---', data



Alex Kirhenshtein

>>> for alarm in session.getAlarms().values():
... print '%s (%d): %s' % (session.getObjectName(alarm.getSourceObjectId()), alarm.getCurrentSeverity(), alarm.getMessage())
...
Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
TypeError: %d format: a number is required, not org.netxms.client.constants.Severity
>>>


Severity теперь Enum.

>>> alarm
org.netxms.client.events.Alarm@4e904fd5
>>> session.getObjectName(alarm.getSourceObjectId())
u'AirAlk.local'
>>> alarm.getCurrentSeverity()
CRITICAL
>>> type(alarm.getCurrentSeverity())
<type 'org.netxms.client.constants.Severity'>
>>> alarm.getCurrentSeverity().getValue()
4



Второй пример у меня отлично работает:
>>> for node in filter(lambda x: isinstance(x, objects.Node), s.getAllObjects()):
... print node.getObjectName()
...
AirAlk.local

joni

спасибо, работает.