New in the Softimage 2011 Subscription Advantage Pack
The siutils Python module makes it easier to import modules into your self-installing plugins. Just put your modules in the same location as your plugin file , and you can use the __sipath__ variable to specify the module location.
__sipath__ is always defined in the plugin namespace, so no matter where you put a plugin, you can simply use __sipath__ to specify the location.
Here’s a simple example that shows how to import a module into your plugin.
- Line 04: Import the siutils module
- Line 39: Use add_to_syspath() to add __sipath__ to the Python sys path.
If the module was located in a subfolder of the plugin location, you could use siutils.add_subfolder_to_syspath( __sipath__, ‘mysubfolder’ ) - Line 40: Import the module
import win32com.client from win32com.client import constants import siutils null = None false = 0 true = 1 def XSILoadPlugin( in_reg ): in_reg.Author = "blairs" in_reg.Name = "TestPlugin" in_reg.Major = 1 in_reg.Minor = 0 in_reg.RegisterCommand("Test","Test") #RegistrationInsertionPoint - do not remove this line return true def XSIUnloadPlugin( in_reg ): strPluginName = in_reg.Name Application.LogMessage(str(strPluginName) + str(" has been unloaded."),constants.siVerbose) return true def Test_Init( in_ctxt ): oCmd = in_ctxt.Source oCmd.Description = "" oCmd.ReturnValue = true return true def Test_Execute( ): Application.LogMessage("Test_Execute called",constants.siVerbose) # print __sipath__ siutils.add_to_syspath( __sipath__ ) import TestModule TestModule.test( "hello world" ) return true