You can use the OriginPath property to get the location of a plugin, but OriginPath is available in the scope of a plugin callback only.
__sifile__ and __sipath__, however, can be used in the global scope.
import win32com.client from win32com.client import constants import sipyutils Application.LogMessage( "Global: __sipath__=%s" % __sipath__ ) Application.LogMessage( "Global: __sifile__=%s" % __sifile__ ) null = None false = 0 true = 1 def XSILoadPlugin( in_reg ): in_reg.Author = "SOLIDANGLE" in_reg.Name = "TestPlugin" in_reg.Major = 1 in_reg.Minor = 0 #Register plugin items Application.LogMessage( "XSILoadPlugin: __sipath__=%s" % __sipath__ ) Application.LogMessage( "XSILoadPlugin: __sifile__=%s" % __sifile__ ) Application.LogMessage( "XSILoadPlugin: in_reg.OriginPath=%s" % in_reg.OriginPath ) return true
The above will output something like the following:
# INFO : Global: __sipath__=C:\Users\SOLIDANGLE\Autodesk\Softimage_2015\Application\Plugins # INFO : Global: __sifile__=C:\Users\SOLIDANGLE\Autodesk\Softimage_2015\Application\Plugins\TestPlugin.py # INFO : XSILoadPlugin: __sipath__=C:\Users\SOLIDANGLE\Autodesk\Softimage_2015\Application\Plugins # INFO : XSILoadPlugin: __sifile__=C:\Users\SOLIDANGLE\Autodesk\Softimage_2015\Application\Plugins\TestPlugin.py # INFO : XSILoadPlugin: in_reg.OriginPath=C:\Users\SOLIDANGLE\Autodesk\Softimage_2015\Application\Plugins\