NetXMS Support Forum

English Support => General Support => Topic started by: suphu on September 24, 2018, 04:35:02 PM

Title: nxshell - problem with session.getScriptLibrary()
Post by: suphu 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'
Title: Re: nxshell - problem with session.getScriptLibrary()
Post by: Victor Kirhenshtein 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:


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