Hook with a new path

Hi guys,
I am trying to give a path to the hook but it seems that is not working. What could be wrong?

2019-11-30 16:45:09,969 [   ERROR] Error

'str' object has no attribute 'get'

Traceback (most recent call last):
  File "C:\Program Files\Shotgun\Resources\Python\bundle_cache\app_store\tk-desktop\v2.4.12\python\utils\bootstrap_utilities.py", line 121, in start_engine
    return manager.bootstrap_engine("tk-desktop", self._project)
  File "C:\Users\moner\AppData\Roaming\Shotgun\pipeline-lab\site.basic.desktop\cfg\install\core\python\tank\bootstrap\manager.py", line 481, in bootstrap_engine
    engine = self._start_engine(tk, engine_name, entity)
  File "C:\Users\moner\AppData\Roaming\Shotgun\pipeline-lab\site.basic.desktop\cfg\install\core\python\tank\bootstrap\manager.py", line 1155, in _start_engine
    engine = tank.platform.start_engine(engine_name, tk, ctx)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\engine.py", line 2820, in start_engine
    return _start_engine(engine_name, tk, None, context)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\engine.py", line 2953, in _start_engine
    (env, engine_descriptor) = get_env_and_descriptor_for_engine(engine_name, tk, new_context)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\engine.py", line 3152, in get_env_and_descriptor_for_engine
    env = tk.pipeline_configuration.get_environment(env_name, context)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\pipelineconfig.py", line 1109, in get_environment
    env_obj = EnvClass(env_file, self, context)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 692, in __init__
    super(InstalledEnvironment, self).__init__(env_path, context)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 61, in __init__
    self._refresh()
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 95, in _refresh
    self.__process_engines(d.get("engines"))
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 152, in __process_engines
    self.__process_apps(engine, engine_apps)
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 138, in __process_apps
    if not self.__is_item_disabled(app_settings):
  File "C:\WORK\projects\pipeline_lab\pipeline\install\core\python\tank\platform\environment.py", line 117, in __is_item_disabled
    is_disabled = descriptor_dict.get("disabled", False)
AttributeError: 'str' object has no attribute 'get'

In the tk-multi-breakdown.yml is:

includes:
- ../app_locations.yml

################################################################################
settings.tk-multi-breakdown:
    location:
        path:'{CONFIG_FOLDER}/app_store/tk-multi-breakdown/v1.6.1'
        type:dev

settings.tk-multi-breakdown.maya:
    location:
        path:'{CONFIG_FOLDER}/app_store/tk-multi-breakdown/v1.6.1'
        type:dev
        
settings.tk-multi-breakdown.nukestudio:
    #hook_scene_operations: '{self}/tk-nuke_scene_operations.py'
#  hook_scene_operations: '{self}/tk-nuke_scene_operations.py'
#  location: "@apps.tk-multi-breakdown.location"
    hook_scene_operations: "{CONFIG_FOLDER}/app_store/tk-multi-breakdown/v1.6.1/hooks/tk-nuke_scene_operations.py"
    location:
        type:dev
        path:"{CONFIG_FOLDER}/app_store/tk-multi-breakdown/v1.6.1"

Thanks.

2 Likes

I have fixed it.
the wrong thing is missing a space.
for example:
type:dev
path:"…

should be:
type: dev
path: "…

3 Likes