Example Envrionment Handler
Example Envrionment Handler
from TrEnvHandler import TrEnvHandler
import logging
class projxhandler(TrEnvHandler):
def __init__(self, name, envkeydict, envkeys):
self.logger = logging.getLogger("tractor-blade")
self.logger.info("initializing projxhandler: %s" % (name))
TrEnvHandler.__init__(self, name, envkeydict, envkeys)
def initLocalVars(self):
self.scene = None
self.shot = None
def updateEnvironment(self, cmd, env, envkeys):
self.logger.debug("projxhandler.updateEnvironment: %s" % repr(envkeys))
# Local vars should be initialized in call to updateEnvironment()
self.initLocalVars()
if envkeys and type(envkeys) == type([]):
for envkey in envkeys:
key,val = envkey.split("=")
self.logger.debug("projxhandler.envkey: %s" % envkey)
if key == "SCENE":
self.scene = envkey
env["SCENE"] = self.scene
elif key == "SHOT":
self.shot = envkey
env["SHOT"] = self.shot
return TrEnvHandler.updateEnvironment(self, cmd, env, envkeys)
def remapCmdArgs(self, cmdinfo, launchenv, thisHost):
self.logger.debug("projxhandler.remapCmdArgs: %s" % self.name)
argv = TrEnvHandler.remapCmdArgs(self, cmdinfo, launchenv, thisHost)
self.logger.info("scene: %s, shot:%s" %
(self.scene, self.shot))
# indicate command was launched by tractor
launchenv["TRACTOR"] = "1"
if argv[0] == "render" and "RMANTREE" in launchenv:
argv[0] = os.path.join(launchenv["RMANTREE"],"bin","prman"))
argv.[1:1] = ["-statsfile", "%s-%s" % (self.scene, self.shot))
# on windows for add the Visual Studio default libs and includes
p = platform.platform()
if p.find("Windows") != -1:
if launchenv.has_key("INCLUDE"):
launchenv["INCLUDE"] += ";" + launchenv["VCINCLUDE"]
else:
launchenv["INCLUDE"] = launchenv["VCINCLUDE"]
if launchenv.has_key("LIB"):
launchenv["LIB"] += ";" + launchenv["VCLIB"]
else:
launchenv["LIB"] = launchenv["VCLIB"]
return argv
def debug(self):
self.logger.debug("projxhandler.debug: %s" % self.name)
TrEnvHandler.debug(self)
, multiple selections available,
Related content
Creating a custom Environment Handler
Creating a custom Environment Handler
More like this
Blade Environment Configuration: Keys and Handlers
Blade Environment Configuration: Keys and Handlers
More like this
Custom Katana Ops
Custom Katana Ops
More like this
Custom Katana Ops
Custom Katana Ops
More like this
Custom Katana Ops
Custom Katana Ops
More like this
Custom Katana Ops
Custom Katana Ops
More like this