NetXMS Support Forum

Please login or register.

Login with username, password and session length

Author Topic: nxshell - problem with session.getScriptLibrary()  (Read 347 times)

suphu

  • Newbie
  • *
  • Posts: 24
    • View Profile
nxshell - problem with session.getScriptLibrary()
« on: September 24, 2018, 04:35:02 pm »

Hi, I am coding in python using nxshell 2.2.8 and having problems retrieving ScriptLibrary (need rows from table script_library)

the below code retrieves script id and name, but source = None.
scripts = session.getScriptLibrary()
for script in scripts:
    pprint('id={0} name={1} source={2}'.format(
             script.getId()
            ,script.getName()
            ,script.getSource()
        )
    )

'id=1 name=Filter::SNMP source=None'
'id=2 name=Filter::Agent source=None'
'id=3 name=Filter::AgentOrSNMP source=None'
'id=4 name=DCI::SampleTransform source=None'
'id=11 name=Hook::StatusPoll source=None'
'id=12 name=Hook::ConfigurationPoll source=None'
'id=13 name=Hook::InstancePoll source=None'
'id=14 name=Hook::TopologyPoll source=None'
'id=15 name=Hook::CreateInterface source=None'
'id=16 name=Hook::AcceptNewNode source=None'
'id=17 name=Hook::DiscoveryPoll source=None'
'id=18 name=Hook::PostObjectCreate source=None'
'id=10000 name=testTraverse source=None'
« Last Edit: September 24, 2018, 05:11:46 pm by suphu »
Logged

Victor Kirhenshtein

  • Lead Developer
  • Administrator
  • Hero Member
  • *****
  • Posts: 6619
    • View Profile
Re: nxshell - problem with session.getScriptLibrary()
« Reply #1 on: September 24, 2018, 08:56:48 pm »

Hi,

getScriptLibrary() call intended to retrieve list of available scripts (because script source could be quite big). Source code for each script should be retrieved individually using getScript() method. The following script will show sources for all scripts:

Code: [Select]
scripts = session.getScriptLibrary()
for script in scripts:
    script = session.getScript(script.getId())
    print('id={0} name={1} source={2}'.format(
             script.getId()
            ,script.getName()
            ,script.getSource()
        )
    )

Best regards,
Victor

Logged