Exemplo n.º 1
0
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")
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
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"],
        },
    }
Exemplo n.º 4
0
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()
Exemplo n.º 5
0
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()
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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
Exemplo n.º 10
0
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
Exemplo n.º 11
0
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
    )
Exemplo n.º 12
0
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()
Exemplo n.º 13
0
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
Exemplo n.º 14
0
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)
Exemplo n.º 15
0
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()
Exemplo n.º 16
0
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
Exemplo n.º 17
0
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
Exemplo n.º 18
0
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)
Exemplo n.º 19
0
def install():
    log.info("Registering global plug-ins..")
    pyblish.register_plugin_path(PUBLISH_PATH)
    avalon.register_plugin_path(avalon.Loader, LOAD_PATH)
Exemplo n.º 20
0
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
Exemplo n.º 21
0
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))
Exemplo n.º 22
0
def install():
    pyblish.register_plugin_path(PUBLISH_PATH)
    avalon.register_plugin_path(avalon.Loader, LOAD_PATH)
    avalon.register_plugin_path(avalon.Creator, CREATE_PATH)