system.util.getSystemFlags()

How come on one of my gateways when I run system.util.getSystemFlags() in the script console I get 1, but in another gateway in the script console I get an error?

AttributeError: 'com.inductiveautomation.ignition.designer.gui.tool' object has no attribute 'getSystemFlags'

They are both running 8.1.7

Have you tried restarting the designer? I have had script consoles act up in the past and restarting helped fix it.

You probably don’t have the Vision module installed on the gateway/designer where it doesn’t work. This is one of a handful of really old functions that are actually added by the Vision module and don’t exist without it.

2 Likes

That is it. One of the gateways does not have the vision module installed.

Is it safe to use this instead? It seems to work on both of the gateways scripting console.

from com.inductiveautomation.ignition.common.model import ApplicationScope
scope = ApplicationScope.getGlobalScope()

if ApplicationScope.isGateway(scope):
	print 'gateway'
elif ApplicationScope.isClient(scope):
	print 'client'
elif ApplicationScope.isDesigner(scope):
	print 'designer'

This is part of our core platform and is published API so you can definitely use the ApplicationScope class. That being said, some future qualifying releases (this would usually be a major release) of Ignition may change this class implementation but I wouldn’t expect that anytime soon.