простейший запрос перестал обрабатываться
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
>>> 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
спасибо, работает.