def install(): api.set_avalon_workdir() log.info("Registering Premiera plug-ins..") reg_paths = request_aport("/api/register_plugin_path", {"publish_path": PUBLISH_PATH}) log.info(str(reg_paths)) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # Disable all families except for the ones we explicitly want to see family_states = ["imagesequence", "mov"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states # load data from templates api.load_data_from_templates() # synchronize extensions extensions_sync() api.message(title="pyblish_paths", message=str(reg_paths), level="info")
def install(): """Install resolve-specific functionality of avalon-core. This is where you install menus and register families, data and loaders into resolve. It is called automatically when installing via `api.install(resolve)`. See the Maya equivalent for inspiration on how to implement this. """ # Disable all families except for the ones we explicitly want to see family_states = ["imagesequence", "mov"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states log.info("pype.hosts.resolve installed") pyblish.register_host("resolve") pyblish.register_plugin_path(PUBLISH_PATH) log.info("Registering DaVinci Resovle plug-ins..") avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH)
def install(): pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("init", on_init) avalon.before("save", before_save) avalon.on("save", on_save) avalon.on("open", on_open) # Config Pyblish QML pyblish_qml.settings.Directions = { "Local Publish": { "awesomeIcon": "motorcycle", "description": "Publish from this computer", "targets": ["default", "localhost"], }, "Deadline Publish": { "awesomeIcon": "rocket", "description": "Publish in Deadline render farm", "targets": ["default", "deadline"], }, }
def install(): ''' Installing all requarements for Nuke host ''' log.info("Registering Nuke plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) workfile_settings = lib.WorkfileSettings() # Disable all families except for the ones we explicitly want to see family_states = [ "write", "review", "nukenodes" "gizmo" ] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states # Workfiles. launch_workfiles = os.environ.get("WORKFILES_STARTUP") if launch_workfiles: nuke.addOnCreate(launch_workfiles_app, nodeClass="Root") # Set context settings. nuke.addOnCreate(workfile_settings.set_context_settings, nodeClass="Root") nuke.addOnCreate(workfile_settings.set_favorites, nodeClass="Root") menu.install()
def install(): """ Installing Hiero integration for avalon Args: config (obj): avalon config module `pype` in our case, it is not used but required by avalon.api.install() """ # adding all events events.register_events() log.info("Registering Hiero plug-ins..") pyblish.register_host("hiero") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # register callback for switching publishable pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) # Disable all families except for the ones we explicitly want to see family_states = ["write", "review", "plate"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states # install menu menu.menu_install() # register hiero events events.register_hiero_events()
def install(): log.info("Dress on.") # install pipeline menu menu.install() # install pipeline plugins pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("init", on_init) avalon.on("new", on_new) avalon.on("save", on_save) # Temporarily workaround # script node: uiConfigurationScriptNode mel.eval("global proc CgAbBlastPanelOptChangeCallback(string $pass){}") log.info("Unknown proc <CgAbBlastPanelOptChangeCallback> " "workaround init.") # Load Alembic cmds.loadPlugin("AbcExport.mll", quiet=True) cmds.loadPlugin("AbcImport.mll", quiet=True)
def install(): # pragma: no cover print("Registering global plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) avalon.register_plugin_path(avalon.Loader, LOADER_PATH) avalon.register_plugin_path(avalon.Loader, DEV_LOADER_PATH) # Remove pyblish-base default plugins pyblish.deregister_plugin_path(PYBLISH_DEFAULT) self.installed = True
def install(): pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("init", on_init) avalon.before("save", before_save) avalon.on("save", on_save) avalon.on("open", on_open)
def install(): # pragma: no cover from . import menu, callbacks # install pipeline menu menu.install() # install pipeline plugins pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("init", callbacks.on_init) avalon.on("new", callbacks.on_new) avalon.on("open", callbacks.on_open) avalon.on("save", callbacks.on_save) avalon.before("save", callbacks.before_save) log.info("Overriding existing event 'taskChanged'") override_event("taskChanged", callbacks.on_task_changed) # Temporarily workaround # script node: uiConfigurationScriptNode # (TODO): Should try to cleanup that script node if possible... mel.eval("global proc CgAbBlastPanelOptChangeCallback(string $pass){}") log.info("Unknown proc <CgAbBlastPanelOptChangeCallback> " "workaround init.") mel.eval("global proc look(){}") log.info("Unknown proc <look> workaround init.") _override() cmds.evalDeferred("import reveries.maya;" "reveries.maya._override_deferred()") # Config Pyblish QML pyblish_qml.settings.Directions = { "Local Publish": { "awesomeIcon": "motorcycle", "description": "Publish from this computer", "targets": ["default", "localhost"], }, "Deadline Publish": { "awesomeIcon": "rocket", "description": "Publish in Deadline render farm", "targets": ["default", "deadline"], }, } self.installed = True
def install(): print("Registering Fusion plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) # Disable all families except for the ones we explicitly want to see family_states = ["imagesequence", "camera", "pointcache"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states
def install(config): """ Installing Nukestudio integration for avalon Args: config (obj): avalon config module `pype` in our case, it is not used but required by avalon.api.install() """ # adding all events _register_events() log.info("Registering NukeStudio plug-ins..") pyblish.register_host("nukestudio") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # Disable all families except for the ones we explicitly want to see family_states = [ "write", "review" ] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states # install menu menu_install() # Workfiles. launch_workfiles = os.environ.get("WORKFILES_STARTUP") if launch_workfiles: hiero.core.events.registerInterest( "kAfterNewProjectCreated", launch_workfiles_app ) # Add tags on project load. hiero.core.events.registerInterest( "kAfterProjectLoad", add_tags )
def install(): api.set_avalon_workdir() log.info("Registering Aport plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # Disable all families except for the ones we explicitly want to see family_states = ["imagesequence", "mov"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states # load data from templates api.load_data_from_templates() # launch pico server pico_server_launch()
def install(): log.info("Registering global plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) pyblish.register_discovery_filter(filter_pyblish_plugins) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) # Register project specific plugins project_name = os.environ.get("AVALON_PROJECT") if PROJECT_PLUGINS_PATH and project_name: for path in PROJECT_PLUGINS_PATH.split(os.pathsep): if not path: continue plugin_path = os.path.join(path, project_name, "plugins") if os.path.exists(plugin_path): pyblish.register_plugin_path(plugin_path) avalon.register_plugin_path(avalon.Loader, plugin_path) avalon.register_plugin_path(avalon.Creator, plugin_path) # apply monkey patched discover to original one avalon.discover = patched_discover
def install(): from . import callbacks, pipeline # install pipeline menu menu.install() # install pipeline plugins log.info("Registering Nuke plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("taskChanged", callbacks.on_task_changed) nuke.callbacks.addOnScriptSave(callbacks.on_save) nuke.callbacks.addOnScriptLoad(callbacks.on_load) nuke.callbacks.addBeforeRender(callbacks.before_render) pipeline.eval_deferred(callbacks.on_task_changed)
def install(): api.set_avalon_workdir() reload_config() log.info("Registering Nuke plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) pyblish.register_callback("instanceToggled", on_pyblish_instance_toggled) # Disable all families except for the ones we explicitly want to see family_states = ["write", "review"] avalon.data["familiesStateDefault"] = False avalon.data["familiesStateToggled"] = family_states menu.install() # load data from templates api.load_data_from_templates()
def install(): # pragma: no cover from . import menu, callbacks # install pipeline menu menu.install() # install pipeline plugins pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH) avalon.register_plugin_path(avalon.InventoryAction, INVENTORY_PATH) # install callbacks log.info("Installing callbacks ... ") avalon.on("init", callbacks.on_init) avalon.on("new", callbacks.on_new) avalon.on("open", callbacks.on_open) avalon.on("save", callbacks.on_save) avalon.before("save", callbacks.before_save) log.info("Overriding existing event 'taskChanged'") override_event("taskChanged", callbacks.on_task_changed) # Temporarily workaround # script node: uiConfigurationScriptNode # (TODO): Should try to cleanup that script node if possible... mel.eval("global proc CgAbBlastPanelOptChangeCallback(string $pass){}") log.info("Unknown proc <CgAbBlastPanelOptChangeCallback> " "workaround init.") mel.eval("global proc look(){}") log.info("Unknown proc <look> workaround init.") _override() cmds.evalDeferred("import reveries.maya;" "reveries.maya._override_deferred()") self.installed = True
def install(): log.info("Registering global plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) pyblish.register_discovery_filter(filter_pyblish_plugins) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) # Register project specific plugins project_name = os.environ.get("AVALON_PROJECT") if PROJECT_PLUGINS_PATH and project_name: for path in PROJECT_PLUGINS_PATH.split(os.pathsep): if not path: continue plugin_path = os.path.join(path, project_name, "plugins") if os.path.exists(plugin_path): pyblish.register_plugin_path(plugin_path) avalon.register_plugin_path(avalon.Loader, plugin_path) avalon.register_plugin_path(avalon.Creator, plugin_path) avalon.register_plugin_path( avalon.InventoryAction, plugin_path ) # Register studio specific plugins if STUDIO_PLUGINS_PATH and project_name: for path in STUDIO_PLUGINS_PATH.split(os.pathsep): if not path: continue if os.path.exists(path): pyblish.register_plugin_path(path) avalon.register_plugin_path(avalon.Loader, path) avalon.register_plugin_path(avalon.Creator, path) avalon.register_plugin_path(avalon.InventoryAction, path) if project_name: anatomy = Anatomy(project_name) anatomy.set_root_environments() avalon.register_root(anatomy.roots) # apply monkey patched discover to original one avalon.discover = patched_discover
def register_launcher_actions(): from avalon import api from launcher.actions import ProjectManagerAction avalon.deregister_plugin(api.Action, ProjectManagerAction) avalon.register_plugin_path(api.Action, LAUNCHER_ACTION_PATH) avalon.register_plugin_path(api.Action, DEV_LAUNCHER_ACTION_PATH)
def install(): log.info("Registering global plug-ins..") pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH)
def cli_publish(data, gui=True): io.install() pyblish.api.deregister_all_plugins() # Registers Global pyblish plugins pype.install() # Registers Standalone pyblish plugins for path in PUBLISH_PATHS: pyblish.api.register_plugin_path(path) project_plugins_paths = os.environ.get("PYPE_PROJECT_PLUGINS") project_name = os.environ["AVALON_PROJECT"] if project_plugins_paths and project_name: for path in project_plugins_paths.split(os.pathsep): if not path: continue plugin_path = os.path.join(path, project_name, "plugins") if os.path.exists(plugin_path): pyblish.api.register_plugin_path(plugin_path) api.register_plugin_path(api.Loader, plugin_path) api.register_plugin_path(api.Creator, plugin_path) # Create hash name folder in temp chars = "".join([random.choice(string.ascii_letters) for i in range(15)]) staging_dir = tempfile.mkdtemp(chars) # create json for return data return_data_path = ( staging_dir + os.path.basename(staging_dir) + 'return.json' ) # create also json and fill with data json_data_path = staging_dir + os.path.basename(staging_dir) + '.json' with open(json_data_path, 'w') as outfile: json.dump(data, outfile) args = [ "-pp", os.pathsep.join(pyblish.api.registered_paths()) ] if gui: args += ["gui"] envcopy = os.environ.copy() envcopy["PYBLISH_HOSTS"] = "standalonepublisher" envcopy["SAPUBLISH_INPATH"] = json_data_path envcopy["SAPUBLISH_OUTPATH"] = return_data_path envcopy["PYBLISH_GUI"] = "pyblish_lite" returncode = execute([ sys.executable, "-u", "-m", "pyblish" ] + args, env=envcopy) result = {} if os.path.exists(json_data_path): with open(json_data_path, "r") as f: result = json.load(f) io.uninstall() # TODO: check if was pyblish successful # if successful return True print('Check result here') return False
def install(): """Install Blender configuration for Avalon.""" sys.excepthook = pype_excepthook_handler pyblish.register_plugin_path(str(PUBLISH_PATH)) avalon.register_plugin_path(avalon.Loader, str(LOAD_PATH)) avalon.register_plugin_path(avalon.Creator, str(CREATE_PATH))
def install(): pyblish.register_plugin_path(PUBLISH_PATH) avalon.register_plugin_path(avalon.Loader, LOAD_PATH) avalon.register_plugin_path(avalon.Creator, CREATE_PATH)