ayon-core/pype/plugins/launcher/actions/VrayRenderSlave.py
2018-11-21 20:08:37 +01:00

44 lines
1.1 KiB
Python

import os
from avalon import api, lib
class VrayRenderSlave(api.Action):
name = "vrayrenderslave"
label = "V-Ray Slave"
icon = "object-group"
order = 996
def is_compatible(self, session):
"""Return whether the action is compatible with the session"""
if "AVALON_PROJECT" in session:
return False
return True
def process(self, session, **kwargs):
"""Implement the behavior for when the action is triggered
Args:
session (dict): environment dictionary
Returns:
Popen instance of newly spawned process
"""
# Update environment with session
env = os.environ.copy()
env.update(session)
# Get executable by name
app = lib.get_application(self.name)
env.update(app["environment"])
executable = lib.which(app["executable"])
# Run as server
arguments = ["-server", "-portNumber=20207"]
return lib.launch(executable=executable,
args=arguments,
environment=env)