From e3babf1aed1674812fe25e434781d8f6b93e9d02 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 19 Apr 2024 20:25:31 +0200 Subject: [PATCH 001/124] Maya: Implement workfile template assign look placeholder --- .../template/assign_look_placeholder.py | 127 ++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 client/ayon_core/hosts/maya/plugins/template/assign_look_placeholder.py diff --git a/client/ayon_core/hosts/maya/plugins/template/assign_look_placeholder.py b/client/ayon_core/hosts/maya/plugins/template/assign_look_placeholder.py new file mode 100644 index 0000000000..c5d4969c09 --- /dev/null +++ b/client/ayon_core/hosts/maya/plugins/template/assign_look_placeholder.py @@ -0,0 +1,127 @@ +from maya import cmds + +from ayon_core.lib import ( + UISeparatorDef, + UILabelDef, + TextDef, + BoolDef +) +from ayon_core.lib.events import weakref_partial +from ayon_core.hosts.maya.api.workfile_template_builder import ( + MayaPlaceholderPlugin, +) +from ayon_core.hosts.maya.api.lib import ( + get_all_children, + assign_look, +) + + +class AssignLookPlaceholderPlugin(MayaPlaceholderPlugin): + """Assign a look product to members of the placeholder set. + + Creates an objectSet. Any members will get the look assigned with the given + product name if it exists. + + Any containers loaded from other template placeholders will get the look + assigned to their loaded containers. + + """ + + identifier = "maya.assignlook" + label = "Assign Look" + + def get_placeholder_options(self, options=None): + options = options or {} + return [ + UISeparatorDef(), + UILabelDef(label="Description"), + UISeparatorDef(), + UILabelDef( + label=( + "Creates an objectSet. Any members will get the look\n" + "assigned with the given product name if it exists.\n\n" + "Any containers loaded from other template placeholders\n" + "will get the look assigned to their loaded containers." + "" + ) + ), + UISeparatorDef(), + UILabelDef(label="Settings"), + UISeparatorDef(), + TextDef( + "product_name", + label="Product Name", + tooltip="Look product to assign to containers loaded by " + "contained placeholders", + multiline=False, + default=options.get("product_name", "lookMain") + ), + BoolDef( + "recurse", + label="Recursive", + tooltip="Assign look also to potential sub containers / " + "placeholders loaded from the load placeholder.", + default=options.get("recurse", False) + ), + ] + + def create_placeholder(self, placeholder_data): + placeholder_data["plugin_identifier"] = self.identifier + + # Create maya objectSet on selection + selection = cmds.ls(selection=True, long=True) + product_name = placeholder_data["product_name"] + name = "AssignLook_{}".format(product_name) + node = cmds.sets(selection, name=name) + + self.imprint(node, placeholder_data) + + def populate_placeholder(self, placeholder): + callback = weakref_partial(self.assign_look, placeholder) + self.builder.register_on_depth_processed_callback( + callback, order=placeholder.order) + + # If placeholder should be deleted, delete it after finish + if not placeholder.data.get("keep_placeholder", True): + delete_callback = weakref_partial(self.delete_placeholder, + placeholder) + self.builder.register_on_finished_callback( + delete_callback, order=placeholder.order) + + def assign_look(self, placeholder): + if placeholder.data.get("finished", False): + # If not recursive we mark it finished after the first depth + # iteration - otherwise run it again to find any new members + return + + product_name = placeholder.data["product_name"] + assert product_name, "Must have defined look product name to assign" + + members = cmds.ls( + cmds.sets(placeholder.scene_identifier, query=True), long=True + ) + if not members: + return + + # Allow any children of members in the set to get assignments, + # e.g. when a group is included there. Whenever a load placeholder + # finishes it also adds loaded content into the object set the + # placeholder was in, so this will also assign to loaded content + # during this build. + assign_nodes = set(members) + assign_nodes.update(get_all_children(members)) + + processed = placeholder.data.setdefault("processed", set()) + assign_nodes.difference_update(processed) + processed.update(assign_nodes) + + if assign_nodes: + self.log.info( + "Assigning look {} for placeholder: {}".format(product_name, + placeholder) + ) + assign_nodes = list(assign_nodes) + assign_look(assign_nodes, product_name=product_name) + + if not placeholder.data.get("recurse", False): + placeholder.data["finished"] = True From 20bc9560ec3b6fb704eea4941052c73af7d01fd6 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Fri, 19 Apr 2024 22:37:19 +0200 Subject: [PATCH 002/124] Refactor adding callbacks --- .../maya/plugins/workfile_build/assign_look_placeholder.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/hosts/maya/plugins/workfile_build/assign_look_placeholder.py b/client/ayon_core/hosts/maya/plugins/workfile_build/assign_look_placeholder.py index c5d4969c09..8c888a1a1f 100644 --- a/client/ayon_core/hosts/maya/plugins/workfile_build/assign_look_placeholder.py +++ b/client/ayon_core/hosts/maya/plugins/workfile_build/assign_look_placeholder.py @@ -78,14 +78,14 @@ class AssignLookPlaceholderPlugin(MayaPlaceholderPlugin): def populate_placeholder(self, placeholder): callback = weakref_partial(self.assign_look, placeholder) - self.builder.register_on_depth_processed_callback( + self.builder.add_on_depth_processed_callback( callback, order=placeholder.order) # If placeholder should be deleted, delete it after finish if not placeholder.data.get("keep_placeholder", True): delete_callback = weakref_partial(self.delete_placeholder, placeholder) - self.builder.register_on_finished_callback( + self.builder.add_on_finished_callback( delete_callback, order=placeholder.order) def assign_look(self, placeholder): From e6b3492cc54b6a8d2d2642e81faaaedfcae43944 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Tue, 30 Apr 2024 06:36:33 +0200 Subject: [PATCH 003/124] Preserve time units on load and update with `MayaUSDReferenceLoader` --- .../hosts/maya/plugins/load/load_reference.py | 35 +++++++++++++++++-- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/client/ayon_core/hosts/maya/plugins/load/load_reference.py b/client/ayon_core/hosts/maya/plugins/load/load_reference.py index 847591bd11..a26982ddfa 100644 --- a/client/ayon_core/hosts/maya/plugins/load/load_reference.py +++ b/client/ayon_core/hosts/maya/plugins/load/load_reference.py @@ -14,6 +14,26 @@ from ayon_core.hosts.maya.api.lib import ( ) +@contextlib.contextmanager +def preserve_time_units(): + """Preserve current frame, frame range and fps""" + frame = cmds.currentTime(query=True) + fps = cmds.currentUnit(query=True, time=True) + start = cmds.playbackOptions(query=True, minTime=True) + end = cmds.playbackOptions(query=True, maxTime=True) + anim_start = cmds.playbackOptions(query=True, animationStartTime=True) + anim_end = cmds.playbackOptions(query=True, animationEndTime=True) + try: + yield + finally: + cmds.currentUnit(time=fps, updateAnimation=False) + cmds.currentTime(frame) + cmds.playbackOptions(minTime=start, + maxTime=end, + animationStartTime=anim_start, + animationEndTime=anim_end) + + @contextlib.contextmanager def preserve_modelpanel_cameras(container, log=None): """Preserve camera members of container in the modelPanels. @@ -349,6 +369,15 @@ class MayaUSDReferenceLoader(ReferenceLoader): ]) options["file_type"] = self.file_type - return super(MayaUSDReferenceLoader, self).process_reference( - context, name, namespace, options - ) + # Maya USD import reference has the tendency to change the time slider + # range and current frame, so we force revert it after + with preserve_time_units(): + return super(MayaUSDReferenceLoader, self).process_reference( + context, name, namespace, options + ) + + def update(self, container, context): + # Maya USD import reference has the tendency to change the time slider + # range and current frame, so we force revert it after + with preserve_time_units(): + super(MayaUSDReferenceLoader, self).update(container, context) From cef5787f29064012fa84d38c7ccb9f0bada8cda7 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 22:01:53 +0300 Subject: [PATCH 004/124] move houdini client code to its dedicated place and update imports --- .../houdini/client/ayon_houdini}/__init__.py | 0 .../houdini/client/ayon_houdini}/addon.py | 0 .../houdini/client/ayon_houdini}/api/__init__.py | 0 .../houdini/client/ayon_houdini}/api/action.py | 0 .../houdini/client/ayon_houdini}/api/colorspace.py | 2 +- .../client/ayon_houdini}/api/creator_node_shelves.py | 4 ++-- .../houdini/client/ayon_houdini}/api/lib.py | 4 ++-- .../houdini/client/ayon_houdini}/api/pipeline.py | 6 +++--- .../houdini/client/ayon_houdini}/api/plugin.py | 0 .../houdini/client/ayon_houdini}/api/shelves.py | 2 +- .../houdini/client/ayon_houdini}/api/usd.py | 0 .../ayon_houdini}/hooks/set_default_display_and_view.py | 0 .../houdini/client/ayon_houdini}/hooks/set_paths.py | 0 .../client/ayon_houdini}/plugins/create/convert_legacy.py | 2 +- .../ayon_houdini}/plugins/create/create_alembic_camera.py | 2 +- .../ayon_houdini}/plugins/create/create_arnold_ass.py | 2 +- .../ayon_houdini}/plugins/create/create_arnold_rop.py | 2 +- .../client/ayon_houdini}/plugins/create/create_bgeo.py | 2 +- .../ayon_houdini}/plugins/create/create_composite.py | 2 +- .../client/ayon_houdini}/plugins/create/create_hda.py | 2 +- .../ayon_houdini}/plugins/create/create_karma_rop.py | 2 +- .../ayon_houdini}/plugins/create/create_mantra_ifd.py | 2 +- .../ayon_houdini}/plugins/create/create_mantra_rop.py | 2 +- .../ayon_houdini}/plugins/create/create_pointcache.py | 4 ++-- .../ayon_houdini}/plugins/create/create_redshift_proxy.py | 2 +- .../ayon_houdini}/plugins/create/create_redshift_rop.py | 2 +- .../client/ayon_houdini}/plugins/create/create_review.py | 4 ++-- .../ayon_houdini}/plugins/create/create_staticmesh.py | 2 +- .../client/ayon_houdini}/plugins/create/create_usd.py | 2 +- .../ayon_houdini}/plugins/create/create_usdrender.py | 2 +- .../ayon_houdini}/plugins/create/create_vbd_cache.py | 2 +- .../ayon_houdini}/plugins/create/create_vray_rop.py | 2 +- .../ayon_houdini}/plugins/create/create_workfile.py | 6 +++--- .../plugins/inventory/set_camera_resolution.py | 2 +- .../houdini/client/ayon_houdini}/plugins/load/actions.py | 0 .../client/ayon_houdini}/plugins/load/load_alembic.py | 2 +- .../ayon_houdini}/plugins/load/load_alembic_archive.py | 3 ++- .../houdini/client/ayon_houdini}/plugins/load/load_ass.py | 2 +- .../client/ayon_houdini}/plugins/load/load_bgeo.py | 2 +- .../client/ayon_houdini}/plugins/load/load_camera.py | 4 ++-- .../houdini/client/ayon_houdini}/plugins/load/load_fbx.py | 2 +- .../client/ayon_houdini}/plugins/load/load_filepath.py | 2 +- .../houdini/client/ayon_houdini}/plugins/load/load_hda.py | 2 +- .../client/ayon_houdini}/plugins/load/load_image.py | 2 +- .../ayon_houdini}/plugins/load/load_redshift_proxy.py | 2 +- .../client/ayon_houdini}/plugins/load/load_usd_layer.py | 2 +- .../ayon_houdini}/plugins/load/load_usd_reference.py | 2 +- .../client/ayon_houdini}/plugins/load/load_usd_sop.py | 2 +- .../houdini/client/ayon_houdini}/plugins/load/load_vdb.py | 2 +- .../client/ayon_houdini}/plugins/load/show_usdview.py | 0 .../ayon_houdini}/plugins/publish/collect_active_state.py | 0 .../ayon_houdini}/plugins/publish/collect_arnold_rop.py | 4 ++-- .../plugins/publish/collect_asset_handles.py | 0 .../ayon_houdini}/plugins/publish/collect_cache_farm.py | 2 +- .../ayon_houdini}/plugins/publish/collect_chunk_size.py | 0 .../ayon_houdini}/plugins/publish/collect_current_file.py | 0 .../plugins/publish/collect_farm_instances.py | 0 .../ayon_houdini}/plugins/publish/collect_frames.py | 2 +- .../ayon_houdini}/plugins/publish/collect_inputs.py | 0 .../plugins/publish/collect_instances_usd_layered.py | 4 ++-- .../ayon_houdini}/plugins/publish/collect_karma_rop.py | 4 ++-- .../plugins/publish/collect_local_render_instances.py | 0 .../ayon_houdini}/plugins/publish/collect_mantra_rop.py | 4 ++-- .../ayon_houdini}/plugins/publish/collect_output_node.py | 0 .../plugins/publish/collect_pointcache_type.py | 0 .../ayon_houdini}/plugins/publish/collect_redshift_rop.py | 4 ++-- .../plugins/publish/collect_remote_publish.py | 2 +- .../plugins/publish/collect_render_products.py | 0 .../ayon_houdini}/plugins/publish/collect_review_data.py | 0 .../plugins/publish/collect_reviewable_instances.py | 0 .../plugins/publish/collect_rop_frame_range.py | 2 +- .../plugins/publish/collect_staticmesh_type.py | 0 .../plugins/publish/collect_usd_bootstrap.py | 0 .../ayon_houdini}/plugins/publish/collect_usd_layers.py | 2 +- .../ayon_houdini}/plugins/publish/collect_vray_rop.py | 4 ++-- .../ayon_houdini}/plugins/publish/collect_workfile.py | 0 .../plugins/publish/collect_workscene_fps.py | 0 .../plugins/publish/extract_active_view_thumbnail.py | 4 ++-- .../ayon_houdini}/plugins/publish/extract_alembic.py | 2 +- .../client/ayon_houdini}/plugins/publish/extract_ass.py | 2 +- .../client/ayon_houdini}/plugins/publish/extract_bgeo.py | 4 ++-- .../ayon_houdini}/plugins/publish/extract_composite.py | 2 +- .../client/ayon_houdini}/plugins/publish/extract_fbx.py | 2 +- .../client/ayon_houdini}/plugins/publish/extract_hda.py | 0 .../ayon_houdini}/plugins/publish/extract_mantra_ifd.py | 0 .../ayon_houdini}/plugins/publish/extract_opengl.py | 2 +- .../plugins/publish/extract_redshift_proxy.py | 2 +- .../ayon_houdini}/plugins/publish/extract_render.py | 2 +- .../client/ayon_houdini}/plugins/publish/extract_usd.py | 3 ++- .../ayon_houdini}/plugins/publish/extract_usd_layered.py | 4 ++-- .../ayon_houdini}/plugins/publish/extract_vdb_cache.py | 2 +- .../plugins/publish/help/validate_vdb_output_node.xml | 2 +- .../plugins/publish/increment_current_file.py | 0 .../client/ayon_houdini}/plugins/publish/save_scene.py | 0 .../plugins/publish/validate_abc_primitive_to_detail.py | 0 .../plugins/publish/validate_alembic_face_sets.py | 0 .../plugins/publish/validate_alembic_input_node.py | 0 .../plugins/publish/validate_animation_settings.py | 2 +- .../ayon_houdini}/plugins/publish/validate_bypass.py | 0 .../ayon_houdini}/plugins/publish/validate_camera_rop.py | 0 .../plugins/publish/validate_cop_output_node.py | 0 .../plugins/publish/validate_fbx_output_node.py | 4 ++-- .../plugins/publish/validate_file_extension.py | 2 +- .../ayon_houdini}/plugins/publish/validate_frame_range.py | 2 +- .../ayon_houdini}/plugins/publish/validate_frame_token.py | 2 +- .../plugins/publish/validate_houdini_license_category.py | 0 .../plugins/publish/validate_instance_in_context.py | 2 +- .../plugins/publish/validate_mesh_is_static.py | 4 ++-- .../plugins/publish/validate_mkpaths_toggled.py | 0 .../ayon_houdini}/plugins/publish/validate_no_errors.py | 0 .../plugins/publish/validate_primitive_hierarchy_paths.py | 0 .../plugins/publish/validate_remote_publish.py | 2 +- .../plugins/publish/validate_remote_publish_enabled.py | 0 .../plugins/publish/validate_review_colorspace.py | 6 +++--- .../plugins/publish/validate_scene_review.py | 0 .../plugins/publish/validate_sop_output_node.py | 2 +- .../ayon_houdini}/plugins/publish/validate_subset_name.py | 2 +- .../plugins/publish/validate_unreal_staticmesh_naming.py | 4 ++-- .../publish/validate_usd_layer_path_backslashes.py | 2 +- .../plugins/publish/validate_usd_model_and_shade.py | 2 +- .../plugins/publish/validate_usd_output_node.py | 0 .../plugins/publish/validate_usd_render_product_names.py | 0 .../plugins/publish/validate_usd_setdress.py | 2 +- .../plugins/publish/validate_usd_shade_model_exists.py | 0 .../plugins/publish/validate_usd_shade_workspace.py | 0 .../plugins/publish/validate_vdb_output_node.py | 2 +- .../plugins/publish/validate_workfile_paths.py | 0 .../client/ayon_houdini}/startup/MainMenuCommon.xml | 8 ++++---- .../ayon_houdini}/startup/python2.7libs/pythonrc.py | 2 +- .../ayon_houdini}/startup/python3.10libs/pythonrc.py | 2 +- .../ayon_houdini}/startup/python3.7libs/pythonrc.py | 2 +- .../ayon_houdini}/startup/python3.9libs/pythonrc.py | 2 +- server_addon/houdini/package.py | 2 +- 133 files changed, 114 insertions(+), 112 deletions(-) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/__init__.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/addon.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/__init__.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/action.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/colorspace.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/creator_node_shelves.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/lib.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/pipeline.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/plugin.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/shelves.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/api/usd.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/hooks/set_default_display_and_view.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/hooks/set_paths.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/convert_legacy.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_alembic_camera.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_arnold_ass.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_arnold_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_bgeo.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_composite.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_hda.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_karma_rop.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_mantra_ifd.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_mantra_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_pointcache.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_redshift_proxy.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_redshift_rop.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_review.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_staticmesh.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_usd.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_usdrender.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_vbd_cache.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_vray_rop.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/create/create_workfile.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/inventory/set_camera_resolution.py (93%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/actions.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_alembic.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_alembic_archive.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_ass.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_bgeo.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_camera.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_fbx.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_filepath.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_hda.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_image.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_redshift_proxy.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_usd_layer.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_usd_reference.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_usd_sop.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/load_vdb.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/load/show_usdview.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_active_state.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_arnold_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_asset_handles.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_cache_farm.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_chunk_size.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_current_file.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_farm_instances.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_frames.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_inputs.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_instances_usd_layered.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_karma_rop.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_local_render_instances.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_mantra_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_output_node.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_pointcache_type.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_redshift_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_remote_publish.py (94%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_render_products.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_review_data.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_reviewable_instances.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_rop_frame_range.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_staticmesh_type.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_usd_bootstrap.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_usd_layers.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_vray_rop.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_workfile.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/collect_workscene_fps.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_active_view_thumbnail.py (94%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_alembic.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_ass.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_bgeo.py (93%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_composite.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_fbx.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_hda.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_mantra_ifd.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_opengl.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_redshift_proxy.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_render.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_usd.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_usd_layered.py (99%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/extract_vdb_cache.py (96%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/help/validate_vdb_output_node.xml (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/increment_current_file.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/save_scene.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_abc_primitive_to_detail.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_alembic_face_sets.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_alembic_input_node.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_animation_settings.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_bypass.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_camera_rop.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_cop_output_node.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_fbx_output_node.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_file_extension.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_frame_range.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_frame_token.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_houdini_license_category.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_instance_in_context.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_mesh_is_static.py (92%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_mkpaths_toggled.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_no_errors.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_primitive_hierarchy_paths.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_remote_publish.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_remote_publish_enabled.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_review_colorspace.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_scene_review.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_sop_output_node.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_subset_name.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_unreal_staticmesh_naming.py (95%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_layer_path_backslashes.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_model_and_shade.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_output_node.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_render_product_names.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_setdress.py (97%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_shade_model_exists.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_usd_shade_workspace.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_vdb_output_node.py (98%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/plugins/publish/validate_workfile_paths.py (100%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/startup/MainMenuCommon.xml (94%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/startup/python2.7libs/pythonrc.py (78%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/startup/python3.10libs/pythonrc.py (78%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/startup/python3.7libs/pythonrc.py (78%) rename {client/ayon_core/hosts/houdini => server_addon/houdini/client/ayon_houdini}/startup/python3.9libs/pythonrc.py (78%) diff --git a/client/ayon_core/hosts/houdini/__init__.py b/server_addon/houdini/client/ayon_houdini/__init__.py similarity index 100% rename from client/ayon_core/hosts/houdini/__init__.py rename to server_addon/houdini/client/ayon_houdini/__init__.py diff --git a/client/ayon_core/hosts/houdini/addon.py b/server_addon/houdini/client/ayon_houdini/addon.py similarity index 100% rename from client/ayon_core/hosts/houdini/addon.py rename to server_addon/houdini/client/ayon_houdini/addon.py diff --git a/client/ayon_core/hosts/houdini/api/__init__.py b/server_addon/houdini/client/ayon_houdini/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/houdini/api/__init__.py rename to server_addon/houdini/client/ayon_houdini/api/__init__.py diff --git a/client/ayon_core/hosts/houdini/api/action.py b/server_addon/houdini/client/ayon_houdini/api/action.py similarity index 100% rename from client/ayon_core/hosts/houdini/api/action.py rename to server_addon/houdini/client/ayon_houdini/api/action.py diff --git a/client/ayon_core/hosts/houdini/api/colorspace.py b/server_addon/houdini/client/ayon_houdini/api/colorspace.py similarity index 95% rename from client/ayon_core/hosts/houdini/api/colorspace.py rename to server_addon/houdini/client/ayon_houdini/api/colorspace.py index 66581d6f20..ec6e4c2091 100644 --- a/client/ayon_core/hosts/houdini/api/colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/api/colorspace.py @@ -1,6 +1,6 @@ import attr import hou -from ayon_core.hosts.houdini.api.lib import get_color_management_preferences +from ayon_houdini.api.lib import get_color_management_preferences from ayon_core.pipeline.colorspace import get_display_view_colorspace_name @attr.s diff --git a/client/ayon_core/hosts/houdini/api/creator_node_shelves.py b/server_addon/houdini/client/ayon_houdini/api/creator_node_shelves.py similarity index 98% rename from client/ayon_core/hosts/houdini/api/creator_node_shelves.py rename to server_addon/houdini/client/ayon_houdini/api/creator_node_shelves.py index 72c157f187..4d5a706749 100644 --- a/client/ayon_core/hosts/houdini/api/creator_node_shelves.py +++ b/server_addon/houdini/client/ayon_houdini/api/creator_node_shelves.py @@ -35,7 +35,7 @@ CATEGORY_GENERIC_TOOL = { CREATE_SCRIPT = """ -from ayon_core.hosts.houdini.api.creator_node_shelves import create_interactive +from ayon_houdini.api.creator_node_shelves import create_interactive create_interactive("{identifier}", **kwargs) """ @@ -153,7 +153,7 @@ def install(): This function is re-entrant and can be called again to reinstall and update the node definitions. For example during development it can be useful to call it manually: - >>> from ayon_core.hosts.houdini.api.creator_node_shelves import install + >>> from ayon_houdini.api.creator_node_shelves import install >>> install() Returns: diff --git a/client/ayon_core/hosts/houdini/api/lib.py b/server_addon/houdini/client/ayon_houdini/api/lib.py similarity index 99% rename from client/ayon_core/hosts/houdini/api/lib.py rename to server_addon/houdini/client/ayon_houdini/api/lib.py index 7ca8f7f8f0..671265fae9 100644 --- a/client/ayon_core/hosts/houdini/api/lib.py +++ b/server_addon/houdini/client/ayon_houdini/api/lib.py @@ -1027,7 +1027,7 @@ def add_self_publish_button(node): button_parm = hou.ButtonParmTemplate( "ayon_self_publish", "{} Publish".format(label), - script_callback="from ayon_core.hosts.houdini.api.lib import " + script_callback="from ayon_houdini.api.lib import " "self_publish; self_publish()", script_callback_language=hou.scriptLanguage.Python, join_with_next=True @@ -1070,7 +1070,7 @@ def sceneview_snapshot( Example: This is how the function can be used:: - from ayon_core.hosts.houdini.api import lib + from ayon_houdini.api import lib sceneview = hou.ui.paneTabOfType(hou.paneTabType.SceneViewer) lib.sceneview_snapshot(sceneview) diff --git a/client/ayon_core/hosts/houdini/api/pipeline.py b/server_addon/houdini/client/ayon_houdini/api/pipeline.py similarity index 98% rename from client/ayon_core/hosts/houdini/api/pipeline.py rename to server_addon/houdini/client/ayon_houdini/api/pipeline.py index 4797cf36a0..6af4993d25 100644 --- a/client/ayon_core/hosts/houdini/api/pipeline.py +++ b/server_addon/houdini/client/ayon_houdini/api/pipeline.py @@ -17,8 +17,8 @@ from ayon_core.pipeline import ( AYON_CONTAINER_ID, ) from ayon_core.pipeline.load import any_outdated_containers -from ayon_core.hosts.houdini import HOUDINI_HOST_DIR -from ayon_core.hosts.houdini.api import lib, shelves, creator_node_shelves +from ayon_houdini import HOUDINI_HOST_DIR +from ayon_houdini.api import lib, shelves, creator_node_shelves from ayon_core.lib import ( register_event_callback, @@ -26,7 +26,7 @@ from ayon_core.lib import ( ) -log = logging.getLogger("ayon_core.hosts.houdini") +log = logging.getLogger("ayon_houdini") AVALON_CONTAINERS = "/obj/AVALON_CONTAINERS" CONTEXT_CONTAINER = "/obj/OpenPypeContext" diff --git a/client/ayon_core/hosts/houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/houdini/api/plugin.py rename to server_addon/houdini/client/ayon_houdini/api/plugin.py diff --git a/client/ayon_core/hosts/houdini/api/shelves.py b/server_addon/houdini/client/ayon_houdini/api/shelves.py similarity index 99% rename from client/ayon_core/hosts/houdini/api/shelves.py rename to server_addon/houdini/client/ayon_houdini/api/shelves.py index b178139020..2987568af1 100644 --- a/client/ayon_core/hosts/houdini/api/shelves.py +++ b/server_addon/houdini/client/ayon_houdini/api/shelves.py @@ -12,7 +12,7 @@ import hou from .lib import get_current_context_template_data_with_folder_attrs -log = logging.getLogger("ayon_core.hosts.houdini.shelves") +log = logging.getLogger("ayon_houdini.shelves") def generate_shelves(): diff --git a/client/ayon_core/hosts/houdini/api/usd.py b/server_addon/houdini/client/ayon_houdini/api/usd.py similarity index 100% rename from client/ayon_core/hosts/houdini/api/usd.py rename to server_addon/houdini/client/ayon_houdini/api/usd.py diff --git a/client/ayon_core/hosts/houdini/hooks/set_default_display_and_view.py b/server_addon/houdini/client/ayon_houdini/hooks/set_default_display_and_view.py similarity index 100% rename from client/ayon_core/hosts/houdini/hooks/set_default_display_and_view.py rename to server_addon/houdini/client/ayon_houdini/hooks/set_default_display_and_view.py diff --git a/client/ayon_core/hosts/houdini/hooks/set_paths.py b/server_addon/houdini/client/ayon_houdini/hooks/set_paths.py similarity index 100% rename from client/ayon_core/hosts/houdini/hooks/set_paths.py rename to server_addon/houdini/client/ayon_houdini/hooks/set_paths.py diff --git a/client/ayon_core/hosts/houdini/plugins/create/convert_legacy.py b/server_addon/houdini/client/ayon_houdini/plugins/create/convert_legacy.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/convert_legacy.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/convert_legacy.py index 1a4761172a..4c8c8062ce 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/convert_legacy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/convert_legacy.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """Converter for legacy Houdini products.""" from ayon_core.pipeline.create.creator_plugins import ProductConvertorPlugin -from ayon_core.hosts.houdini.api.lib import imprint +from ayon_houdini.api.lib import imprint class HoudiniLegacyConvertor(ProductConvertorPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_alembic_camera.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_alembic_camera.py index 0ab5e2794e..4a92e24671 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_alembic_camera.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_alembic_camera.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating alembic camera products.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.pipeline import CreatorError import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_ass.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_ass.py index be5604c01c..4f5fb5833e 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_ass.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating Arnold ASS files.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_rop.py index 1208cfc1ea..43875ccbd6 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_arnold_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_arnold_rop.py @@ -1,4 +1,4 @@ -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import EnumDef, BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_bgeo.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_bgeo.py index 3749598b1d..93cf0e0998 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_bgeo.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating pointcache bgeo files.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.pipeline import CreatorError import hou from ayon_core.lib import EnumDef, BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_composite.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_composite.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_composite.py index a25faf0e8e..8c0ee8a099 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_composite.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating composite sequences.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.pipeline import CreatorError import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_hda.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_hda.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_hda.py index d399aa5e15..6a1adce8cc 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_hda.py @@ -3,7 +3,7 @@ import ayon_api from ayon_core.pipeline import CreatorError -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_karma_rop.py similarity index 99% rename from client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_karma_rop.py index 48cf5057ab..693e6295e2 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_karma_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_karma_rop.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin to create Karma ROP.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef, EnumDef, NumberDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_ifd.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_ifd.py index e0cf035c35..fc5c4819d0 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_ifd.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating pointcache alembics.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_rop.py index 05b4431aba..ce1c96f8b2 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_mantra_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_mantra_rop.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin to create Mantra ROP.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import EnumDef, BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_pointcache.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_pointcache.py index 9e0a335c3a..6a63659053 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_pointcache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_pointcache.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating pointcache alembics.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef import hou @@ -105,7 +105,7 @@ class CreatePointCache(plugin.HoudiniCreator): elif len(outputs) == 1: return outputs[0] - # if there are more than one, then it have multiple ouput nodes + # if there are more than one, then it have multiple output nodes # return the one with the minimum 'outputidx' else: return min(outputs, diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_proxy.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_proxy.py index 6a9321b95a..0e3eb03ddd 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_proxy.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating Redshift proxies.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin import hou from ayon_core.lib import BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_rop.py similarity index 99% rename from client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_rop.py index 3ecb09ee9b..d63e584692 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_redshift_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_redshift_rop.py @@ -3,7 +3,7 @@ import hou # noqa from ayon_core.pipeline import CreatorError -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import EnumDef, BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_review.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_review.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/create/create_review.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_review.py index f5e4d4ce64..b27264f400 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_review.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_review.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating openGL reviews.""" -from ayon_core.hosts.houdini.api import lib, plugin +from ayon_houdini.api import lib, plugin from ayon_core.lib import EnumDef, BoolDef, NumberDef import os @@ -103,7 +103,7 @@ class CreateReview(plugin.HoudiniCreator): # cls.review_color_space is an empty string # when the imageio/workfile setting is disabled or # when the Review colorspace setting is empty. - from ayon_core.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa + from ayon_houdini.api.colorspace import get_default_display_view_colorspace # noqa self.review_color_space = get_default_display_view_colorspace() lib.set_review_color_space(instance_node, diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_staticmesh.py similarity index 99% rename from client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_staticmesh.py index 3271107c6e..17b646040c 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_staticmesh.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_staticmesh.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator for Unreal Static Meshes.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef, EnumDef import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_usd.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/create/create_usd.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_usd.py index 700f7eefd6..b8aede677b 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_usd.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating USDs.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_usdrender.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_usdrender.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/create/create_usdrender.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_usdrender.py index 36197e349e..a34de1fec4 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_usdrender.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_usdrender.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating USD renders.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin class CreateUSDRender(plugin.HoudiniCreator): diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_vbd_cache.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_vbd_cache.py index c34cd2b4b5..e8c0920ec8 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_vbd_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_vbd_cache.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- """Creator plugin for creating VDB Caches.""" -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.lib import BoolDef import hou diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_vray_rop.py similarity index 99% rename from client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_vray_rop.py index 9e4633e745..d15ee23825 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_vray_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_vray_rop.py @@ -2,7 +2,7 @@ """Creator plugin to create VRay ROP.""" import hou -from ayon_core.hosts.houdini.api import plugin +from ayon_houdini.api import plugin from ayon_core.pipeline import CreatorError from ayon_core.lib import EnumDef, BoolDef diff --git a/client/ayon_core/hosts/houdini/plugins/create/create_workfile.py b/server_addon/houdini/client/ayon_houdini/plugins/create/create_workfile.py similarity index 95% rename from client/ayon_core/hosts/houdini/plugins/create/create_workfile.py rename to server_addon/houdini/client/ayon_houdini/plugins/create/create_workfile.py index 40a607e81a..babf602855 100644 --- a/client/ayon_core/hosts/houdini/plugins/create/create_workfile.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/create/create_workfile.py @@ -2,9 +2,9 @@ """Creator plugin for creating workfiles.""" import ayon_api -from ayon_core.hosts.houdini.api import plugin -from ayon_core.hosts.houdini.api.lib import read, imprint -from ayon_core.hosts.houdini.api.pipeline import CONTEXT_CONTAINER +from ayon_houdini.api import plugin +from ayon_houdini.api.lib import read, imprint +from ayon_houdini.api.pipeline import CONTEXT_CONTAINER from ayon_core.pipeline import CreatedInstance, AutoCreator import hou diff --git a/client/ayon_core/hosts/houdini/plugins/inventory/set_camera_resolution.py b/server_addon/houdini/client/ayon_houdini/plugins/inventory/set_camera_resolution.py similarity index 93% rename from client/ayon_core/hosts/houdini/plugins/inventory/set_camera_resolution.py rename to server_addon/houdini/client/ayon_houdini/plugins/inventory/set_camera_resolution.py index 4cebd537bb..e2f8fcfa9b 100644 --- a/client/ayon_core/hosts/houdini/plugins/inventory/set_camera_resolution.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/inventory/set_camera_resolution.py @@ -1,5 +1,5 @@ from ayon_core.pipeline import InventoryAction -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( get_camera_from_container, set_camera_resolution ) diff --git a/client/ayon_core/hosts/houdini/plugins/load/actions.py b/server_addon/houdini/client/ayon_houdini/plugins/load/actions.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/load/actions.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/actions.py diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_alembic.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py index 5f04781501..7a610ce8b3 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py @@ -3,7 +3,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class AbcLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_alembic_archive.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/load/load_alembic_archive.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py index a231bd9993..672734879d 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_alembic_archive.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py @@ -1,9 +1,10 @@ + import os from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class AbcArchiveLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_ass.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py index 6e0922e305..a7e558feb4 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py @@ -5,7 +5,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class AssLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_bgeo.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py index a318b71963..b9f3b2b085 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py @@ -6,7 +6,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class BgeoLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_camera.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_camera.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py index b7912f88f1..0f8c4936a3 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_camera.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py @@ -2,9 +2,9 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( set_camera_resolution, get_camera_from_container ) diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_fbx.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py index 398019a3bd..33b0688435 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py @@ -4,7 +4,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class FbxLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_filepath.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_filepath.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py index d189a027fd..5c99f8bdb1 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_filepath.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py @@ -2,7 +2,7 @@ import os import re from ayon_core.pipeline import load -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline import hou diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/load/load_hda.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py index 10fc03be03..c0255614a5 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py @@ -4,7 +4,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class HdaLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_image.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_image.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py index dfbd3c11eb..6163e6d77a 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_image.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py @@ -6,7 +6,7 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.houdini.api import lib, pipeline +from ayon_houdini.api import lib, pipeline import hou diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_redshift_proxy.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py index f09856a970..f11ac065a1 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py @@ -4,7 +4,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline from ayon_core.pipeline.load import LoadError import hou diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_usd_layer.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_usd_layer.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py index 4e6954c531..af6f470674 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_usd_layer.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py @@ -3,7 +3,7 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class USDSublayerLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_usd_reference.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_usd_reference.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py index 7e82a6abd0..41d84922f7 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_usd_reference.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py @@ -3,7 +3,7 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class USDReferenceLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_usd_sop.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/load/load_usd_sop.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py index 506f6140bf..99e2c4375f 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_usd_sop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py @@ -1,7 +1,7 @@ import os from ayon_core.pipeline import load -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class SopUsdImportLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/load_vdb.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/load/load_vdb.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py index 0008f0d5f8..13fab288fa 100644 --- a/client/ayon_core/hosts/houdini/plugins/load/load_vdb.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py @@ -5,7 +5,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.houdini.api import pipeline +from ayon_houdini.api import pipeline class VdbLoader(load.LoaderPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/load/show_usdview.py b/server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/load/show_usdview.py rename to server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_active_state.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_active_state.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_arnold_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_arnold_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py index 53a3e52717..7b693c2d6f 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_arnold_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py @@ -4,8 +4,8 @@ import re import hou import pyblish.api -from ayon_core.hosts.houdini.api import colorspace -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api import colorspace +from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_asset_handles.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_asset_handles.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_cache_farm.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_cache_farm.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py index e931c7bf1b..ea3c237b13 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_cache_farm.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py @@ -1,7 +1,7 @@ import os import pyblish.api import hou -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class CollectDataforCache(pyblish.api.InstancePlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_chunk_size.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_chunk_size.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_current_file.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_farm_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_farm_instances.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_frames.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_frames.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py index b38ebc6e2f..7805d8ec35 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_frames.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py @@ -5,7 +5,7 @@ import re import hou # noqa import pyblish.api -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class CollectFrames(pyblish.api.InstancePlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_inputs.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_inputs.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_instances_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_instances_usd_layered.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py index 9377a9fcd0..ddf4b60c66 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_instances_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py @@ -1,7 +1,7 @@ import hou import pyblish.api -from ayon_core.hosts.houdini.api import lib -import ayon_core.hosts.houdini.api.usd as hou_usdlib +from ayon_houdini.api import lib +import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import usdlib diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_karma_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_karma_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py index 662ed7ae30..62ceed9999 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_karma_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py @@ -4,11 +4,11 @@ import os import hou import pyblish.api -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences ) -from ayon_core.hosts.houdini.api import ( +from ayon_houdini.api import ( colorspace ) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_local_render_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_local_render_instances.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_mantra_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_mantra_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py index 7b247768fc..09d4c82226 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_mantra_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py @@ -4,11 +4,11 @@ import os import hou import pyblish.api -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences ) -from ayon_core.hosts.houdini.api import ( +from ayon_houdini.api import ( colorspace ) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_pointcache_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_pointcache_type.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_redshift_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_redshift_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py index ce90ae2413..7982b53a7e 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_redshift_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py @@ -4,11 +4,11 @@ import os import hou import pyblish.api -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences ) -from ayon_core.hosts.houdini.api import ( +from ayon_houdini.api import ( colorspace ) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py similarity index 94% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_remote_publish.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py index 5d459f525e..845a7c4a1f 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py @@ -2,7 +2,7 @@ import pyblish.api import hou from ayon_core.pipeline.publish import RepairAction -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class CollectRemotePublishSettings(pyblish.api.ContextPlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_render_products.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_render_products.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_review_data.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_review_data.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_reviewable_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_reviewable_instances.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_rop_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py similarity index 95% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_rop_frame_range.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py index 44afaf2466..b0d69a14e7 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_rop_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py @@ -2,7 +2,7 @@ """Collector plugin for frames data on ROP instances.""" import hou # noqa import pyblish.api -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib class CollectRopFrameRange(pyblish.api.InstancePlugin): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_staticmesh_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_staticmesh_type.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_usd_bootstrap.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_usd_bootstrap.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_usd_layers.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_usd_layers.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py index 93add6806e..41990d84d9 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_usd_layers.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py @@ -1,7 +1,7 @@ import os import pyblish.api -import ayon_core.hosts.houdini.api.usd as usdlib +import ayon_houdini.api.usd as usdlib import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_vray_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_vray_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py index c39b1db103..2fd2dbd599 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/collect_vray_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py @@ -4,11 +4,11 @@ import os import hou import pyblish.api -from ayon_core.hosts.houdini.api.lib import ( +from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences ) -from ayon_core.hosts.houdini.api import ( +from ayon_houdini.api import ( colorspace ) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_workfile.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_workfile.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/collect_workscene_fps.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/collect_workscene_fps.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py similarity index 94% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_active_view_thumbnail.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index aedcb1da02..172399479f 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -1,8 +1,8 @@ import pyblish.api import tempfile from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api import lib -from ayon_core.hosts.houdini.api.pipeline import IS_HEADLESS +from ayon_houdini.api import lib +from ayon_houdini.api.pipeline import IS_HEADLESS class ExtractActiveViewThumbnail(publish.Extractor): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_alembic.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 7ae476d2b4..824ac468a2 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_ass.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index 24b956ad81..23fe6678d4 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py similarity index 93% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_bgeo.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index 448cf97848..e477b7a552 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -3,8 +3,8 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api.lib import render_rop +from ayon_houdini.api import lib import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_composite.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index 0fab69ef4a..ca4c738a6a 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -2,7 +2,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop, splitext +from ayon_houdini.api.lib import render_rop, splitext import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_fbx.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index 7ef004d7cb..de1d8d3b3b 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -4,7 +4,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_hda.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_mantra_ifd.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_opengl.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index 26a216e335..6d608aacfa 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_redshift_proxy.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index e08a73ae8e..634322b310 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_render.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 7b4762a25f..0506c7c8d5 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -1,7 +1,7 @@ import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou import os diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py similarity index 95% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_usd.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index 0aeed06643..54051934d7 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -1,9 +1,10 @@ + import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py similarity index 99% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_usd_layered.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py index 2e5c9a892c..df2bd0c4b6 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py @@ -11,8 +11,8 @@ from ayon_core.pipeline import ( get_representation_path, publish, ) -import ayon_core.hosts.houdini.api.usd as hou_usdlib -from ayon_core.hosts.houdini.api.lib import render_rop +import ayon_houdini.api.usd as hou_usdlib +from ayon_houdini.api.lib import render_rop class ExitStack(object): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py similarity index 96% rename from client/ayon_core/hosts/houdini/plugins/publish/extract_vdb_cache.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index 4544d33e57..e1146e4978 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.houdini.api.lib import render_rop +from ayon_houdini.api.lib import render_rop import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/help/validate_vdb_output_node.xml b/server_addon/houdini/client/ayon_houdini/plugins/publish/help/validate_vdb_output_node.xml similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/help/validate_vdb_output_node.xml rename to server_addon/houdini/client/ayon_houdini/plugins/publish/help/validate_vdb_output_node.xml index eb83bfffe3..8aac9a6a07 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/help/validate_vdb_output_node.xml +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/help/validate_vdb_output_node.xml @@ -25,4 +25,4 @@ ROP node `{rop_path}` is set to export SOP path `{sop_path}`. - \ No newline at end of file + diff --git a/client/ayon_core/hosts/houdini/plugins/publish/increment_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/increment_current_file.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/save_scene.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/save_scene.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_abc_primitive_to_detail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_abc_primitive_to_detail.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_alembic_face_sets.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_alembic_face_sets.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_alembic_input_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_alembic_input_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_animation_settings.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_animation_settings.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py index e28c38ece0..14bd3a05bd 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_animation_settings.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py @@ -1,7 +1,7 @@ import pyblish.api from ayon_core.pipeline.publish import PublishValidationError -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_bypass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_bypass.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_camera_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_camera_rop.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_cop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_cop_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_fbx_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_fbx_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py index 08eaa182c0..24d8c27bd6 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_fbx_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.houdini.api.action import ( +from ayon_houdini.api.action import ( SelectInvalidAction, SelectROPAction, ) -from ayon_core.hosts.houdini.api.lib import get_obj_node_output +from ayon_houdini.api.lib import get_obj_node_output import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_file_extension.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_file_extension.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py index e9a0397a58..43083feeea 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_file_extension.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py @@ -2,7 +2,7 @@ import os import pyblish.api -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib from ayon_core.pipeline import PublishValidationError import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_frame_range.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py index 2a3418ee7e..08f82e12b8 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py @@ -2,7 +2,7 @@ import pyblish.api from ayon_core.pipeline import PublishValidationError from ayon_core.pipeline.publish import RepairAction -from ayon_core.hosts.houdini.api.action import SelectInvalidAction +from ayon_houdini.api.action import SelectInvalidAction import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_frame_token.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_frame_token.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py index 20fb859146..1b8c167869 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_frame_token.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py @@ -1,6 +1,6 @@ import pyblish.api -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_houdini_license_category.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_houdini_license_category.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_instance_in_context.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_instance_in_context.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py index 26708e306b..b2d839497f 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_instance_in_context.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py @@ -2,7 +2,7 @@ """Validate if instance asset is the same as context asset.""" import pyblish.api -from ayon_core.hosts.houdini.api.action import SelectROPAction +from ayon_houdini.api.action import SelectROPAction from ayon_core.pipeline.publish import ( RepairAction, ValidateContentsOrder, diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_mesh_is_static.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py similarity index 92% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_mesh_is_static.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py index 289e00339b..4db309f0ed 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_mesh_is_static.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py @@ -7,8 +7,8 @@ from ayon_core.pipeline import ( ) from ayon_core.pipeline.publish import ValidateContentsOrder -from ayon_core.hosts.houdini.api.action import SelectInvalidAction -from ayon_core.hosts.houdini.api.lib import get_output_children +from ayon_houdini.api.action import SelectInvalidAction +from ayon_houdini.api.lib import get_output_children class ValidateMeshIsStatic(pyblish.api.InstancePlugin, diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_mkpaths_toggled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_mkpaths_toggled.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_no_errors.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_no_errors.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_primitive_hierarchy_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_primitive_hierarchy_paths.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_remote_publish.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py index 133b45e8c3..801ed08ce6 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py @@ -1,7 +1,7 @@ # -*-coding: utf-8 -*- import pyblish.api -from ayon_core.hosts.houdini.api import lib +from ayon_houdini.api import lib from ayon_core.pipeline.publish import RepairContextAction from ayon_core.pipeline import PublishValidationError diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_remote_publish_enabled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_remote_publish_enabled.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_review_colorspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py similarity index 95% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_review_colorspace.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py index fa532c5437..3f783f9fbe 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_review_colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py @@ -9,7 +9,7 @@ from ayon_core.pipeline.publish import ( get_plugin_settings, apply_plugin_settings_automatically ) -from ayon_core.hosts.houdini.api.action import SelectROPAction +from ayon_houdini.api.action import SelectROPAction import os import hou @@ -123,14 +123,14 @@ class ValidateReviewColorspace(pyblish.api.InstancePlugin, As if OCIO is disabled the whole validation is skipped and this repair action won't show up. """ - from ayon_core.hosts.houdini.api.lib import set_review_color_space + from ayon_houdini.api.lib import set_review_color_space # Fall to the default value if cls.review_color_space is empty. if not cls.review_color_space: # cls.review_color_space is an empty string # when the imageio/workfile setting is disabled or # when the Review colorspace setting is empty. - from ayon_core.hosts.houdini.api.colorspace import get_default_display_view_colorspace # noqa + from ayon_houdini.api.colorspace import get_default_display_view_colorspace # noqa cls.review_color_space = get_default_display_view_colorspace() rop_node = hou.node(instance.data["instance_node"]) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_scene_review.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_scene_review.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_sop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_sop_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py index 61cf7596ac..59fa8cb134 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_sop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.houdini.api.action import ( +from ayon_houdini.api.action import ( SelectInvalidAction, SelectROPAction, ) diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_subset_name.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_subset_name.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py index 0481929824..a1fc0bf062 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_subset_name.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py @@ -9,7 +9,7 @@ from ayon_core.pipeline.publish import ( ValidateContentsOrder, RepairAction, ) -from ayon_core.hosts.houdini.api.action import SelectInvalidAction +from ayon_houdini.api.action import SelectInvalidAction from ayon_core.pipeline.create import get_product_name import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_unreal_staticmesh_naming.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py similarity index 95% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_unreal_staticmesh_naming.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py index ae00bc9db4..43cf6029f6 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py @@ -7,8 +7,8 @@ from ayon_core.pipeline import ( ) from ayon_core.pipeline.publish import ValidateContentsOrder -from ayon_core.hosts.houdini.api.action import SelectInvalidAction -from ayon_core.hosts.houdini.api.lib import get_output_children +from ayon_houdini.api.action import SelectInvalidAction +from ayon_houdini.api.lib import get_output_children import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_layer_path_backslashes.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_layer_path_backslashes.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py index 2b727670ad..3dcf7206f1 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_layer_path_backslashes.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api -import ayon_core.hosts.houdini.api.usd as hou_usdlib +import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError import hou diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_model_and_shade.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_model_and_shade.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py index dc1a19cae0..34440b70b0 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_model_and_shade.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api -import ayon_core.hosts.houdini.api.usd as hou_usdlib +import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError from pxr import UsdShade, UsdRender, UsdLux diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_render_product_names.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_render_product_names.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_setdress.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py similarity index 97% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_setdress.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py index 40b67e896a..dc773b6770 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_setdress.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api -import ayon_core.hosts.houdini.api.usd as hou_usdlib +import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_shade_model_exists.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_shade_model_exists.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_usd_shade_workspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_usd_shade_workspace.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_vdb_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py similarity index 98% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_vdb_output_node.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py index 319a9a4b50..5c662c0084 100644 --- a/client/ayon_core/hosts/houdini/plugins/publish/validate_vdb_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py @@ -5,7 +5,7 @@ import pyblish.api import hou from ayon_core.pipeline import PublishXmlValidationError -from ayon_core.hosts.houdini.api.action import SelectInvalidAction +from ayon_houdini.api.action import SelectInvalidAction def group_consecutive_numbers(nums): diff --git a/client/ayon_core/hosts/houdini/plugins/publish/validate_workfile_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py similarity index 100% rename from client/ayon_core/hosts/houdini/plugins/publish/validate_workfile_paths.py rename to server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py diff --git a/client/ayon_core/hosts/houdini/startup/MainMenuCommon.xml b/server_addon/houdini/client/ayon_houdini/startup/MainMenuCommon.xml similarity index 94% rename from client/ayon_core/hosts/houdini/startup/MainMenuCommon.xml rename to server_addon/houdini/client/ayon_houdini/startup/MainMenuCommon.xml index b6e78cbdc8..5b383f0085 100644 --- a/client/ayon_core/hosts/houdini/startup/MainMenuCommon.xml +++ b/server_addon/houdini/client/ayon_houdini/startup/MainMenuCommon.xml @@ -81,16 +81,16 @@ host_tools.show_workfiles(parent) diff --git a/client/ayon_core/hosts/houdini/startup/python2.7libs/pythonrc.py b/server_addon/houdini/client/ayon_houdini/startup/python2.7libs/pythonrc.py similarity index 78% rename from client/ayon_core/hosts/houdini/startup/python2.7libs/pythonrc.py rename to server_addon/houdini/client/ayon_houdini/startup/python2.7libs/pythonrc.py index 6e45eb6a10..40ff7fb758 100644 --- a/client/ayon_core/hosts/houdini/startup/python2.7libs/pythonrc.py +++ b/server_addon/houdini/client/ayon_houdini/startup/python2.7libs/pythonrc.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """OpenPype startup script.""" from ayon_core.pipeline import install_host -from ayon_core.hosts.houdini.api import HoudiniHost +from ayon_houdini.api import HoudiniHost def main(): diff --git a/client/ayon_core/hosts/houdini/startup/python3.10libs/pythonrc.py b/server_addon/houdini/client/ayon_houdini/startup/python3.10libs/pythonrc.py similarity index 78% rename from client/ayon_core/hosts/houdini/startup/python3.10libs/pythonrc.py rename to server_addon/houdini/client/ayon_houdini/startup/python3.10libs/pythonrc.py index 6e45eb6a10..40ff7fb758 100644 --- a/client/ayon_core/hosts/houdini/startup/python3.10libs/pythonrc.py +++ b/server_addon/houdini/client/ayon_houdini/startup/python3.10libs/pythonrc.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """OpenPype startup script.""" from ayon_core.pipeline import install_host -from ayon_core.hosts.houdini.api import HoudiniHost +from ayon_houdini.api import HoudiniHost def main(): diff --git a/client/ayon_core/hosts/houdini/startup/python3.7libs/pythonrc.py b/server_addon/houdini/client/ayon_houdini/startup/python3.7libs/pythonrc.py similarity index 78% rename from client/ayon_core/hosts/houdini/startup/python3.7libs/pythonrc.py rename to server_addon/houdini/client/ayon_houdini/startup/python3.7libs/pythonrc.py index 6e45eb6a10..40ff7fb758 100644 --- a/client/ayon_core/hosts/houdini/startup/python3.7libs/pythonrc.py +++ b/server_addon/houdini/client/ayon_houdini/startup/python3.7libs/pythonrc.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """OpenPype startup script.""" from ayon_core.pipeline import install_host -from ayon_core.hosts.houdini.api import HoudiniHost +from ayon_houdini.api import HoudiniHost def main(): diff --git a/client/ayon_core/hosts/houdini/startup/python3.9libs/pythonrc.py b/server_addon/houdini/client/ayon_houdini/startup/python3.9libs/pythonrc.py similarity index 78% rename from client/ayon_core/hosts/houdini/startup/python3.9libs/pythonrc.py rename to server_addon/houdini/client/ayon_houdini/startup/python3.9libs/pythonrc.py index 6e45eb6a10..40ff7fb758 100644 --- a/client/ayon_core/hosts/houdini/startup/python3.9libs/pythonrc.py +++ b/server_addon/houdini/client/ayon_houdini/startup/python3.9libs/pythonrc.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """OpenPype startup script.""" from ayon_core.pipeline import install_host -from ayon_core.hosts.houdini.api import HoudiniHost +from ayon_houdini.api import HoudiniHost def main(): diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index 6c81eba439..c3be99b5c3 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -1,3 +1,3 @@ name = "houdini" title = "Houdini" -version = "0.2.14" +version = "0.3.14" From 6fdce1f212aaee776deb21541002d2cc04bd7670 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 22:32:34 +0300 Subject: [PATCH 005/124] update ayon_houdini package.py --- server_addon/houdini/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index c3be99b5c3..e4c2f8b415 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -1,3 +1,10 @@ name = "houdini" title = "Houdini" version = "0.3.14" + +client_dir = "ayon_houdini" + +ayon_required_addons = { + "core": ">=0.3.0", +} +ayon_compatible_addons = {} From 2768fb7d6839f400edfc255c02fd62503d742c09 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 22:38:42 +0300 Subject: [PATCH 006/124] fix typo in base.py --- client/ayon_core/addon/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 21b1193b07..6b2788d861 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -1321,7 +1321,7 @@ class TrayAddonsManager(AddonsManager): self.doubleclick_callback = None def add_doubleclick_callback(self, addon, callback): - """Register doubleclick callbacks on tray icon. + """Register double-click callbacks on tray icon. Currently, there is no way how to determine which is launched. Name of callback can be defined with `doubleclick_callback` attribute. From 66bb9aac8304d338f1511094832ef053d05bc244 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 22:39:19 +0300 Subject: [PATCH 007/124] add houdini to MOVED_ADDON_MILESTONE_VERSIONS --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 6b2788d861..9cf557f96e 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -51,6 +51,7 @@ IGNORED_MODULES_IN_AYON = set() # - this is used to log the missing addon MOVED_ADDON_MILESTONE_VERSIONS = { "applications": VersionInfo(0, 2, 0), + "houdini": VersionInfo(0, 3, 14), } # Inherit from `object` for Python 2 hosts From 3f91a29471928f6a2257d2c0c74e59bdc848f78b Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 23:15:54 +0300 Subject: [PATCH 008/124] add settings_category --- server_addon/houdini/client/ayon_houdini/api/plugin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index a9c8c313b9..bb29c534f3 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -169,6 +169,8 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): settings_name = None add_publish_button = False + settings_category = "houdini" + def create(self, product_name, instance_data, pre_create_data): try: self.selected_nodes = [] From b62ae6b73cf41a6e786f0077d62a9afcd4f3523c Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 14 May 2024 23:17:24 +0300 Subject: [PATCH 009/124] add version.py for Houdini addon --- server_addon/houdini/client/ayon_houdini/version.py | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 server_addon/houdini/client/ayon_houdini/version.py diff --git a/server_addon/houdini/client/ayon_houdini/version.py b/server_addon/houdini/client/ayon_houdini/version.py new file mode 100644 index 0000000000..a38ff316cd --- /dev/null +++ b/server_addon/houdini/client/ayon_houdini/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring Houdini addon version.""" +__version__ = "0.3.14" From c1331a4a5ca82334d2e27de19fac129248a7a579 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Wed, 15 May 2024 11:30:02 +0300 Subject: [PATCH 010/124] update required addons --- server_addon/houdini/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index e4c2f8b415..899e0628d2 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -5,6 +5,6 @@ version = "0.3.14" client_dir = "ayon_houdini" ayon_required_addons = { - "core": ">=0.3.0", + "core": ">0.3.1", } ayon_compatible_addons = {} From 6c75a2912bcf5e853f101c3e9ca0c7c1cbba9d3a Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Wed, 15 May 2024 11:30:32 +0300 Subject: [PATCH 011/124] update addon version --- client/ayon_core/addon/base.py | 2 +- server_addon/houdini/package.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 9cf557f96e..0c436a325e 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -51,7 +51,7 @@ IGNORED_MODULES_IN_AYON = set() # - this is used to log the missing addon MOVED_ADDON_MILESTONE_VERSIONS = { "applications": VersionInfo(0, 2, 0), - "houdini": VersionInfo(0, 3, 14), + "houdini": VersionInfo(0, 3, 0), } # Inherit from `object` for Python 2 hosts diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index 899e0628d2..9e5fe56e34 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -1,6 +1,6 @@ name = "houdini" title = "Houdini" -version = "0.3.14" +version = "0.3.0" client_dir = "ayon_houdini" From 9e865566dbb6675771a4bed3ad18a5914c902d80 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Thu, 16 May 2024 11:24:14 +0300 Subject: [PATCH 012/124] add settings_category for plugins with server settings --- .../ayon_houdini/plugins/publish/collect_asset_handles.py | 2 ++ .../client/ayon_houdini/plugins/publish/collect_chunk_size.py | 2 ++ .../plugins/publish/collect_local_render_instances.py | 2 ++ .../plugins/publish/validate_instance_in_context.py | 2 ++ .../ayon_houdini/plugins/publish/validate_mesh_is_static.py | 2 ++ .../ayon_houdini/plugins/publish/validate_review_colorspace.py | 2 ++ .../client/ayon_houdini/plugins/publish/validate_subset_name.py | 1 + .../plugins/publish/validate_unreal_staticmesh_naming.py | 2 ++ .../ayon_houdini/plugins/publish/validate_workfile_paths.py | 2 ++ 9 files changed, 17 insertions(+) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py index 943a29952e..81ee5a2315 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py @@ -32,6 +32,8 @@ class CollectAssetHandles(pyblish.api.InstancePlugin, label = "Collect Folder Handles" use_asset_handles = True + settings_category = "houdini" + def process(self, instance): # Only process instances without already existing handles data # but that do have frameStartHandle and frameEndHandle defined diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py index 3e2561dd6f..f6ae6246cd 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py @@ -16,6 +16,8 @@ class CollectChunkSize(pyblish.api.InstancePlugin, label = "Collect Chunk Size" chunk_size = 999999 + settings_category = "houdini" + def process(self, instance): # need to get the chunk size info from the setting attr_values = self.get_attr_values_from_data(instance.data) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py index 5a446fa0d3..0b3eab725d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py @@ -25,6 +25,8 @@ class CollectLocalRenderInstances(pyblish.api.InstancePlugin): hosts = ["houdini"] label = "Collect local render instances" + settings_category = "houdini" + use_deadline_aov_filter = False aov_filter = {"host_name": "houdini", "value": [".*([Bb]eauty).*"]} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py index b2d839497f..25f38c4600 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py @@ -27,6 +27,8 @@ class ValidateInstanceInContextHoudini(pyblish.api.InstancePlugin, hosts = ["houdini"] actions = [SelectROPAction, RepairAction] + settings_category = "houdini" + def process(self, instance): if not self.is_active(instance.data): return diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py index 4db309f0ed..6f78b9f4ff 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py @@ -24,6 +24,8 @@ class ValidateMeshIsStatic(pyblish.api.InstancePlugin, order = ValidateContentsOrder + 0.1 actions = [SelectInvalidAction] + settings_category = "houdini" + def process(self, instance): invalid = self.get_invalid(instance) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py index 3f783f9fbe..30a8a35dca 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py @@ -36,6 +36,8 @@ class ValidateReviewColorspace(pyblish.api.InstancePlugin, optional = True review_color_space = "" + settings_category = "houdini" + @classmethod def apply_settings(cls, project_settings): # Preserve automatic settings applying logic diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py index a1fc0bf062..3d284a4eec 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py @@ -32,6 +32,7 @@ class ValidateSubsetName(pyblish.api.InstancePlugin, actions = [FixProductNameAction, SelectInvalidAction] optional = True + settings_category = "houdini" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py index 43cf6029f6..6b7c980fa2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py @@ -38,6 +38,8 @@ class ValidateUnrealStaticMeshName(pyblish.api.InstancePlugin, collision_prefixes = [] static_mesh_prefix = "" + settings_category = "houdini" + @classmethod def apply_settings(cls, project_settings): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py index 7984b7615c..f2008b8281 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py @@ -22,6 +22,8 @@ class ValidateWorkfilePaths( node_types = ["file", "alembic"] prohibited_vars = ["$HIP", "$JOB"] + settings_category = "houdini" + def process(self, instance): if not self.is_active(instance.data): return From a34647b17545bec61bab87ba7a2097c17b0b059f Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 17:04:02 +0300 Subject: [PATCH 013/124] update Houdini package and version --- server_addon/houdini/client/ayon_houdini/version.py | 2 +- server_addon/houdini/package.py | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/server_addon/houdini/client/ayon_houdini/version.py b/server_addon/houdini/client/ayon_houdini/version.py index a38ff316cd..a30c770e1d 100644 --- a/server_addon/houdini/client/ayon_houdini/version.py +++ b/server_addon/houdini/client/ayon_houdini/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring Houdini addon version.""" -__version__ = "0.3.14" +__version__ = "0.3.0" diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index 9e5fe56e34..467806f364 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -2,6 +2,8 @@ name = "houdini" title = "Houdini" version = "0.3.0" +app_host_name = "houdini" + client_dir = "ayon_houdini" ayon_required_addons = { From f8b476ce7537c1f98152197fa3cc5dbb483e1d40 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 19:23:53 +0300 Subject: [PATCH 014/124] add base class for Houdini loader plugins --- .../houdini/client/ayon_houdini/api/plugin.py | 6 ++++++ .../client/ayon_houdini/plugins/load/actions.py | 6 +++--- .../client/ayon_houdini/plugins/load/load_alembic.py | 10 +++++----- .../ayon_houdini/plugins/load/load_alembic_archive.py | 10 +++++----- .../client/ayon_houdini/plugins/load/load_ass.py | 10 +++++----- .../client/ayon_houdini/plugins/load/load_bgeo.py | 10 +++++----- .../client/ayon_houdini/plugins/load/load_camera.py | 11 +++++------ .../client/ayon_houdini/plugins/load/load_fbx.py | 10 +++++----- .../client/ayon_houdini/plugins/load/load_filepath.py | 9 +++++---- .../client/ayon_houdini/plugins/load/load_hda.py | 10 +++++----- .../client/ayon_houdini/plugins/load/load_image.py | 9 ++++++--- .../ayon_houdini/plugins/load/load_redshift_proxy.py | 10 +++++----- .../ayon_houdini/plugins/load/load_usd_layer.py | 8 +++++--- .../ayon_houdini/plugins/load/load_usd_reference.py | 8 +++++--- .../client/ayon_houdini/plugins/load/load_usd_sop.py | 8 +++++--- .../client/ayon_houdini/plugins/load/load_vdb.py | 10 +++++----- .../client/ayon_houdini/plugins/load/show_usdview.py | 4 ++-- 17 files changed, 82 insertions(+), 67 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index bb29c534f3..3c3ca0a81e 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -14,6 +14,7 @@ from ayon_core.pipeline import ( CreatedInstance, AYON_INSTANCE_ID, AVALON_INSTANCE_ID, + load, ) from ayon_core.lib import BoolDef from .lib import imprint, read, lsattr, add_self_publish_button @@ -349,3 +350,8 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): for key, value in settings.items(): setattr(self, key, value) + +class HoudiniLoader(load.LoaderPlugin): + """Base class for most of the Houdini load plugins.""" + + settings_category = "houdini" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/actions.py b/server_addon/houdini/client/ayon_houdini/plugins/load/actions.py index 3e9cc35504..5fe545ced9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/actions.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/actions.py @@ -2,10 +2,10 @@ """ -from ayon_core.pipeline import load +from ayon_houdini.api import plugin -class SetFrameRangeLoader(load.LoaderPlugin): +class SetFrameRangeLoader(plugin.HoudiniLoader): """Set frame range excluding pre- and post-handles""" product_types = { @@ -42,7 +42,7 @@ class SetFrameRangeLoader(load.LoaderPlugin): hou.playbar.setPlaybackRange(start, end) -class SetFrameRangeWithHandlesLoader(load.LoaderPlugin): +class SetFrameRangeWithHandlesLoader(plugin.HoudiniLoader): """Set frame range including pre- and post-handles""" product_types = { diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py index 7a610ce8b3..7db2fe93ed 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic.py @@ -1,12 +1,12 @@ import os -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class AbcLoader(load.LoaderPlugin): +class AbcLoader(plugin.HoudiniLoader): """Load Alembic""" product_types = {"model", "animation", "pointcache", "gpuCache"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py index 672734879d..a34a43e48a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_alembic_archive.py @@ -1,13 +1,13 @@ import os -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class AbcArchiveLoader(load.LoaderPlugin): +class AbcArchiveLoader(plugin.HoudiniLoader): """Load Alembic as full geometry network hierarchy """ product_types = {"model", "animation", "pointcache", "gpuCache"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py index a7e558feb4..5fd97bc2a6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_ass.py @@ -1,14 +1,14 @@ import os import re -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class AssLoader(load.LoaderPlugin): +class AssLoader(plugin.HoudiniLoader): """Load .ass with Arnold Procedural""" product_types = {"ass"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py index b9f3b2b085..7119612cda 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_bgeo.py @@ -2,14 +2,14 @@ import os import re -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class BgeoLoader(load.LoaderPlugin): +class BgeoLoader(plugin.HoudiniLoader): """Load bgeo files to Houdini.""" label = "Load bgeo" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py index 0f8c4936a3..a9e50fe0a4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py @@ -1,9 +1,8 @@ -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline - from ayon_houdini.api.lib import ( set_camera_resolution, get_camera_from_container @@ -84,7 +83,7 @@ def transfer_non_default_values(src, dest, ignore=None): dest_parm.setFromParm(parm) -class CameraLoader(load.LoaderPlugin): +class CameraLoader(plugin.HoudiniLoader): """Load camera from an Alembic file""" product_types = {"camera"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py index 33b0688435..273ca43bc4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_fbx.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- """Fbx Loader for houdini. """ -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class FbxLoader(load.LoaderPlugin): +class FbxLoader(plugin.HoudiniLoader): """Load fbx files. """ label = "Load FBX" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py index 5c99f8bdb1..a5d2f661bf 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py @@ -1,13 +1,14 @@ import os import re -from ayon_core.pipeline import load -from ayon_houdini.api import pipeline - +from ayon_houdini.api import ( + pipeline, + plugin +) import hou -class FilePathLoader(load.LoaderPlugin): +class FilePathLoader(plugin.HoudiniLoader): """Load a managed filepath to a null node. This is useful if for a particular workflow there is no existing loader diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py index c0255614a5..b04e211aa4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_hda.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- import os -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class HdaLoader(load.LoaderPlugin): +class HdaLoader(plugin.HoudiniLoader): """Load Houdini Digital Asset file.""" product_types = {"hda"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py index 6163e6d77a..8fc1dc4b98 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py @@ -2,11 +2,14 @@ import os import re from ayon_core.pipeline import ( - load, get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_houdini.api import lib, pipeline +from ayon_houdini.api import ( + pipeline, + plugin, + lib +) import hou @@ -42,7 +45,7 @@ def get_image_avalon_container(): return image_container -class ImageLoader(load.LoaderPlugin): +class ImageLoader(plugin.HoudiniLoader): """Load images into COP2""" product_types = { diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py index f11ac065a1..583af6151d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py @@ -1,16 +1,16 @@ import os import re -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline from ayon_core.pipeline.load import LoadError import hou -class RedshiftProxyLoader(load.LoaderPlugin): +class RedshiftProxyLoader(plugin.HoudiniLoader): """Load Redshift Proxy""" product_types = {"redshiftproxy"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py index af6f470674..fb302fd943 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_layer.py @@ -1,12 +1,14 @@ from ayon_core.pipeline import ( - load, get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_houdini.api import lib +from ayon_houdini.api import ( + plugin, + lib +) -class USDSublayerLoader(load.LoaderPlugin): +class USDSublayerLoader(plugin.HoudiniLoader): """Sublayer USD file in Solaris""" product_types = { diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py index 41d84922f7..690f6ce187 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_reference.py @@ -1,12 +1,14 @@ from ayon_core.pipeline import ( - load, get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_houdini.api import lib +from ayon_houdini.api import ( + plugin, + lib +) -class USDReferenceLoader(load.LoaderPlugin): +class USDReferenceLoader(plugin.HoudiniLoader): """Reference USD file in Solaris""" product_types = { diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py index 99e2c4375f..347e3283de 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_usd_sop.py @@ -1,10 +1,12 @@ import os -from ayon_core.pipeline import load -from ayon_houdini.api import pipeline +from ayon_houdini.api import ( + pipeline, + plugin +) -class SopUsdImportLoader(load.LoaderPlugin): +class SopUsdImportLoader(plugin.HoudiniLoader): """Load USD to SOPs via `usdimport`""" label = "Load USD to SOPs" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py index 13fab288fa..9014f4c5e2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_vdb.py @@ -1,14 +1,14 @@ import os import re -from ayon_core.pipeline import ( - load, - get_representation_path, +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import ( + pipeline, + plugin ) -from ayon_houdini.api import pipeline -class VdbLoader(load.LoaderPlugin): +class VdbLoader(plugin.HoudiniLoader): """Load VDB""" product_types = {"vdbcache"} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py b/server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py index 0158a6b963..4e18bc038a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/show_usdview.py @@ -3,10 +3,10 @@ import platform import subprocess from ayon_core.lib.vendor_bin_utils import find_executable -from ayon_core.pipeline import load +from ayon_houdini.api import plugin -class ShowInUsdview(load.LoaderPlugin): +class ShowInUsdview(plugin.HoudiniLoader): """Open USD file in usdview""" label = "Show in usdview" From 606e895689c221961b7d3cd5153de779e7958bd0 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 22:13:24 +0300 Subject: [PATCH 015/124] implement base classes for publish plugins --- .../houdini/client/ayon_houdini/api/plugin.py | 15 ++++++++++++++- .../plugins/publish/collect_active_state.py | 3 ++- .../plugins/publish/collect_arnold_rop.py | 4 ++-- .../plugins/publish/collect_asset_handles.py | 3 ++- .../plugins/publish/collect_cache_farm.py | 3 ++- .../plugins/publish/collect_chunk_size.py | 3 ++- .../plugins/publish/collect_current_file.py | 3 ++- .../plugins/publish/collect_farm_instances.py | 3 ++- .../plugins/publish/collect_frames.py | 4 ++-- .../plugins/publish/collect_inputs.py | 4 ++-- .../publish/collect_instances_usd_layered.py | 4 ++-- .../plugins/publish/collect_karma_rop.py | 5 +++-- .../publish/collect_local_render_instances.py | 3 ++- .../plugins/publish/collect_mantra_rop.py | 5 +++-- .../plugins/publish/collect_output_node.py | 4 ++-- .../publish/collect_pointcache_type.py | 4 ++-- .../plugins/publish/collect_redshift_rop.py | 5 +++-- .../plugins/publish/collect_remote_publish.py | 4 ++-- .../publish/collect_render_products.py | 3 ++- .../plugins/publish/collect_review_data.py | 3 ++- .../publish/collect_reviewable_instances.py | 3 ++- .../publish/collect_rop_frame_range.py | 4 ++-- .../publish/collect_staticmesh_type.py | 3 ++- .../plugins/publish/collect_usd_bootstrap.py | 4 ++-- .../plugins/publish/collect_usd_layers.py | 3 ++- .../plugins/publish/collect_vray_rop.py | 5 +++-- .../plugins/publish/collect_workfile.py | 4 ++-- .../plugins/publish/collect_workscene_fps.py | 3 ++- .../publish/extract_active_view_thumbnail.py | 5 ++--- .../plugins/publish/extract_alembic.py | 4 ++-- .../plugins/publish/extract_ass.py | 4 ++-- .../plugins/publish/extract_bgeo.py | 5 ++--- .../plugins/publish/extract_composite.py | 3 ++- .../plugins/publish/extract_fbx.py | 4 ++-- .../plugins/publish/extract_hda.py | 4 ++-- .../plugins/publish/extract_mantra_ifd.py | 4 ++-- .../plugins/publish/extract_opengl.py | 3 ++- .../plugins/publish/extract_redshift_proxy.py | 4 ++-- .../plugins/publish/extract_render.py | 4 ++-- .../plugins/publish/extract_usd.py | 4 ++-- .../plugins/publish/extract_usd_layered.py | 19 ++++++++++++++----- .../plugins/publish/extract_vdb_cache.py | 4 ++-- .../plugins/publish/increment_current_file.py | 3 ++- .../plugins/publish/save_scene.py | 3 ++- .../validate_abc_primitive_to_detail.py | 3 ++- .../publish/validate_alembic_face_sets.py | 3 ++- .../publish/validate_alembic_input_node.py | 3 ++- .../publish/validate_animation_settings.py | 4 ++-- .../plugins/publish/validate_bypass.py | 3 ++- .../plugins/publish/validate_camera_rop.py | 3 ++- .../publish/validate_cop_output_node.py | 4 ++-- .../publish/validate_fbx_output_node.py | 3 ++- .../publish/validate_file_extension.py | 4 ++-- .../plugins/publish/validate_frame_range.py | 4 ++-- .../plugins/publish/validate_frame_token.py | 4 ++-- .../validate_houdini_license_category.py | 3 ++- .../publish/validate_instance_in_context.py | 4 ++-- .../publish/validate_mesh_is_static.py | 4 ++-- .../publish/validate_mkpaths_toggled.py | 3 ++- .../plugins/publish/validate_no_errors.py | 3 ++- .../validate_primitive_hierarchy_paths.py | 4 ++-- .../publish/validate_remote_publish.py | 4 ++-- .../validate_remote_publish_enabled.py | 3 ++- .../publish/validate_review_colorspace.py | 3 ++- .../plugins/publish/validate_scene_review.py | 3 ++- .../publish/validate_sop_output_node.py | 4 +++- .../plugins/publish/validate_subset_name.py | 4 ++-- .../validate_unreal_staticmesh_naming.py | 4 ++-- .../validate_usd_layer_path_backslashes.py | 4 ++-- .../publish/validate_usd_model_and_shade.py | 4 ++-- .../publish/validate_usd_output_node.py | 3 ++- .../validate_usd_render_product_names.py | 4 ++-- .../plugins/publish/validate_usd_setdress.py | 4 ++-- .../validate_usd_shade_model_exists.py | 4 ++-- .../publish/validate_usd_shade_workspace.py | 3 ++- .../publish/validate_vdb_output_node.py | 3 ++- .../publish/validate_workfile_paths.py | 3 ++- 77 files changed, 183 insertions(+), 124 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 3c3ca0a81e..2c4b5749a6 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -14,10 +14,11 @@ from ayon_core.pipeline import ( CreatedInstance, AYON_INSTANCE_ID, AVALON_INSTANCE_ID, - load, + load ) from ayon_core.lib import BoolDef from .lib import imprint, read, lsattr, add_self_publish_button +import pyblish.api class Creator(LegacyCreator): @@ -355,3 +356,15 @@ class HoudiniLoader(load.LoaderPlugin): """Base class for most of the Houdini load plugins.""" settings_category = "houdini" + + +class HoudiniInstancePlugin(pyblish.api.InstancePlugin): + """Base class for most of the Houdini instance publish plugins.""" + + settings_category = "houdini" + + +class HoudiniContextPlugin(pyblish.api.ContextPlugin): + """Base class for most of the Houdini context publish plugins.""" + + settings_category = "houdini" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py index 7fda94b288..f0c8964af5 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py @@ -1,8 +1,9 @@ import pyblish.api +from ayon_houdini.api import plugin import hou -class CollectInstanceActiveState(pyblish.api.InstancePlugin): +class CollectInstanceActiveState(plugin.HoudiniInstancePlugin): """Collect default active state for instance from its node bypass state. This is done at the very end of the CollectorOrder so that any required diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py index 7b693c2d6f..c88f5d878f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py @@ -4,12 +4,12 @@ import re import hou import pyblish.api -from ayon_houdini.api import colorspace +from ayon_houdini.api import colorspace, plugin from ayon_houdini.api.lib import ( evalParmNoFrame, get_color_management_preferences) -class CollectArnoldROPRenderProducts(pyblish.api.InstancePlugin): +class CollectArnoldROPRenderProducts(plugin.HoudiniInstancePlugin): """Collect Arnold ROP Render Products Collects the instance.data["files"] for the render products. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py index 81ee5a2315..b3a13ea290 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py @@ -4,9 +4,10 @@ import hou # noqa import pyblish.api from ayon_core.lib import BoolDef from ayon_core.pipeline import AYONPyblishPluginMixin +from ayon_houdini.api import plugin -class CollectAssetHandles(pyblish.api.InstancePlugin, +class CollectAssetHandles(plugin.HoudiniInstancePlugin, AYONPyblishPluginMixin): """Apply folder handles. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py index ea3c237b13..22ea4d82c0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py @@ -2,9 +2,10 @@ import os import pyblish.api import hou from ayon_houdini.api import lib +from ayon_houdini.api import plugin -class CollectDataforCache(pyblish.api.InstancePlugin): +class CollectDataforCache(plugin.HoudiniInstancePlugin): """Collect data for caching to Deadline.""" # Run after Collect Frames diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py index f6ae6246cd..8b9f193e99 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py @@ -1,9 +1,10 @@ import pyblish.api from ayon_core.lib import NumberDef from ayon_core.pipeline import AYONPyblishPluginMixin +from ayon_houdini.api import plugin -class CollectChunkSize(pyblish.api.InstancePlugin, +class CollectChunkSize(plugin.HoudiniInstancePlugin, AYONPyblishPluginMixin): """Collect chunk size for cache submission to Deadline.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py index 7b55778803..70f96e0104 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py @@ -2,9 +2,10 @@ import os import hou import pyblish.api +from ayon_houdini.api import plugin -class CollectHoudiniCurrentFile(pyblish.api.ContextPlugin): +class CollectHoudiniCurrentFile(plugin.HoudiniContextPlugin): """Inject the current working file into context""" order = pyblish.api.CollectorOrder - 0.1 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py index 586aa2da57..6acf216ef3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py @@ -1,7 +1,8 @@ import pyblish.api +from ayon_houdini.api import plugin -class CollectFarmInstances(pyblish.api.InstancePlugin): +class CollectFarmInstances(plugin.HoudiniInstancePlugin): """Collect instances for farm render.""" order = pyblish.api.CollectorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py index 7805d8ec35..3378657bfd 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_frames.py @@ -5,10 +5,10 @@ import re import hou # noqa import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin -class CollectFrames(pyblish.api.InstancePlugin): +class CollectFrames(plugin.HoudiniInstancePlugin): """Collect all frames which would be saved from the ROP nodes""" # This specific order value is used so that diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py index 6cf6bbf430..eb7d196d7f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py @@ -1,7 +1,7 @@ from collections import deque import pyblish.api - +from ayon_houdini.api import plugin from ayon_core.pipeline import registered_host @@ -80,7 +80,7 @@ def iter_upstream(node): collected.update(ancestors) -class CollectUpstreamInputs(pyblish.api.InstancePlugin): +class CollectUpstreamInputs(plugin.HoudiniInstancePlugin): """Collect source input containers used for this publish. This will include `inputs` data of which loaded publishes were used in the diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py index ddf4b60c66..dc344c15fb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py @@ -1,11 +1,11 @@ import hou import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import usdlib -class CollectInstancesUsdLayered(pyblish.api.ContextPlugin): +class CollectInstancesUsdLayered(plugin.HoudiniContextPlugin): """Collect Instances from a ROP Network and its configured layer paths. The output nodes of the ROP node will only be published when *any* of the diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py index 62ceed9999..0b2110df4e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py @@ -9,11 +9,12 @@ from ayon_houdini.api.lib import ( get_color_management_preferences ) from ayon_houdini.api import ( - colorspace + colorspace, + plugin ) -class CollectKarmaROPRenderProducts(pyblish.api.InstancePlugin): +class CollectKarmaROPRenderProducts(plugin.HoudiniInstancePlugin): """Collect Karma Render Products Collects the instance.data["files"] for the multipart render product. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py index 0b3eab725d..f94cb58202 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py @@ -6,9 +6,10 @@ from ayon_core.pipeline.publish import ( get_plugin_settings, apply_plugin_settings_automatically ) +from ayon_houdini.api import plugin -class CollectLocalRenderInstances(pyblish.api.InstancePlugin): +class CollectLocalRenderInstances(plugin.HoudiniInstancePlugin): """Collect instances for local render. Agnostic Local Render Collector. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py index 09d4c82226..f9b6dd837d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py @@ -9,11 +9,12 @@ from ayon_houdini.api.lib import ( get_color_management_preferences ) from ayon_houdini.api import ( - colorspace + colorspace, + plugin ) -class CollectMantraROPRenderProducts(pyblish.api.InstancePlugin): +class CollectMantraROPRenderProducts(plugin.HoudiniInstancePlugin): """Collect Mantra Render Products Collects the instance.data["files"] for the render products. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py index 26381e065e..dba2f0bf39 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py @@ -1,9 +1,9 @@ import pyblish.api - +from ayon_houdini.api import plugin from ayon_core.pipeline.publish import KnownPublishError -class CollectOutputSOPPath(pyblish.api.InstancePlugin): +class CollectOutputSOPPath(plugin.HoudiniInstancePlugin): """Collect the out node's SOP/COP Path value.""" order = pyblish.api.CollectorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py index 3323e97c20..fa5a75d1f9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_pointcache_type.py @@ -4,9 +4,9 @@ This will add additional family to pointcache instance based on the creator_identifier parameter. """ import pyblish.api +from ayon_houdini.api import plugin - -class CollectPointcacheType(pyblish.api.InstancePlugin): +class CollectPointcacheType(plugin.HoudiniInstancePlugin): """Collect data type for pointcache instance.""" order = pyblish.api.CollectorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py index 7982b53a7e..c1d5267d0a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py @@ -9,11 +9,12 @@ from ayon_houdini.api.lib import ( get_color_management_preferences ) from ayon_houdini.api import ( - colorspace + colorspace, + plugin ) -class CollectRedshiftROPRenderProducts(pyblish.api.InstancePlugin): +class CollectRedshiftROPRenderProducts(plugin.HoudiniInstancePlugin): """Collect USD Render Products Collects the instance.data["files"] for the render products. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py index 845a7c4a1f..b23c8f588a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py @@ -2,10 +2,10 @@ import pyblish.api import hou from ayon_core.pipeline.publish import RepairAction -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin -class CollectRemotePublishSettings(pyblish.api.ContextPlugin): +class CollectRemotePublishSettings(plugin.HoudiniContextPlugin): """Collect custom settings of the Remote Publish node.""" order = pyblish.api.CollectorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py index fcd80e0082..cded3ac509 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py @@ -5,6 +5,7 @@ import hou import pxr.UsdRender import pyblish.api +from ayon_houdini.api import plugin def get_var_changed(variable=None): @@ -41,7 +42,7 @@ def get_var_changed(variable=None): return changed -class CollectRenderProducts(pyblish.api.InstancePlugin): +class CollectRenderProducts(plugin.HoudiniInstancePlugin): """Collect USD Render Products.""" label = "Collect Render Products" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py index ed2de785a2..9a2af9b9d8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py @@ -1,8 +1,9 @@ import hou import pyblish.api +from ayon_houdini.api import plugin -class CollectHoudiniReviewData(pyblish.api.InstancePlugin): +class CollectHoudiniReviewData(plugin.HoudiniInstancePlugin): """Collect Review Data.""" label = "Collect Review Data" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py index 78dc5fe11a..84cd8377a8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_reviewable_instances.py @@ -1,7 +1,8 @@ import pyblish.api +from ayon_houdini.api import plugin -class CollectReviewableInstances(pyblish.api.InstancePlugin): +class CollectReviewableInstances(plugin.HoudiniInstancePlugin): """Collect Reviewable Instances. Basically, all instances of the specified families diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py index b0d69a14e7..01cf095da1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py @@ -2,10 +2,10 @@ """Collector plugin for frames data on ROP instances.""" import hou # noqa import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin -class CollectRopFrameRange(pyblish.api.InstancePlugin): +class CollectRopFrameRange(plugin.HoudiniInstancePlugin): """Collect all frames which would be saved from the ROP nodes""" hosts = ["houdini"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py index db9efec7a1..91203d88e2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py @@ -2,9 +2,10 @@ """Collector for staticMesh types. """ import pyblish.api +from ayon_houdini.api import plugin -class CollectStaticMeshType(pyblish.api.InstancePlugin): +class CollectStaticMeshType(plugin.HoudiniInstancePlugin): """Collect data type for fbx instance.""" hosts = ["houdini"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py index cd82f1679a..e6da8f665e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py @@ -1,10 +1,10 @@ import pyblish.api import ayon_api - +from ayon_houdini.api import plugin from ayon_core.pipeline import usdlib, KnownPublishError -class CollectUsdBootstrap(pyblish.api.InstancePlugin): +class CollectUsdBootstrap(plugin.HoudiniInstancePlugin): """Collect special Asset/Shot bootstrap instances if those are needed. Some specific products are intended to be part of the default structure diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py index 41990d84d9..38ca0e5764 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py @@ -1,12 +1,13 @@ import os import pyblish.api +from ayon_houdini.api import plugin import ayon_houdini.api.usd as usdlib import hou -class CollectUsdLayers(pyblish.api.InstancePlugin): +class CollectUsdLayers(plugin.HoudiniInstancePlugin): """Collect the USD Layers that have configured save paths.""" order = pyblish.api.CollectorOrder + 0.35 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py index 2fd2dbd599..a340cf818e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py @@ -9,11 +9,12 @@ from ayon_houdini.api.lib import ( get_color_management_preferences ) from ayon_houdini.api import ( - colorspace + colorspace, + plugin ) -class CollectVrayROPRenderProducts(pyblish.api.InstancePlugin): +class CollectVrayROPRenderProducts(plugin.HoudiniInstancePlugin): """Collect Vray Render Products Collects the instance.data["files"] for the render products. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py index aa533bcf1b..bfa1a754c3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py @@ -1,9 +1,9 @@ import os import pyblish.api +from ayon_houdini.api import plugin - -class CollectWorkfile(pyblish.api.InstancePlugin): +class CollectWorkfile(plugin.HoudiniInstancePlugin): """Inject workfile representation into instance""" order = pyblish.api.CollectorOrder - 0.01 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py index 6f6cc978cd..91ad0836bd 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py @@ -1,8 +1,9 @@ +from ayon_houdini.api import plugin import pyblish.api import hou -class CollectWorksceneFPS(pyblish.api.ContextPlugin): +class CollectWorksceneFPS(plugin.HoudiniContextPlugin): """Get the FPS of the work scene.""" label = "Workscene FPS" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index 172399479f..d126911f79 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -1,11 +1,10 @@ import pyblish.api import tempfile -from ayon_core.pipeline import publish -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin from ayon_houdini.api.pipeline import IS_HEADLESS -class ExtractActiveViewThumbnail(publish.Extractor): +class ExtractActiveViewThumbnail(plugin.HoudiniInstancePlugin): """Set instance thumbnail to a screengrab of current active viewport. This makes it so that if an instance does not have a thumbnail set yet that diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 824ac468a2..0e658ec963 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -2,13 +2,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractAlembic(publish.Extractor): +class ExtractAlembic(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Alembic" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index 23fe6678d4..a2e574483d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -2,13 +2,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractAss(publish.Extractor): +class ExtractAss(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Ass" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index e477b7a552..f3a3af6556 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -2,14 +2,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish from ayon_houdini.api.lib import render_rop -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin import hou -class ExtractBGEO(publish.Extractor): +class ExtractBGEO(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract BGEO" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index ca4c738a6a..b7061c6bcb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -2,12 +2,13 @@ import os import pyblish.api from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop, splitext import hou -class ExtractComposite(publish.Extractor, +class ExtractComposite(plugin.HoudiniInstancePlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index de1d8d3b3b..638c3c82d2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -3,13 +3,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractFBX(publish.Extractor): +class ExtractFBX(plugin.HoudiniInstancePlugin): label = "Extract FBX" families = ["fbx"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py index 5fe83e0dcf..3931edbb9e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py @@ -2,11 +2,11 @@ import os from pprint import pformat import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin import hou -class ExtractHDA(publish.Extractor): +class ExtractHDA(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract HDA" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py index f0bcf4b371..40dcc3e426 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py @@ -2,12 +2,12 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin import hou -class ExtractMantraIFD(publish.Extractor): +class ExtractMantraIFD(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Mantra ifd" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index 6d608aacfa..c667ca3ca2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -3,12 +3,13 @@ import os import pyblish.api from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractOpenGL(publish.Extractor, +class ExtractOpenGL(plugin.HoudiniInstancePlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder - 0.01 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index 634322b310..b445fdadb3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -2,13 +2,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractRedshiftProxy(publish.Extractor): +class ExtractRedshiftProxy(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Redshift Proxy" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 0506c7c8d5..6c5c0dbe00 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -1,12 +1,12 @@ import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou import os -class ExtractRender(publish.Extractor): +class ExtractRender(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Render" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index 54051934d7..74e89614a0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -3,12 +3,12 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractUSD(publish.Extractor): +class ExtractUSD(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract USD" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py index df2bd0c4b6..40ae140a59 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py @@ -7,10 +7,8 @@ import hou import ayon_api import pyblish.api -from ayon_core.pipeline import ( - get_representation_path, - publish, -) +from ayon_core.pipeline import get_representation_path +from ayon_houdini.api import plugin import ayon_houdini.api.usd as hou_usdlib from ayon_houdini.api.lib import render_rop @@ -154,7 +152,7 @@ def parm_values(overrides): parm.set(value) -class ExtractUSDLayered(publish.Extractor): +class ExtractUSDLayered(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Layered USD" @@ -312,3 +310,14 @@ class ExtractUSDLayered(publish.Extractor): return False return filecmp.cmp(old_file, new_file) + + def staging_dir(self, instance): + """Provide a temporary directory in which to store extracted files + + Upon calling this method the staging directory is stored inside + the instance.data['stagingDir'] + """ + + from ayon_core.pipeline.publish import get_instance_staging_dir + + return get_instance_staging_dir(instance) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index e1146e4978..148992001c 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -2,13 +2,13 @@ import os import pyblish.api -from ayon_core.pipeline import publish +from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop import hou -class ExtractVDBCache(publish.Extractor): +class ExtractVDBCache(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract VDB Cache" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py index 3e9291d5c2..f858c11830 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py @@ -1,4 +1,5 @@ import pyblish.api +from ayon_houdini.api import plugin from ayon_core.lib import version_up from ayon_core.pipeline import registered_host @@ -6,7 +7,7 @@ from ayon_core.pipeline.publish import get_errored_plugins_from_context from ayon_core.pipeline.publish import KnownPublishError -class IncrementCurrentFile(pyblish.api.ContextPlugin): +class IncrementCurrentFile(plugin.HoudiniContextPlugin): """Increment the current file. Saves the current scene with an increased version number. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py index 7c453038ea..43e9b95068 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py @@ -1,9 +1,10 @@ import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import registered_host -class SaveCurrentScene(pyblish.api.ContextPlugin): +class SaveCurrentScene(plugin.HoudiniContextPlugin): """Save current scene""" label = "Save current file" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py index 18a459bf7b..a6b6530b78 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from collections import defaultdict from ayon_core.pipeline import PublishValidationError -class ValidateAbcPrimitiveToDetail(pyblish.api.InstancePlugin): +class ValidateAbcPrimitiveToDetail(plugin.HoudiniInstancePlugin): """Validate Alembic ROP Primitive to Detail attribute is consistent. The Alembic ROP crashes Houdini whenever an attribute in the "Primitive to diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py index 40114bc40e..fa456ea395 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin import hou -class ValidateAlembicROPFaceSets(pyblish.api.InstancePlugin): +class ValidateAlembicROPFaceSets(plugin.HoudiniInstancePlugin): """Validate Face Sets are disabled for extraction to pointcache. When groups are saved as Face Sets with the Alembic these show up diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py index dbc38058e6..967b82d573 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateAlembicInputNode(pyblish.api.InstancePlugin): +class ValidateAlembicInputNode(plugin.HoudiniInstancePlugin): """Validate that the node connected to the output is correct. The connected node cannot be of the following types for Alembic: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py index 14bd3a05bd..e0c87f4962 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py @@ -1,11 +1,11 @@ import pyblish.api from ayon_core.pipeline.publish import PublishValidationError -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin import hou -class ValidateAnimationSettings(pyblish.api.InstancePlugin): +class ValidateAnimationSettings(plugin.HoudiniInstancePlugin): """Validate if the unexpanded string contains the frame ('$F') token This validator will only check the output parameter of the node if diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py index 8a83ff42fb..0be7a15cbc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateBypassed(pyblish.api.InstancePlugin): +class ValidateBypassed(plugin.HoudiniInstancePlugin): """Validate all primitives build hierarchy from attribute when enabled. The name of the attribute must exist on the prims and have the same name diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py index ad4ace988a..daa0f659f1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- """Validator plugin for Houdini Camera ROP settings.""" import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -class ValidateCameraROP(pyblish.api.InstancePlugin): +class ValidateCameraROP(plugin.HoudiniInstancePlugin): """Validate Camera ROP settings.""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py index 91bd36018a..9ed326e153 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import hou import pyblish.api - +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -class ValidateCopOutputNode(pyblish.api.InstancePlugin): +class ValidateCopOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance COP Output Node. This will ensure: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py index 24d8c27bd6..2b2136c607 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py @@ -5,11 +5,12 @@ from ayon_houdini.api.action import ( SelectInvalidAction, SelectROPAction, ) +from ayon_houdini.api import plugin from ayon_houdini.api.lib import get_obj_node_output import hou -class ValidateFBXOutputNode(pyblish.api.InstancePlugin): +class ValidateFBXOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance Output Node. This will ensure: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py index 43083feeea..0b9fa1fe9f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py @@ -2,13 +2,13 @@ import os import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateFileExtension(pyblish.api.InstancePlugin): +class ValidateFileExtension(plugin.HoudiniInstancePlugin): """Validate the output file extension fits the output family. File extensions: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py index 08f82e12b8..31a0ecd2de 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py @@ -3,7 +3,7 @@ import pyblish.api from ayon_core.pipeline import PublishValidationError from ayon_core.pipeline.publish import RepairAction from ayon_houdini.api.action import SelectInvalidAction - +from ayon_houdini.api import plugin import hou @@ -12,7 +12,7 @@ class DisableUseFolderHandlesAction(RepairAction): icon = "mdi.toggle-switch-off" -class ValidateFrameRange(pyblish.api.InstancePlugin): +class ValidateFrameRange(plugin.HoudiniInstancePlugin): """Validate Frame Range. Due to the usage of start and end handles, diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py index 1b8c167869..135062ff18 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py @@ -1,10 +1,10 @@ import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin import hou -class ValidateFrameToken(pyblish.api.InstancePlugin): +class ValidateFrameToken(plugin.HoudiniInstancePlugin): """Validate if the unexpanded string contains the frame ('$F') token. This validator will *only* check the output parameter of the node if diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py index 9a68c34405..b442dd1bc6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateHoudiniNotApprenticeLicense(pyblish.api.InstancePlugin): +class ValidateHoudiniNotApprenticeLicense(plugin.HoudiniInstancePlugin): """Validate the Houdini instance runs a non Apprentice license. USD ROPs: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py index 25f38c4600..0272765c47 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """Validate if instance asset is the same as context asset.""" -import pyblish.api +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectROPAction from ayon_core.pipeline.publish import ( RepairAction, @@ -11,7 +11,7 @@ from ayon_core.pipeline.publish import ( ) -class ValidateInstanceInContextHoudini(pyblish.api.InstancePlugin, +class ValidateInstanceInContextHoudini(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validator to check if instance asset match context asset. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py index 6f78b9f4ff..89f0d92140 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py @@ -1,17 +1,17 @@ # -*- coding: utf-8 -*- """Validator for correct naming of Static Meshes.""" -import pyblish.api from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin ) from ayon_core.pipeline.publish import ValidateContentsOrder +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction from ayon_houdini.api.lib import get_output_children -class ValidateMeshIsStatic(pyblish.api.InstancePlugin, +class ValidateMeshIsStatic(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate mesh is static. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py index 38f1c4e176..b4e48d1379 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -class ValidateIntermediateDirectoriesChecked(pyblish.api.InstancePlugin): +class ValidateIntermediateDirectoriesChecked(plugin.HoudiniInstancePlugin): """Validate Create Intermediate Directories is enabled on ROP node.""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py index ae1e5cad27..4ad5a70930 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api import hou +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError @@ -26,7 +27,7 @@ def get_errors(node): return node.errors() -class ValidateNoErrors(pyblish.api.InstancePlugin): +class ValidateNoErrors(plugin.HoudiniInstancePlugin): """Validate the Instance has no current cooking errors.""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py index f63cb23138..47e1c8b4ac 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError from ayon_core.pipeline.publish import ( ValidateContentsOrder, @@ -14,7 +14,7 @@ class AddDefaultPathAction(RepairAction): icon = "mdi.pencil-plus-outline" -class ValidatePrimitiveHierarchyPaths(pyblish.api.InstancePlugin): +class ValidatePrimitiveHierarchyPaths(plugin.HoudiniInstancePlugin): """Validate all primitives build hierarchy from attribute when enabled. The name of the attribute must exist on the prims and have the same name diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py index 801ed08ce6..e254c4cc2f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py @@ -1,14 +1,14 @@ # -*-coding: utf-8 -*- import pyblish.api -from ayon_houdini.api import lib +from ayon_houdini.api import lib, plugin from ayon_core.pipeline.publish import RepairContextAction from ayon_core.pipeline import PublishValidationError import hou -class ValidateRemotePublishOutNode(pyblish.api.ContextPlugin): +class ValidateRemotePublishOutNode(plugin.HoudiniContextPlugin): """Validate the remote publish out node exists for Deadline to trigger.""" order = pyblish.api.ValidatorOrder - 0.4 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py index d4c6e7a45e..f47f1e46e3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py @@ -2,11 +2,12 @@ import pyblish.api import hou +from ayon_houdini.api import plugin from ayon_core.pipeline.publish import RepairContextAction from ayon_core.pipeline import PublishValidationError -class ValidateRemotePublishEnabled(pyblish.api.ContextPlugin): +class ValidateRemotePublishEnabled(plugin.HoudiniContextPlugin): """Validate the remote publish node is *not* bypassed.""" order = pyblish.api.ValidatorOrder - 0.39 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py index 30a8a35dca..a5d39378d2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py @@ -9,6 +9,7 @@ from ayon_core.pipeline.publish import ( get_plugin_settings, apply_plugin_settings_automatically ) +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectROPAction import os @@ -20,7 +21,7 @@ class ResetViewSpaceAction(RepairAction): icon = "mdi.monitor" -class ValidateReviewColorspace(pyblish.api.InstancePlugin, +class ValidateReviewColorspace(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate Review Colorspace parameters. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py index 0b09306b0d..a1ce0978e7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateSceneReview(pyblish.api.InstancePlugin): +class ValidateSceneReview(plugin.HoudiniInstancePlugin): """Validator Some Scene Settings before publishing the review 1. Scene Path 2. Resolution diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py index 59fa8cb134..7d33f6ef79 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py @@ -1,6 +1,8 @@ # -*- coding: utf-8 -*- import pyblish.api from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api import plugin from ayon_houdini.api.action import ( SelectInvalidAction, SelectROPAction, @@ -9,7 +11,7 @@ from ayon_houdini.api.action import ( import hou -class ValidateSopOutputNode(pyblish.api.InstancePlugin): +class ValidateSopOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance SOP Output Node. This will ensure: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py index 3d284a4eec..ace888f6f6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- """Validator for correct naming of Static Meshes.""" -import pyblish.api from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin @@ -9,6 +8,7 @@ from ayon_core.pipeline.publish import ( ValidateContentsOrder, RepairAction, ) +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction from ayon_core.pipeline.create import get_product_name @@ -19,7 +19,7 @@ class FixProductNameAction(RepairAction): label = "Fix Product Name" -class ValidateSubsetName(pyblish.api.InstancePlugin, +class ValidateSubsetName(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate Product name. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py index 6b7c980fa2..5cae07d708 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py @@ -1,19 +1,19 @@ # -*- coding: utf-8 -*- """Validator for correct naming of Static Meshes.""" -import pyblish.api from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin ) from ayon_core.pipeline.publish import ValidateContentsOrder +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction from ayon_houdini.api.lib import get_output_children import hou -class ValidateUnrealStaticMeshName(pyblish.api.InstancePlugin, +class ValidateUnrealStaticMeshName(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate name of Unreal Static Mesh. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py index 3dcf7206f1..4ad977c8cc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- import pyblish.api - +from ayon_houdini.api import plugin import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError import hou -class ValidateUSDLayerPathBackslashes(pyblish.api.InstancePlugin): +class ValidateUSDLayerPathBackslashes(plugin.HoudiniInstancePlugin): """Validate USD loaded paths have no backslashes. This is a crucial validation for HUSK USD rendering as Houdini's diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py index 34440b70b0..c37f278c7e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- import pyblish.api - +from ayon_houdini.api import plugin import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError @@ -17,7 +17,7 @@ def fullname(o): return module + "." + o.__name__ -class ValidateUsdModel(pyblish.api.InstancePlugin): +class ValidateUsdModel(plugin.HoudiniInstancePlugin): """Validate USD Model. Disallow Shaders, Render settings, products and vars and Lux lights. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py index 968d64e8fc..bede13a3ca 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -class ValidateUSDOutputNode(pyblish.api.InstancePlugin): +class ValidateUSDOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance USD LOPs Output Node. This will ensure: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py index 4825b7cc71..5f7d77de86 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import os import pyblish.api - +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -class ValidateUSDRenderProductNames(pyblish.api.InstancePlugin): +class ValidateUSDRenderProductNames(plugin.HoudiniInstancePlugin): """Validate USD Render Product names are correctly set absolute paths.""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py index dc773b6770..9cc5ab8b38 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import pyblish.api - +from ayon_houdini.api import plugin import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError -class ValidateUsdSetDress(pyblish.api.InstancePlugin): +class ValidateUsdSetDress(plugin.HoudiniInstancePlugin): """Validate USD Set Dress. Must only have references or payloads. May not generate new mesh or diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py index 048d675c00..e56ed6cf89 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py @@ -2,7 +2,7 @@ import re import ayon_api -import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline.publish import ( ValidateContentsOrder, @@ -11,7 +11,7 @@ from ayon_core.pipeline.publish import ( ) -class ValidateUSDShadeModelExists(pyblish.api.InstancePlugin): +class ValidateUSDShadeModelExists(plugin.HoudiniInstancePlugin): """Validate the Instance has no current cooking errors.""" order = ValidateContentsOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py index 2ea4b5d816..f33fde1ae8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError import hou -class ValidateUsdShadeWorkspace(pyblish.api.InstancePlugin): +class ValidateUsdShadeWorkspace(plugin.HoudiniInstancePlugin): """Validate USD Shading Workspace is correct version. There have been some issues with outdated/erroneous Shading Workspaces diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py index 5c662c0084..c570285cb7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py @@ -5,6 +5,7 @@ import pyblish.api import hou from ayon_core.pipeline import PublishXmlValidationError +from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction @@ -60,7 +61,7 @@ def get_geometry_at_frame(sop_node, frame, force=True): return sop_node.geometryAtFrame(frame) -class ValidateVDBOutputNode(pyblish.api.InstancePlugin): +class ValidateVDBOutputNode(plugin.HoudiniInstancePlugin): """Validate that the node connected to the output node is of type VDB. All primitives of the output geometry must be VDBs, no other primitive diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py index f2008b8281..232ae4782a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- import pyblish.api import hou +from ayon_houdini.api import plugin from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin @@ -9,7 +10,7 @@ from ayon_core.pipeline.publish import RepairAction class ValidateWorkfilePaths( - pyblish.api.InstancePlugin, OptionalPyblishPluginMixin): + plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): """Validate workfile paths so they are absolute.""" order = pyblish.api.ValidatorOrder From c4ec025216e48b5ac4bd7949cb32240c7582ef1a Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 22:13:59 +0300 Subject: [PATCH 016/124] add missing blank line --- server_addon/houdini/client/ayon_houdini/api/plugin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 2c4b5749a6..7a2478f688 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -352,6 +352,7 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): for key, value in settings.items(): setattr(self, key, value) + class HoudiniLoader(load.LoaderPlugin): """Base class for most of the Houdini load plugins.""" From 753fab2197631b9bc478fca49ace71c1522f0453 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 22:15:11 +0300 Subject: [PATCH 017/124] use a constant for settings category --- server_addon/houdini/client/ayon_houdini/api/plugin.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 7a2478f688..ea155274a8 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -21,6 +21,9 @@ from .lib import imprint, read, lsattr, add_self_publish_button import pyblish.api +SETTINGS_CATEGORY = "houdini" + + class Creator(LegacyCreator): """Creator plugin to create instances in Houdini @@ -356,16 +359,16 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): class HoudiniLoader(load.LoaderPlugin): """Base class for most of the Houdini load plugins.""" - settings_category = "houdini" + settings_category = SETTINGS_CATEGORY class HoudiniInstancePlugin(pyblish.api.InstancePlugin): """Base class for most of the Houdini instance publish plugins.""" - settings_category = "houdini" + settings_category = SETTINGS_CATEGORY class HoudiniContextPlugin(pyblish.api.ContextPlugin): """Base class for most of the Houdini context publish plugins.""" - settings_category = "houdini" + settings_category = SETTINGS_CATEGORY From d90fb46bfc3d08d977245bd95383c5a3cfcc0ebe Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 21 May 2024 22:15:31 +0300 Subject: [PATCH 018/124] use a constant for settings category --- server_addon/houdini/client/ayon_houdini/api/plugin.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index ea155274a8..a5557455bc 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -174,7 +174,7 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): settings_name = None add_publish_button = False - settings_category = "houdini" + settings_category = SETTINGS_CATEGORY def create(self, product_name, instance_data, pre_create_data): try: From ddf75b5e8916b853518abac40335460adceab7cb Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 22 May 2024 22:41:03 +0800 Subject: [PATCH 019/124] add ayon menu to version up saving workfile --- client/ayon_core/hosts/maya/api/lib.py | 8 ++++++++ client/ayon_core/hosts/maya/api/menu.py | 5 ++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/hosts/maya/api/lib.py b/client/ayon_core/hosts/maya/api/lib.py index 2b41ffc06c..59b8cfeb16 100644 --- a/client/ayon_core/hosts/maya/api/lib.py +++ b/client/ayon_core/hosts/maya/api/lib.py @@ -22,6 +22,7 @@ from maya.api import OpenMaya import ayon_api from ayon_core.settings import get_project_settings +from ayon_core.lib import version_up from ayon_core.pipeline import ( get_current_project_name, get_current_folder_path, @@ -3390,6 +3391,13 @@ def set_colorspace(): _colormanage(viewTransformName=view_name) +def version_up_workfile(): + host = registered_host() + current_file = host.get_current_workfile() + filepath = version_up(current_file) + host.save_workfile(filepath) + + @contextlib.contextmanager def parent_nodes(nodes, parent=None): # type: (list, str) -> list diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index e3ef50cdc0..9b7670cfbb 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -123,7 +123,10 @@ def install(project_settings): parent=parent_widget ), ) - + cmds.menuItem( + "Version Up Workfile", + command=lambda *args: lib.version_up_workfile() + ) cmds.menuItem( "Set Frame Range", command=lambda *args: lib.reset_frame_range() From 5e957c50c8aeba2a89a5049ca154e670c22d8412 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 22 May 2024 22:49:21 +0800 Subject: [PATCH 020/124] add condition to check if there is a current file --- client/ayon_core/hosts/maya/api/lib.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/client/ayon_core/hosts/maya/api/lib.py b/client/ayon_core/hosts/maya/api/lib.py index 59b8cfeb16..204f851b2b 100644 --- a/client/ayon_core/hosts/maya/api/lib.py +++ b/client/ayon_core/hosts/maya/api/lib.py @@ -3392,8 +3392,12 @@ def set_colorspace(): def version_up_workfile(): + """Function to increment and save workfile + """ host = registered_host() current_file = host.get_current_workfile() + if not current_file: + return None filepath = version_up(current_file) host.save_workfile(filepath) From d56628e68bb1fa901ee34372f71170f4cd9105a5 Mon Sep 17 00:00:00 2001 From: Mustafa Taher Date: Wed, 22 May 2024 20:07:03 +0300 Subject: [PATCH 021/124] remove `app_host_name` Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- server_addon/houdini/package.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index 467806f364..9e5fe56e34 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -2,8 +2,6 @@ name = "houdini" title = "Houdini" version = "0.3.0" -app_host_name = "houdini" - client_dir = "ayon_houdini" ayon_required_addons = { From 84c355e65e6bd2a5b5047706950820acd721a9dd Mon Sep 17 00:00:00 2001 From: Mustafa Taher Date: Thu, 23 May 2024 18:23:02 +0300 Subject: [PATCH 022/124] update required core version inside houdini package Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- server_addon/houdini/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/houdini/package.py b/server_addon/houdini/package.py index 9e5fe56e34..275d21c1bf 100644 --- a/server_addon/houdini/package.py +++ b/server_addon/houdini/package.py @@ -5,6 +5,6 @@ version = "0.3.0" client_dir = "ayon_houdini" ayon_required_addons = { - "core": ">0.3.1", + "core": ">0.3.2", } ayon_compatible_addons = {} From a47c329273bff64b0761e1cb6b2aaae1ead8ad6c Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Fri, 24 May 2024 16:35:40 +0300 Subject: [PATCH 023/124] fix imports order --- .../houdini/client/ayon_houdini/api/plugin.py | 3 ++- .../client/ayon_houdini/plugins/load/load_camera.py | 4 ++-- .../ayon_houdini/plugins/load/load_filepath.py | 2 +- .../client/ayon_houdini/plugins/load/load_image.py | 3 +-- .../ayon_houdini/plugins/load/load_redshift_proxy.py | 7 ++++--- .../plugins/publish/collect_active_state.py | 3 ++- .../plugins/publish/collect_arnold_rop.py | 4 +++- .../plugins/publish/collect_asset_handles.py | 1 - .../plugins/publish/collect_cache_farm.py | 8 +++++--- .../ayon_houdini/plugins/publish/collect_inputs.py | 2 +- .../plugins/publish/collect_instances_usd_layered.py | 2 +- .../plugins/publish/collect_output_node.py | 2 +- .../plugins/publish/collect_remote_publish.py | 2 +- .../plugins/publish/collect_usd_bootstrap.py | 2 +- .../plugins/publish/collect_usd_layers.py | 4 +--- .../plugins/publish/collect_workscene_fps.py | 4 ++-- .../plugins/publish/extract_active_view_thumbnail.py | 2 +- .../ayon_houdini/plugins/publish/extract_alembic.py | 3 +-- .../ayon_houdini/plugins/publish/extract_ass.py | 3 +-- .../ayon_houdini/plugins/publish/extract_bgeo.py | 6 ++---- .../plugins/publish/extract_composite.py | 3 +-- .../ayon_houdini/plugins/publish/extract_fbx.py | 3 +-- .../ayon_houdini/plugins/publish/extract_hda.py | 2 +- .../plugins/publish/extract_mantra_ifd.py | 3 +-- .../ayon_houdini/plugins/publish/extract_opengl.py | 3 +-- .../plugins/publish/extract_redshift_proxy.py | 3 +-- .../ayon_houdini/plugins/publish/extract_render.py | 5 +++-- .../ayon_houdini/plugins/publish/extract_usd.py | 3 +-- .../plugins/publish/extract_vdb_cache.py | 3 +-- .../plugins/publish/increment_current_file.py | 9 ++++++--- .../ayon_houdini/plugins/publish/save_scene.py | 3 ++- .../publish/validate_abc_primitive_to_detail.py | 7 ++++--- .../plugins/publish/validate_alembic_face_sets.py | 3 ++- .../plugins/publish/validate_alembic_input_node.py | 7 ++++--- .../plugins/publish/validate_animation_settings.py | 9 +++++---- .../ayon_houdini/plugins/publish/validate_bypass.py | 6 ++++-- .../plugins/publish/validate_camera_rop.py | 3 ++- .../plugins/publish/validate_cop_output_node.py | 4 +++- .../plugins/publish/validate_file_extension.py | 6 +++--- .../plugins/publish/validate_frame_range.py | 5 ++++- .../plugins/publish/validate_frame_token.py | 3 ++- .../publish/validate_houdini_license_category.py | 8 +++++--- .../plugins/publish/validate_instance_in_context.py | 6 +++--- .../plugins/publish/validate_mkpaths_toggled.py | 4 +++- .../plugins/publish/validate_no_errors.py | 6 ++++-- .../publish/validate_primitive_hierarchy_paths.py | 4 ++-- .../plugins/publish/validate_remote_publish.py | 6 +++--- .../publish/validate_remote_publish_enabled.py | 7 ++++--- .../plugins/publish/validate_review_colorspace.py | 7 ++++--- .../plugins/publish/validate_scene_review.py | 8 +++++--- .../plugins/publish/validate_sop_output_node.py | 4 ++-- .../plugins/publish/validate_subset_name.py | 5 +++-- .../publish/validate_unreal_staticmesh_naming.py | 4 ++-- .../publish/validate_usd_layer_path_backslashes.py | 7 ++++--- .../plugins/publish/validate_usd_model_and_shade.py | 12 ++++++------ .../plugins/publish/validate_usd_output_node.py | 4 +++- .../publish/validate_usd_render_product_names.py | 4 +++- .../plugins/publish/validate_usd_setdress.py | 5 +++-- .../publish/validate_usd_shade_model_exists.py | 4 ++-- .../plugins/publish/validate_usd_shade_workspace.py | 5 +++-- .../plugins/publish/validate_vdb_output_node.py | 4 ++-- .../plugins/publish/validate_workfile_paths.py | 6 ++++-- 62 files changed, 155 insertions(+), 125 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index a5557455bc..05a948984b 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -7,6 +7,7 @@ from abc import ( import six import hou +import pyblish.api from ayon_core.pipeline import ( CreatorError, LegacyCreator, @@ -17,8 +18,8 @@ from ayon_core.pipeline import ( load ) from ayon_core.lib import BoolDef + from .lib import imprint, read, lsattr, add_self_publish_button -import pyblish.api SETTINGS_CATEGORY = "houdini" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py index a9e50fe0a4..b597519813 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_camera.py @@ -1,4 +1,6 @@ +import hou from ayon_core.pipeline import get_representation_path + from ayon_houdini.api import ( pipeline, plugin @@ -8,8 +10,6 @@ from ayon_houdini.api.lib import ( get_camera_from_container ) -import hou - ARCHIVE_EXPRESSION = ('__import__("_alembic_hom_extensions")' '.alembicGetCameraDict') diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py index a5d2f661bf..2ce9bd7ffb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_filepath.py @@ -1,11 +1,11 @@ import os import re +import hou from ayon_houdini.api import ( pipeline, plugin ) -import hou class FilePathLoader(plugin.HoudiniLoader): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py index 8fc1dc4b98..9d4cd2fb18 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_image.py @@ -1,5 +1,6 @@ import os import re +import hou from ayon_core.pipeline import ( get_representation_path, @@ -11,8 +12,6 @@ from ayon_houdini.api import ( lib ) -import hou - def get_image_avalon_container(): """The COP2 files must be in a COP2 network. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py index 583af6151d..514dbe109f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/load/load_redshift_proxy.py @@ -1,13 +1,14 @@ import os import re +import hou + from ayon_core.pipeline import get_representation_path +from ayon_core.pipeline.load import LoadError + from ayon_houdini.api import ( pipeline, plugin ) -from ayon_core.pipeline.load import LoadError - -import hou class RedshiftProxyLoader(plugin.HoudiniLoader): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py index f0c8964af5..73c11368b4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py @@ -1,6 +1,7 @@ +import hou + import pyblish.api from ayon_houdini.api import plugin -import hou class CollectInstanceActiveState(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py index c88f5d878f..0682ce8b9b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py @@ -6,7 +6,9 @@ import pyblish.api from ayon_houdini.api import colorspace, plugin from ayon_houdini.api.lib import ( - evalParmNoFrame, get_color_management_preferences) + get_color_management_preferences, + evalParmNoFrame +) class CollectArnoldROPRenderProducts(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py index b3a13ea290..4bb3228c54 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- """Collector plugin for frames data on ROP instances.""" -import hou # noqa import pyblish.api from ayon_core.lib import BoolDef from ayon_core.pipeline import AYONPyblishPluginMixin diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py index 8925800545..9c41e68362 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py @@ -1,8 +1,10 @@ import os -import pyblish.api import hou -from ayon_houdini.api import lib -from ayon_houdini.api import plugin +import pyblish.api +from ayon_houdini.api import ( + lib, + plugin +) class CollectDataforCache(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py index eb7d196d7f..6a815f8d08 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py @@ -1,8 +1,8 @@ from collections import deque import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import registered_host +from ayon_houdini.api import plugin def get_container_members(container): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py index dc344c15fb..ca94c50372 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py @@ -1,8 +1,8 @@ import hou import pyblish.api +from ayon_core.pipeline import usdlib from ayon_houdini.api import lib, plugin import ayon_houdini.api.usd as hou_usdlib -from ayon_core.pipeline import usdlib class CollectInstancesUsdLayered(plugin.HoudiniContextPlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py index 29522724a6..a1f0e261d0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py @@ -1,6 +1,6 @@ import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline.publish import KnownPublishError +from ayon_houdini.api import plugin class CollectOutputSOPPath(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py index b23c8f588a..b1b77aceb9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py @@ -1,6 +1,6 @@ +import hou import pyblish.api -import hou from ayon_core.pipeline.publish import RepairAction from ayon_houdini.api import lib, plugin diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py index e6da8f665e..e180cc1899 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py @@ -1,8 +1,8 @@ import pyblish.api import ayon_api -from ayon_houdini.api import plugin from ayon_core.pipeline import usdlib, KnownPublishError +from ayon_houdini.api import plugin class CollectUsdBootstrap(plugin.HoudiniInstancePlugin): """Collect special Asset/Shot bootstrap instances if those are needed. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py index 38ca0e5764..f8ed0b0931 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py @@ -1,11 +1,9 @@ import os - +import hou import pyblish.api from ayon_houdini.api import plugin import ayon_houdini.api.usd as usdlib -import hou - class CollectUsdLayers(plugin.HoudiniInstancePlugin): """Collect the USD Layers that have configured save paths.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py index 91ad0836bd..7274523f66 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py @@ -1,6 +1,6 @@ -from ayon_houdini.api import plugin -import pyblish.api import hou +import pyblish.api +from ayon_houdini.api import plugin class CollectWorksceneFPS(plugin.HoudiniContextPlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index d126911f79..36f20b6e48 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -1,5 +1,5 @@ -import pyblish.api import tempfile +import pyblish.api from ayon_houdini.api import lib, plugin from ayon_houdini.api.pipeline import IS_HEADLESS diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 0e658ec963..702c0f9687 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -1,12 +1,11 @@ import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractAlembic(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index a2e574483d..bceafde75f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -1,12 +1,11 @@ import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractAss(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index f3a3af6556..221b073bf0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -1,12 +1,10 @@ import os +import hou import pyblish.api -from ayon_houdini.api.lib import render_rop from ayon_houdini.api import lib, plugin -import hou - class ExtractBGEO(plugin.HoudiniInstancePlugin): @@ -31,7 +29,7 @@ class ExtractBGEO(plugin.HoudiniInstancePlugin): file_name, staging_dir)) # write files - render_rop(ropnode) + lib.render_rop(ropnode) output = instance.data["frames"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index b7061c6bcb..4059367914 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -1,12 +1,11 @@ import os +import hou import pyblish.api from ayon_core.pipeline import publish from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop, splitext -import hou - class ExtractComposite(plugin.HoudiniInstancePlugin, publish.ColormanagedPyblishPluginMixin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index 638c3c82d2..9f5cbc5fc2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -2,12 +2,11 @@ """Fbx Extractor for houdini. """ import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractFBX(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py index 3931edbb9e..8f83d26930 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- import os from pprint import pformat +import hou import pyblish.api from ayon_houdini.api import plugin -import hou class ExtractHDA(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py index 40dcc3e426..29e1a1a93b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py @@ -1,11 +1,10 @@ import os +import hou import pyblish.api from ayon_houdini.api import plugin -import hou - class ExtractMantraIFD(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index c667ca3ca2..c08f9875c5 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -1,4 +1,5 @@ import os +import hou import pyblish.api @@ -6,8 +7,6 @@ from ayon_core.pipeline import publish from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractOpenGL(plugin.HoudiniInstancePlugin, publish.ColormanagedPyblishPluginMixin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index b445fdadb3..b425ed52ac 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -1,12 +1,11 @@ import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractRedshiftProxy(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 6c5c0dbe00..91ad77c144 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -1,9 +1,10 @@ +import os +import hou + import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou -import os class ExtractRender(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index 74e89614a0..321bdcb12e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -1,12 +1,11 @@ - import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou class ExtractUSD(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index 148992001c..7275229422 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -1,12 +1,11 @@ import os +import hou import pyblish.api from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -import hou - class ExtractVDBCache(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py index f858c11830..57acf5b3af 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py @@ -1,10 +1,13 @@ import pyblish.api -from ayon_houdini.api import plugin from ayon_core.lib import version_up from ayon_core.pipeline import registered_host -from ayon_core.pipeline.publish import get_errored_plugins_from_context -from ayon_core.pipeline.publish import KnownPublishError +from ayon_core.pipeline.publish import ( + get_errored_plugins_from_context, + KnownPublishError +) + +from ayon_houdini.api import plugin class IncrementCurrentFile(plugin.HoudiniContextPlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py index 43e9b95068..f675952bfb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py @@ -1,8 +1,9 @@ import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import registered_host +from ayon_houdini.api import plugin + class SaveCurrentScene(plugin.HoudiniContextPlugin): """Save current scene""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py index a6b6530b78..f9b0496c6f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- -import pyblish.api -from ayon_houdini.api import plugin - from collections import defaultdict + +import pyblish.api from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateAbcPrimitiveToDetail(plugin.HoudiniInstancePlugin): """Validate Alembic ROP Primitive to Detail attribute is consistent. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py index fa456ea395..13365ecfd6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py @@ -1,7 +1,8 @@ # -*- coding: utf-8 -*- +import hou import pyblish.api from ayon_houdini.api import plugin -import hou + class ValidateAlembicROPFaceSets(plugin.HoudiniInstancePlugin): """Validate Face Sets are disabled for extraction to pointcache. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py index 967b82d573..38ead0f9f0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- -import pyblish.api -from ayon_houdini.api import plugin -from ayon_core.pipeline import PublishValidationError import hou +import pyblish.api +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api import plugin class ValidateAlembicInputNode(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py index e0c87f4962..1cc9e24dc9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_animation_settings.py @@ -1,9 +1,10 @@ -import pyblish.api - -from ayon_core.pipeline.publish import PublishValidationError -from ayon_houdini.api import lib, plugin import hou +import pyblish.api +from ayon_core.pipeline.publish import PublishValidationError + +from ayon_houdini.api import lib, plugin + class ValidateAnimationSettings(plugin.HoudiniInstancePlugin): """Validate if the unexpanded string contains the frame ('$F') token diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py index 0be7a15cbc..4a044bc9ad 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- +import hou + import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -import hou +from ayon_houdini.api import plugin + class ValidateBypassed(plugin.HoudiniInstancePlugin): """Validate all primitives build hierarchy from attribute when enabled. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py index daa0f659f1..f9e6b036b8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- """Validator plugin for Houdini Camera ROP settings.""" import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateCameraROP(plugin.HoudiniInstancePlugin): """Validate Camera ROP settings.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py index 9ed326e153..c593a96b9d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- import hou + import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateCopOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance COP Output Node. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py index 0b9fa1fe9f..cb8e0952bc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py @@ -1,11 +1,11 @@ # -*- coding: utf-8 -*- import os -import pyblish.api +import hou -from ayon_houdini.api import lib, plugin +import pyblish.api from ayon_core.pipeline import PublishValidationError -import hou +from ayon_houdini.api import lib, plugin class ValidateFileExtension(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py index 31a0ecd2de..f543497407 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py @@ -1,10 +1,13 @@ # -*- coding: utf-8 -*- +import hou + import pyblish.api from ayon_core.pipeline import PublishValidationError from ayon_core.pipeline.publish import RepairAction + from ayon_houdini.api.action import SelectInvalidAction from ayon_houdini.api import plugin -import hou + class DisableUseFolderHandlesAction(RepairAction): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py index 135062ff18..46c02ba6f2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_token.py @@ -1,7 +1,8 @@ +import hou + import pyblish.api from ayon_houdini.api import lib, plugin -import hou class ValidateFrameToken(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py index b442dd1bc6..a96fdba452 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- -import pyblish.api -from ayon_houdini.api import plugin -from ayon_core.pipeline import PublishValidationError import hou +import pyblish.api +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api import plugin + class ValidateHoudiniNotApprenticeLicense(plugin.HoudiniInstancePlugin): """Validate the Houdini instance runs a non Apprentice license. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py index 0272765c47..5dbd45f1dc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py @@ -1,8 +1,5 @@ # -*- coding: utf-8 -*- """Validate if instance asset is the same as context asset.""" - -from ayon_houdini.api import plugin -from ayon_houdini.api.action import SelectROPAction from ayon_core.pipeline.publish import ( RepairAction, ValidateContentsOrder, @@ -10,6 +7,9 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin ) +from ayon_houdini.api import plugin +from ayon_houdini.api.action import SelectROPAction + class ValidateInstanceInContextHoudini(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py index 141b19db6d..b4ba70c1e1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py @@ -1,8 +1,10 @@ # -*- coding: utf-8 -*- import pyblish.api -from ayon_houdini.api import plugin + from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateIntermediateDirectoriesChecked(plugin.HoudiniInstancePlugin): """Validate Create Intermediate Directories is enabled on ROP node.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py index 4ad5a70930..5f4222b3e8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- -import pyblish.api import hou -from ayon_houdini.api import plugin + +import pyblish.api from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + def cook_in_range(node, start, end): current = hou.intFrame() diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py index 47e1c8b4ac..1e068193fc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import hou + from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError from ayon_core.pipeline.publish import ( @@ -6,8 +8,6 @@ from ayon_core.pipeline.publish import ( RepairAction, ) -import hou - class AddDefaultPathAction(RepairAction): label = "Add a default path attribute" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py index e254c4cc2f..7332765fe2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py @@ -1,11 +1,11 @@ # -*-coding: utf-8 -*- -import pyblish.api +import hou -from ayon_houdini.api import lib, plugin +import pyblish.api from ayon_core.pipeline.publish import RepairContextAction from ayon_core.pipeline import PublishValidationError -import hou +from ayon_houdini.api import lib, plugin class ValidateRemotePublishOutNode(plugin.HoudiniContextPlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py index f47f1e46e3..1c36ba6ee9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py @@ -1,11 +1,12 @@ # -*- coding: utf-8 -*- -import pyblish.api - import hou -from ayon_houdini.api import plugin + +import pyblish.api from ayon_core.pipeline.publish import RepairContextAction from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateRemotePublishEnabled(plugin.HoudiniContextPlugin): """Validate the remote publish node is *not* bypassed.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py index a5d39378d2..96c8d1d73a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py @@ -1,4 +1,7 @@ # -*- coding: utf-8 -*- +import os +import hou + import pyblish.api from ayon_core.pipeline import ( PublishValidationError, @@ -9,12 +12,10 @@ from ayon_core.pipeline.publish import ( get_plugin_settings, apply_plugin_settings_automatically ) + from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectROPAction -import os -import hou - class ResetViewSpaceAction(RepairAction): label = "Reset OCIO colorspace parm" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py index a1ce0978e7..c923a2d33c 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- -import pyblish.api -from ayon_houdini.api import plugin -from ayon_core.pipeline import PublishValidationError import hou +import pyblish.api +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api import plugin + class ValidateSceneReview(plugin.HoudiniInstancePlugin): """Validator Some Scene Settings before publishing the review diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py index ddd97682bb..511d49aae7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import hou + import pyblish.api from ayon_core.pipeline import PublishValidationError @@ -8,8 +10,6 @@ from ayon_houdini.api.action import ( SelectROPAction, ) -import hou - class ValidateSopOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance SOP Output Node. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py index ace888f6f6..0f046d8bfc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- """Validator for correct naming of Static Meshes.""" +import hou + from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin @@ -8,12 +10,11 @@ from ayon_core.pipeline.publish import ( ValidateContentsOrder, RepairAction, ) + from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction from ayon_core.pipeline.create import get_product_name -import hou - class FixProductNameAction(RepairAction): label = "Fix Product Name" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py index 5cae07d708..d400b513bc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- """Validator for correct naming of Static Meshes.""" +import hou + from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin @@ -10,8 +12,6 @@ from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction from ayon_houdini.api.lib import get_output_children -import hou - class ValidateUnrealStaticMeshName(plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py index 4ad977c8cc..a55188d43a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py @@ -1,10 +1,11 @@ # -*- coding: utf-8 -*- +import hou + import pyblish.api -from ayon_houdini.api import plugin -import ayon_houdini.api.usd as hou_usdlib from ayon_core.pipeline import PublishValidationError -import hou +from ayon_houdini.api import plugin +import ayon_houdini.api.usd as hou_usdlib class ValidateUSDLayerPathBackslashes(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py index c37f278c7e..7af3427aee 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py @@ -1,12 +1,12 @@ # -*- coding: utf-8 -*- -import pyblish.api -from ayon_houdini.api import plugin -import ayon_houdini.api.usd as hou_usdlib -from ayon_core.pipeline import PublishValidationError - +import hou from pxr import UsdShade, UsdRender, UsdLux -import hou +import pyblish.api +from ayon_core.pipeline import PublishValidationError + +from ayon_houdini.api import plugin +import ayon_houdini.api.usd as hou_usdlib def fullname(o): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py index bede13a3ca..f35a4b56bc 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py @@ -1,8 +1,10 @@ # -*- coding: utf-8 -*- import pyblish.api -from ayon_houdini.api import plugin + from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateUSDOutputNode(plugin.HoudiniInstancePlugin): """Validate the instance USD LOPs Output Node. diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py index 5f7d77de86..6b19ba9264 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py @@ -1,9 +1,11 @@ # -*- coding: utf-8 -*- import os + import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError +from ayon_houdini.api import plugin + class ValidateUSDRenderProductNames(plugin.HoudiniInstancePlugin): """Validate USD Render Product names are correctly set absolute paths.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py index 9cc5ab8b38..f0fbf0f6ba 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py @@ -1,8 +1,9 @@ # -*- coding: utf-8 -*- import pyblish.api +from ayon_core.pipeline import PublishValidationError + from ayon_houdini.api import plugin import ayon_houdini.api.usd as hou_usdlib -from ayon_core.pipeline import PublishValidationError class ValidateUsdSetDress(plugin.HoudiniInstancePlugin): @@ -21,8 +22,8 @@ class ValidateUsdSetDress(plugin.HoudiniInstancePlugin): def process(self, instance): - from pxr import UsdGeom import hou + from pxr import UsdGeom rop = hou.node(instance.data.get("instance_node")) lop_path = hou_usdlib.get_usd_rop_loppath(rop) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py index e56ed6cf89..48493616d7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py @@ -2,14 +2,14 @@ import re import ayon_api -from ayon_houdini.api import plugin - from ayon_core.pipeline.publish import ( ValidateContentsOrder, KnownPublishError, PublishValidationError, ) +from ayon_houdini.api import plugin + class ValidateUSDShadeModelExists(plugin.HoudiniInstancePlugin): """Validate the Instance has no current cooking errors.""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py index f33fde1ae8..20be856ba4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py @@ -1,9 +1,10 @@ # -*- coding: utf-8 -*- +import hou + import pyblish.api -from ayon_houdini.api import plugin from ayon_core.pipeline import PublishValidationError -import hou +from ayon_houdini.api import plugin class ValidateUsdShadeWorkspace(plugin.HoudiniInstancePlugin): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py index c570285cb7..538ac1c281 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py @@ -1,10 +1,10 @@ # -*- coding: utf-8 -*- import contextlib - -import pyblish.api import hou +import pyblish.api from ayon_core.pipeline import PublishXmlValidationError + from ayon_houdini.api import plugin from ayon_houdini.api.action import SelectInvalidAction diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py index 232ae4782a..efc581b5bd 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py @@ -1,13 +1,15 @@ # -*- coding: utf-8 -*- -import pyblish.api import hou -from ayon_houdini.api import plugin + +import pyblish.api from ayon_core.pipeline import ( PublishValidationError, OptionalPyblishPluginMixin ) from ayon_core.pipeline.publish import RepairAction +from ayon_houdini.api import plugin + class ValidateWorkfilePaths( plugin.HoudiniInstancePlugin, OptionalPyblishPluginMixin): From c32700c40c49410636d81d771b3323cf93b1ce68 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Tue, 28 May 2024 13:32:56 +0200 Subject: [PATCH 024/124] fix sorting of versions in loader comboboxes --- client/ayon_core/tools/loader/abstract.py | 28 +++++++++++++++---- .../tools/loader/ui/products_model.py | 4 ++- 2 files changed, 26 insertions(+), 6 deletions(-) diff --git a/client/ayon_core/tools/loader/abstract.py b/client/ayon_core/tools/loader/abstract.py index 509db4d037..a1c1e6a062 100644 --- a/client/ayon_core/tools/loader/abstract.py +++ b/client/ayon_core/tools/loader/abstract.py @@ -172,12 +172,30 @@ class VersionItem: def __gt__(self, other): if not isinstance(other, VersionItem): return False - if ( - other.version == self.version - and self.is_hero - ): + # Make sure hero versions are positive + version = abs(self.version) + other_version = abs(other.version) + # Hero version is greater than non-hero + if version == other_version: + return self.is_hero + return version > other_version + + def __lt__(self, other): + if not isinstance(other, VersionItem): return True - return other.version < self.version + # Make sure hero versions are positive + version = abs(self.version) + other_version = abs(other.version) + # Non-hero version is lesser than hero + if version == other_version: + return not self.is_hero + return version < other_version + + def __ge__(self, other): + return self.__eq__(other) or self.__gt__(other) + + def __le__(self, other): + return self.__eq__(other) or self.__lt__(other) def to_data(self): return { diff --git a/client/ayon_core/tools/loader/ui/products_model.py b/client/ayon_core/tools/loader/ui/products_model.py index f309473d10..fc7375d8c1 100644 --- a/client/ayon_core/tools/loader/ui/products_model.py +++ b/client/ayon_core/tools/loader/ui/products_model.py @@ -198,7 +198,9 @@ class ProductsModel(QtGui.QStandardItemModel): product_item = self._product_items_by_id.get(product_id) if product_item is None: return None - return list(product_item.version_items.values()) + product_items = list(product_item.version_items.values()) + product_items.sort(reverse=True) + return product_items if role == QtCore.Qt.EditRole: return None From c4942d3ab8116de50f2cc68f814b8ca43a41a72d Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Tue, 28 May 2024 21:33:34 +0800 Subject: [PATCH 025/124] move version up workfile to custom tool menu --- client/ayon_core/hosts/maya/api/commands.py | 18 +++++++++++++++++- client/ayon_core/hosts/maya/api/lib.py | 12 ------------ client/ayon_core/hosts/maya/api/menu.py | 5 +---- server_addon/maya/package.py | 2 +- .../maya/server/settings/scriptsmenu.py | 10 ++++++++++ 5 files changed, 29 insertions(+), 18 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/commands.py b/client/ayon_core/hosts/maya/api/commands.py index 22cf0871e2..411614c9da 100644 --- a/client/ayon_core/hosts/maya/api/commands.py +++ b/client/ayon_core/hosts/maya/api/commands.py @@ -4,7 +4,12 @@ from maya import cmds from ayon_api import get_project, get_folder_by_path -from ayon_core.pipeline import get_current_project_name, get_current_folder_path +from ayon_core.pipeline import ( + get_current_project_name, + get_current_folder_path, + registered_host +) +from ayon_core.lib import version_up class ToolWindows: @@ -116,3 +121,14 @@ def reset_resolution(): cmds.setAttr(width_attr_name, resolution_width) cmds.setAttr(height_attr_name, resolution_height) + + +def version_up_workfile(): + """Function to increment and save workfile + """ + host = registered_host() + current_file = host.get_current_workfile() + if not current_file: + return None + filepath = version_up(current_file) + host.save_workfile(filepath) diff --git a/client/ayon_core/hosts/maya/api/lib.py b/client/ayon_core/hosts/maya/api/lib.py index 204f851b2b..2b41ffc06c 100644 --- a/client/ayon_core/hosts/maya/api/lib.py +++ b/client/ayon_core/hosts/maya/api/lib.py @@ -22,7 +22,6 @@ from maya.api import OpenMaya import ayon_api from ayon_core.settings import get_project_settings -from ayon_core.lib import version_up from ayon_core.pipeline import ( get_current_project_name, get_current_folder_path, @@ -3391,17 +3390,6 @@ def set_colorspace(): _colormanage(viewTransformName=view_name) -def version_up_workfile(): - """Function to increment and save workfile - """ - host = registered_host() - current_file = host.get_current_workfile() - if not current_file: - return None - filepath = version_up(current_file) - host.save_workfile(filepath) - - @contextlib.contextmanager def parent_nodes(nodes, parent=None): # type: (list, str) -> list diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index 9b7670cfbb..e3ef50cdc0 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -123,10 +123,7 @@ def install(project_settings): parent=parent_widget ), ) - cmds.menuItem( - "Version Up Workfile", - command=lambda *args: lib.version_up_workfile() - ) + cmds.menuItem( "Set Frame Range", command=lambda *args: lib.reset_frame_range() diff --git a/server_addon/maya/package.py b/server_addon/maya/package.py index 4537c23eaa..852a6d563c 100644 --- a/server_addon/maya/package.py +++ b/server_addon/maya/package.py @@ -1,3 +1,3 @@ name = "maya" title = "Maya" -version = "0.1.20" +version = "0.1.21" diff --git a/server_addon/maya/server/settings/scriptsmenu.py b/server_addon/maya/server/settings/scriptsmenu.py index 7b0ba7d831..ef04a92f89 100644 --- a/server_addon/maya/server/settings/scriptsmenu.py +++ b/server_addon/maya/server/settings/scriptsmenu.py @@ -83,6 +83,16 @@ DEFAULT_SCRIPTSMENU_SETTINGS = { "pipeline", "shader" ] + }, + { + "type": "action", + "command": "import openpype.hosts.maya.api.commands as op_cmds; op_cmds.version_up_workfile()", + "sourcetype": "python", + "title": "Version Up", + "tooltip": "Save workfile with upversioning", + "tags": [ + "pipeline" + ] } ], "definition_json": "[]" From be546455c766f3ab88fbd458d2ffb975308b153d Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Tue, 28 May 2024 20:19:15 +0300 Subject: [PATCH 026/124] add missing section in publish settings --- server_addon/houdini/server/settings/publish.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server_addon/houdini/server/settings/publish.py b/server_addon/houdini/server/settings/publish.py index 4a0c022f23..336de8e046 100644 --- a/server_addon/houdini/server/settings/publish.py +++ b/server_addon/houdini/server/settings/publish.py @@ -79,7 +79,8 @@ class PublishPluginsModel(BaseSettingsModel): ) ValidateInstanceInContextHoudini: BasicValidateModel = SettingsField( default_factory=BasicValidateModel, - title="Validate Instance is in same Context.") + title="Validate Instance is in same Context.", + section="Validators") ValidateMeshIsStatic: BasicValidateModel = SettingsField( default_factory=BasicValidateModel, title="Validate Mesh is Static.") From a696470fa2ee842ef0e66936e7cfe1630803b9e7 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 17:16:43 +0800 Subject: [PATCH 027/124] add version up workfile in the general ayon core function --- client/ayon_core/hosts/maya/api/commands.py | 15 +-------------- client/ayon_core/hosts/maya/api/menu.py | 9 +++++++++ client/ayon_core/pipeline/context_tools.py | 13 ++++++++++++- package.py | 2 +- server/settings/main.py | 8 +++++++- server_addon/maya/server/settings/scriptsmenu.py | 10 ---------- 6 files changed, 30 insertions(+), 27 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/commands.py b/client/ayon_core/hosts/maya/api/commands.py index 411614c9da..3dcc604d68 100644 --- a/client/ayon_core/hosts/maya/api/commands.py +++ b/client/ayon_core/hosts/maya/api/commands.py @@ -6,10 +6,8 @@ from ayon_api import get_project, get_folder_by_path from ayon_core.pipeline import ( get_current_project_name, - get_current_folder_path, - registered_host + get_current_folder_path ) -from ayon_core.lib import version_up class ToolWindows: @@ -121,14 +119,3 @@ def reset_resolution(): cmds.setAttr(width_attr_name, resolution_width) cmds.setAttr(height_attr_name, resolution_height) - - -def version_up_workfile(): - """Function to increment and save workfile - """ - host = registered_host() - current_file = host.get_current_workfile() - if not current_file: - return None - filepath = version_up(current_file) - host.save_workfile(filepath) diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index e3ef50cdc0..09e4af712a 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -25,6 +25,7 @@ from .workfile_template_builder import ( build_workfile_template, update_workfile_template ) +from ayon_core.pipeline.context_tools import version_up_workfile from ayon_core.tools.workfile_template_build import open_template_ui from .workfile_template_builder import MayaTemplateBuilder @@ -76,6 +77,14 @@ def install(project_settings): cmds.menuItem(divider=True) + if project_settings["core"].get("version_up_workfile"): + cmds.menuItem( + "Version Up Workfile", + command=lambda *args: version_up_workfile() + ) + + cmds.menuItem(divider=True) + cmds.menuItem( "Create...", command=lambda *args: host_tools.show_publisher( diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index c32d04c44c..399946cb84 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -11,7 +11,7 @@ from pyblish.lib import MessageHandler from ayon_core import AYON_CORE_ROOT from ayon_core.host import HostBase -from ayon_core.lib import is_in_tests, initialize_ayon_connection, emit_event +from ayon_core.lib import is_in_tests, initialize_ayon_connection, emit_event, version_up from ayon_core.addon import load_addons, AddonsManager from ayon_core.settings import get_project_settings @@ -579,3 +579,14 @@ def get_process_id(): if _process_id is None: _process_id = str(uuid.uuid4()) return _process_id + + +def version_up_workfile(): + """Function to increment and save workfile + """ + host = registered_host() + current_file = host.get_current_workfile() + if not current_file: + return None + filepath = version_up(current_file) + host.save_workfile(filepath) diff --git a/package.py b/package.py index 73f7174b6f..35877ff687 100644 --- a/package.py +++ b/package.py @@ -1,6 +1,6 @@ name = "core" title = "Core" -version = "0.3.3-dev.1" +version = "0.3.3-dev.2" client_dir = "ayon_core" diff --git a/server/settings/main.py b/server/settings/main.py index 40e16e7e91..1d357897d7 100644 --- a/server/settings/main.py +++ b/server/settings/main.py @@ -219,6 +219,11 @@ class CoreSettings(BaseSettingsModel): title="Project environments", section="---" ) + version_up_workfile: bool = SettingsField( + False, + title="Version Up Workfile", + section="---" + ) @validator( "environments", @@ -313,5 +318,6 @@ DEFAULT_VALUES = { "project_environments": json.dumps( {}, indent=4 - ) + ), + "version_up_workfile": False } diff --git a/server_addon/maya/server/settings/scriptsmenu.py b/server_addon/maya/server/settings/scriptsmenu.py index ef04a92f89..7b0ba7d831 100644 --- a/server_addon/maya/server/settings/scriptsmenu.py +++ b/server_addon/maya/server/settings/scriptsmenu.py @@ -83,16 +83,6 @@ DEFAULT_SCRIPTSMENU_SETTINGS = { "pipeline", "shader" ] - }, - { - "type": "action", - "command": "import openpype.hosts.maya.api.commands as op_cmds; op_cmds.version_up_workfile()", - "sourcetype": "python", - "title": "Version Up", - "tooltip": "Save workfile with upversioning", - "tags": [ - "pipeline" - ] } ], "definition_json": "[]" From 4cf797ac66926e525efe9bce4169d67263e1f9d2 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 17:19:06 +0800 Subject: [PATCH 028/124] restore the setting in maya --- server_addon/maya/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/maya/package.py b/server_addon/maya/package.py index 852a6d563c..4537c23eaa 100644 --- a/server_addon/maya/package.py +++ b/server_addon/maya/package.py @@ -1,3 +1,3 @@ name = "maya" title = "Maya" -version = "0.1.21" +version = "0.1.20" From ca7dfa5387639e1b6af2d20a2c66c7e883271810 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 17:20:12 +0800 Subject: [PATCH 029/124] restore the function in maya --- client/ayon_core/hosts/maya/api/commands.py | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/commands.py b/client/ayon_core/hosts/maya/api/commands.py index 3dcc604d68..22cf0871e2 100644 --- a/client/ayon_core/hosts/maya/api/commands.py +++ b/client/ayon_core/hosts/maya/api/commands.py @@ -4,10 +4,7 @@ from maya import cmds from ayon_api import get_project, get_folder_by_path -from ayon_core.pipeline import ( - get_current_project_name, - get_current_folder_path -) +from ayon_core.pipeline import get_current_project_name, get_current_folder_path class ToolWindows: From 9e12a51c9d80be486c24da380a7de7135e78994e Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 20:24:46 +0800 Subject: [PATCH 030/124] put the version up workfile setting underneath workfile --- client/ayon_core/hosts/maya/api/menu.py | 2 +- client/ayon_core/version.py | 2 +- package.py | 2 +- server/settings/main.py | 8 +------- server/settings/tools.py | 5 +++++ 5 files changed, 9 insertions(+), 10 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index 09e4af712a..92759e933c 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -77,7 +77,7 @@ def install(project_settings): cmds.menuItem(divider=True) - if project_settings["core"].get("version_up_workfile"): + if project_settings["core"]["tools"]["Workfiles"].get("version_up_workfile"): cmds.menuItem( "Version Up Workfile", command=lambda *args: version_up_workfile() diff --git a/client/ayon_core/version.py b/client/ayon_core/version.py index e4297e2000..efcd78cd11 100644 --- a/client/ayon_core/version.py +++ b/client/ayon_core/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON core addon version.""" -__version__ = "0.3.3-dev.1" +__version__ = "0.3.4-dev.1" diff --git a/package.py b/package.py index 35877ff687..cea2d84484 100644 --- a/package.py +++ b/package.py @@ -1,6 +1,6 @@ name = "core" title = "Core" -version = "0.3.3-dev.2" +version = "0.3.4-dev.1" client_dir = "ayon_core" diff --git a/server/settings/main.py b/server/settings/main.py index 1d357897d7..40e16e7e91 100644 --- a/server/settings/main.py +++ b/server/settings/main.py @@ -219,11 +219,6 @@ class CoreSettings(BaseSettingsModel): title="Project environments", section="---" ) - version_up_workfile: bool = SettingsField( - False, - title="Version Up Workfile", - section="---" - ) @validator( "environments", @@ -318,6 +313,5 @@ DEFAULT_VALUES = { "project_environments": json.dumps( {}, indent=4 - ), - "version_up_workfile": False + ) } diff --git a/server/settings/tools.py b/server/settings/tools.py index fb8430a71c..15f24db2fd 100644 --- a/server/settings/tools.py +++ b/server/settings/tools.py @@ -119,6 +119,10 @@ class WorkfilesLockProfile(BaseSettingsModel): class WorkfilesToolModel(BaseSettingsModel): + version_up_workfile: bool = SettingsField( + False, + title="Version Up Workfile" + ) workfile_template_profiles: list[WorkfileTemplateProfile] = SettingsField( default_factory=list, title="Workfile template profiles" @@ -407,6 +411,7 @@ DEFAULT_TOOLS_VALUES = { ] }, "Workfiles": { + "version_up_workfile": False, "workfile_template_profiles": [ { "task_types": [], From 7ebdb7be41c7576fc050a37fcc2398848de2323b Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 20:28:58 +0800 Subject: [PATCH 031/124] make sure divider doesn't exist when the version up option is being disabled --- client/ayon_core/hosts/maya/api/menu.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index 92759e933c..cdd494224b 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -75,9 +75,8 @@ def install(project_settings): cmds.setParent("..", menu=True) - cmds.menuItem(divider=True) - if project_settings["core"]["tools"]["Workfiles"].get("version_up_workfile"): + cmds.menuItem(divider=True) cmds.menuItem( "Version Up Workfile", command=lambda *args: version_up_workfile() From 39ca9922bb391bf295dc53ddae8638609be3cc7d Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 20:36:16 +0800 Subject: [PATCH 032/124] add description explain what verion up workfile is --- server/settings/tools.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/settings/tools.py b/server/settings/tools.py index 15f24db2fd..e185cc71ad 100644 --- a/server/settings/tools.py +++ b/server/settings/tools.py @@ -121,7 +121,8 @@ class WorkfilesLockProfile(BaseSettingsModel): class WorkfilesToolModel(BaseSettingsModel): version_up_workfile: bool = SettingsField( False, - title="Version Up Workfile" + title="Version Up Workfile", + description="Add 'Version Up Workfile' to AYON menu" ) workfile_template_profiles: list[WorkfileTemplateProfile] = SettingsField( default_factory=list, From e523b47412ae149bb3869151be94524f27330a24 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 29 May 2024 23:44:08 +0800 Subject: [PATCH 033/124] add version up workfile in ayon menu which is located inside the workfiles in core addon --- client/ayon_core/hosts/maya/api/menu.py | 13 +++++++------ server/settings/tools.py | 13 +++++++++++-- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/client/ayon_core/hosts/maya/api/menu.py b/client/ayon_core/hosts/maya/api/menu.py index cdd494224b..dbf353d84b 100644 --- a/client/ayon_core/hosts/maya/api/menu.py +++ b/client/ayon_core/hosts/maya/api/menu.py @@ -75,12 +75,13 @@ def install(project_settings): cmds.setParent("..", menu=True) - if project_settings["core"]["tools"]["Workfiles"].get("version_up_workfile"): - cmds.menuItem(divider=True) - cmds.menuItem( - "Version Up Workfile", - command=lambda *args: version_up_workfile() - ) + if project_settings["core"]["tools"]["Workfiles"]["ayon_menu"].get( + "version_up_workfile"): + cmds.menuItem(divider=True) + cmds.menuItem( + "Version Up Workfile", + command=lambda *args: version_up_workfile() + ) cmds.menuItem(divider=True) diff --git a/server/settings/tools.py b/server/settings/tools.py index e185cc71ad..0fb11404c9 100644 --- a/server/settings/tools.py +++ b/server/settings/tools.py @@ -118,12 +118,19 @@ class WorkfilesLockProfile(BaseSettingsModel): enabled: bool = SettingsField(True, title="Enabled") -class WorkfilesToolModel(BaseSettingsModel): +class AyonMenuModel(BaseSettingsModel): version_up_workfile: bool = SettingsField( False, title="Version Up Workfile", description="Add 'Version Up Workfile' to AYON menu" ) + + +class WorkfilesToolModel(BaseSettingsModel): + ayon_menu: AyonMenuModel = SettingsField( + default_factory=AyonMenuModel, + title="AYON Menu" + ) workfile_template_profiles: list[WorkfileTemplateProfile] = SettingsField( default_factory=list, title="Workfile template profiles" @@ -412,7 +419,9 @@ DEFAULT_TOOLS_VALUES = { ] }, "Workfiles": { - "version_up_workfile": False, + "ayon_menu": { + "version_up_workfile": False + }, "workfile_template_profiles": [ { "task_types": [], From 7077b78c3393ad766e28c01ca5a7f8caba97ccd2 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Thu, 30 May 2024 16:00:29 +0800 Subject: [PATCH 034/124] add debug message --- client/ayon_core/pipeline/context_tools.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index 399946cb84..d92c43da04 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -587,6 +587,7 @@ def version_up_workfile(): host = registered_host() current_file = host.get_current_workfile() if not current_file: + log.debug("Current file not found.") return None filepath = version_up(current_file) host.save_workfile(filepath) From c2504bdd04b27db316af1cadec984f77431a223a Mon Sep 17 00:00:00 2001 From: Kayla Man <64118225+moonyuet@users.noreply.github.com> Date: Thu, 30 May 2024 16:06:51 +0800 Subject: [PATCH 035/124] Update client/ayon_core/pipeline/context_tools.py Co-authored-by: Roy Nieterau --- client/ayon_core/pipeline/context_tools.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index d92c43da04..f47c1f12f0 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -587,7 +587,9 @@ def version_up_workfile(): host = registered_host() current_file = host.get_current_workfile() if not current_file: - log.debug("Current file not found.") + log.debug( + "Current file is unsaved and can't be versioned up. " + "Please save your file first.") return None filepath = version_up(current_file) host.save_workfile(filepath) From af26054c2b176b0bfe8e0576aae2b045eedc5fec Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:05:26 +0200 Subject: [PATCH 036/124] move harmony client code next to server codebase --- .../harmony/harmony/ayon_harmony}/__init__.py | 0 .../harmony/harmony/ayon_harmony}/addon.py | 0 .../harmony/harmony/ayon_harmony}/api/README.md | 0 .../harmony/ayon_harmony}/api/TB_sceneOpened.js | 0 .../harmony/harmony/ayon_harmony}/api/__init__.py | 0 .../harmony/ayon_harmony}/api/js/.eslintrc.json | 0 .../harmony/ayon_harmony}/api/js/AvalonHarmony.js | 0 .../harmony/ayon_harmony}/api/js/package.json | 0 .../harmony/ayon_harmony}/api/launch_script.py | 0 .../harmony/harmony/ayon_harmony}/api/lib.py | 0 .../harmony/harmony/ayon_harmony}/api/pipeline.py | 0 .../harmony/harmony/ayon_harmony}/api/plugin.py | 0 .../harmony/harmony/ayon_harmony}/api/server.py | 0 .../harmony/harmony/ayon_harmony}/api/temp.zip | Bin .../harmony/harmony/ayon_harmony}/api/workio.py | 0 .../harmony/ayon_harmony}/hooks/pre_launch_args.py | 0 .../harmony/harmony/ayon_harmony}/js/.eslintrc.json | 0 .../harmony/harmony/ayon_harmony}/js/PypeHarmony.js | 0 .../harmony/harmony/ayon_harmony}/js/README.md | 0 .../ayon_harmony}/js/creators/CreateRender.js | 0 .../ayon_harmony}/js/loaders/ImageSequenceLoader.js | 0 .../ayon_harmony}/js/loaders/TemplateLoader.js | 0 .../harmony/harmony/ayon_harmony}/js/package.json | 0 .../ayon_harmony}/js/publish/CollectCurrentFile.js | 0 .../ayon_harmony}/js/publish/CollectFarmRender.js | 0 .../ayon_harmony}/js/publish/CollectPalettes.js | 0 .../ayon_harmony}/js/publish/ExtractPalette.js | 0 .../ayon_harmony}/js/publish/ExtractTemplate.js | 0 .../harmony/ayon_harmony}/plugins/__init__.py | 0 .../plugins/create/create_farm_render.py | 0 .../ayon_harmony}/plugins/create/create_render.py | 0 .../ayon_harmony}/plugins/create/create_template.py | 0 .../ayon_harmony}/plugins/load/load_audio.py | 0 .../ayon_harmony}/plugins/load/load_background.py | 0 .../plugins/load/load_imagesequence.py | 0 .../ayon_harmony}/plugins/load/load_palette.py | 0 .../ayon_harmony}/plugins/load/load_template.py | 0 .../plugins/load/load_template_workfile.py | 0 .../ayon_harmony}/plugins/publish/collect_audio.py | 0 .../plugins/publish/collect_current_file.py | 0 .../plugins/publish/collect_farm_render.py | 0 .../plugins/publish/collect_instances.py | 0 .../plugins/publish/collect_palettes.py | 0 .../ayon_harmony}/plugins/publish/collect_scene.py | 0 .../plugins/publish/collect_workfile.py | 0 .../plugins/publish/extract_palette.py | 0 .../ayon_harmony}/plugins/publish/extract_render.py | 0 .../plugins/publish/extract_save_scene.py | 0 .../plugins/publish/extract_template.py | 0 .../plugins/publish/extract_workfile.py | 0 .../plugins/publish/help/validate_audio.xml | 0 .../plugins/publish/help/validate_instances.xml | 0 .../publish/help/validate_scene_settings.xml | 0 .../plugins/publish/increment_workfile.py | 0 .../ayon_harmony}/plugins/publish/validate_audio.py | 0 .../plugins/publish/validate_instances.py | 0 .../plugins/publish/validate_scene_settings.py | 0 .../harmony/ayon_harmony}/vendor/.eslintrc.json | 0 .../ayon_harmony}/vendor/OpenHarmony/.gitattributes | 0 .../ayon_harmony}/vendor/OpenHarmony/.gitignore | 0 .../ayon_harmony}/vendor/OpenHarmony/Install.bat | 0 .../ayon_harmony}/vendor/OpenHarmony/LICENSE | 0 .../ayon_harmony}/vendor/OpenHarmony/README.md | 0 .../ayon_harmony}/vendor/OpenHarmony/build_doc.bat | 0 .../vendor/OpenHarmony/documentation.json | 0 .../ayon_harmony}/vendor/OpenHarmony/install.sh | 0 .../ayon_harmony}/vendor/OpenHarmony/oH_DOM.jpg | Bin .../ayon_harmony}/vendor/OpenHarmony/openHarmony.js | 0 .../OpenHarmony/openHarmony/openHarmony_actions.js | 0 .../openHarmony/openHarmony_application.js | 0 .../openHarmony/openHarmony_attribute.js | 0 .../OpenHarmony/openHarmony/openHarmony_backdrop.js | 0 .../OpenHarmony/openHarmony/openHarmony_color.js | 0 .../OpenHarmony/openHarmony/openHarmony_column.js | 0 .../OpenHarmony/openHarmony/openHarmony_database.js | 0 .../OpenHarmony/openHarmony/openHarmony_dialog.js | 0 .../OpenHarmony/openHarmony/openHarmony_drawing.js | 0 .../OpenHarmony/openHarmony/openHarmony_element.js | 0 .../OpenHarmony/openHarmony/openHarmony_file.js | 0 .../OpenHarmony/openHarmony/openHarmony_frame.js | 0 .../OpenHarmony/openHarmony/openHarmony_list.js | 0 .../OpenHarmony/openHarmony/openHarmony_math.js | 0 .../OpenHarmony/openHarmony/openHarmony_metadata.js | 0 .../OpenHarmony/openHarmony/openHarmony_misc.js | 0 .../OpenHarmony/openHarmony/openHarmony_network.js | 0 .../OpenHarmony/openHarmony/openHarmony_node.js | 0 .../openHarmony/openHarmony_nodeAttributes.js | 0 .../OpenHarmony/openHarmony/openHarmony_nodeLink.js | 0 .../OpenHarmony/openHarmony/openHarmony_palette.js | 0 .../OpenHarmony/openHarmony/openHarmony_path.js | 0 .../openHarmony/openHarmony_preferencedoc.js | 0 .../openHarmony/openHarmony_preferences.js | 0 .../OpenHarmony/openHarmony/openHarmony_scene.js | 0 .../openHarmony/openHarmony_threading.js | 0 .../OpenHarmony/openHarmony/openHarmony_timeline.js | 0 .../OpenHarmony/openHarmony/openHarmony_tool.js | 0 .../openHarmony/openHarmony_toolInstall.ui | 0 .../vendor/OpenHarmony/openHarmony_install.js | 0 .../vendor/OpenHarmony/openHarmony_tools.js | 0 .../ayon_harmony}/vendor/OpenHarmony/package.json | 0 .../Reference_view_currentToolManager().txt | 0 .../ayon_harmony}/vendor/OpenHarmony/tbpackage.json | 0 .../OpenHarmony/tools/OpenHarmony_basic/INSTALL | 0 .../OpenHarmony/tools/OpenHarmony_basic/README | 0 .../OpenHarmony_basic/openHarmony_anim_tools.js | 0 .../openHarmony_basic_backdropPicker.ui | 0 .../OpenHarmony_basic/openHarmony_rigging_tools.js | 0 107 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/__init__.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/addon.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/README.md (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/TB_sceneOpened.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/__init__.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/js/.eslintrc.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/js/AvalonHarmony.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/js/package.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/launch_script.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/lib.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/pipeline.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/plugin.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/server.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/temp.zip (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/api/workio.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/hooks/pre_launch_args.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/.eslintrc.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/PypeHarmony.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/README.md (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/creators/CreateRender.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/loaders/ImageSequenceLoader.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/loaders/TemplateLoader.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/package.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/publish/CollectCurrentFile.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/publish/CollectFarmRender.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/publish/CollectPalettes.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/publish/ExtractPalette.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/js/publish/ExtractTemplate.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/__init__.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/create/create_farm_render.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/create/create_render.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/create/create_template.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_audio.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_background.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_imagesequence.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_palette.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_template.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/load/load_template_workfile.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_audio.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_current_file.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_farm_render.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_instances.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_palettes.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_scene.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/collect_workfile.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/extract_palette.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/extract_render.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/extract_save_scene.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/extract_template.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/extract_workfile.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/help/validate_audio.xml (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/help/validate_instances.xml (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/help/validate_scene_settings.xml (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/increment_workfile.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/validate_audio.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/validate_instances.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/plugins/publish/validate_scene_settings.py (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/.eslintrc.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/.gitattributes (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/.gitignore (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/Install.bat (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/LICENSE (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/README.md (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/build_doc.bat (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/documentation.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/install.sh (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/oH_DOM.jpg (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_actions.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_application.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_color.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_column.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_database.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_element.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_file.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_frame.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_list.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_math.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_misc.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_network.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_node.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_palette.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_path.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_scene.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_threading.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_tool.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony_install.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/openHarmony_tools.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/package.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tbpackage.json (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tools/OpenHarmony_basic/README (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui (100%) rename {client/ayon_core/hosts/harmony => server_addon/harmony/harmony/ayon_harmony}/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js (100%) diff --git a/client/ayon_core/hosts/harmony/__init__.py b/server_addon/harmony/harmony/ayon_harmony/__init__.py similarity index 100% rename from client/ayon_core/hosts/harmony/__init__.py rename to server_addon/harmony/harmony/ayon_harmony/__init__.py diff --git a/client/ayon_core/hosts/harmony/addon.py b/server_addon/harmony/harmony/ayon_harmony/addon.py similarity index 100% rename from client/ayon_core/hosts/harmony/addon.py rename to server_addon/harmony/harmony/ayon_harmony/addon.py diff --git a/client/ayon_core/hosts/harmony/api/README.md b/server_addon/harmony/harmony/ayon_harmony/api/README.md similarity index 100% rename from client/ayon_core/hosts/harmony/api/README.md rename to server_addon/harmony/harmony/ayon_harmony/api/README.md diff --git a/client/ayon_core/hosts/harmony/api/TB_sceneOpened.js b/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js similarity index 100% rename from client/ayon_core/hosts/harmony/api/TB_sceneOpened.js rename to server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js diff --git a/client/ayon_core/hosts/harmony/api/__init__.py b/server_addon/harmony/harmony/ayon_harmony/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/__init__.py rename to server_addon/harmony/harmony/ayon_harmony/api/__init__.py diff --git a/client/ayon_core/hosts/harmony/api/js/.eslintrc.json b/server_addon/harmony/harmony/ayon_harmony/api/js/.eslintrc.json similarity index 100% rename from client/ayon_core/hosts/harmony/api/js/.eslintrc.json rename to server_addon/harmony/harmony/ayon_harmony/api/js/.eslintrc.json diff --git a/client/ayon_core/hosts/harmony/api/js/AvalonHarmony.js b/server_addon/harmony/harmony/ayon_harmony/api/js/AvalonHarmony.js similarity index 100% rename from client/ayon_core/hosts/harmony/api/js/AvalonHarmony.js rename to server_addon/harmony/harmony/ayon_harmony/api/js/AvalonHarmony.js diff --git a/client/ayon_core/hosts/harmony/api/js/package.json b/server_addon/harmony/harmony/ayon_harmony/api/js/package.json similarity index 100% rename from client/ayon_core/hosts/harmony/api/js/package.json rename to server_addon/harmony/harmony/ayon_harmony/api/js/package.json diff --git a/client/ayon_core/hosts/harmony/api/launch_script.py b/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/launch_script.py rename to server_addon/harmony/harmony/ayon_harmony/api/launch_script.py diff --git a/client/ayon_core/hosts/harmony/api/lib.py b/server_addon/harmony/harmony/ayon_harmony/api/lib.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/lib.py rename to server_addon/harmony/harmony/ayon_harmony/api/lib.py diff --git a/client/ayon_core/hosts/harmony/api/pipeline.py b/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/pipeline.py rename to server_addon/harmony/harmony/ayon_harmony/api/pipeline.py diff --git a/client/ayon_core/hosts/harmony/api/plugin.py b/server_addon/harmony/harmony/ayon_harmony/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/plugin.py rename to server_addon/harmony/harmony/ayon_harmony/api/plugin.py diff --git a/client/ayon_core/hosts/harmony/api/server.py b/server_addon/harmony/harmony/ayon_harmony/api/server.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/server.py rename to server_addon/harmony/harmony/ayon_harmony/api/server.py diff --git a/client/ayon_core/hosts/harmony/api/temp.zip b/server_addon/harmony/harmony/ayon_harmony/api/temp.zip similarity index 100% rename from client/ayon_core/hosts/harmony/api/temp.zip rename to server_addon/harmony/harmony/ayon_harmony/api/temp.zip diff --git a/client/ayon_core/hosts/harmony/api/workio.py b/server_addon/harmony/harmony/ayon_harmony/api/workio.py similarity index 100% rename from client/ayon_core/hosts/harmony/api/workio.py rename to server_addon/harmony/harmony/ayon_harmony/api/workio.py diff --git a/client/ayon_core/hosts/harmony/hooks/pre_launch_args.py b/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py similarity index 100% rename from client/ayon_core/hosts/harmony/hooks/pre_launch_args.py rename to server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py diff --git a/client/ayon_core/hosts/harmony/js/.eslintrc.json b/server_addon/harmony/harmony/ayon_harmony/js/.eslintrc.json similarity index 100% rename from client/ayon_core/hosts/harmony/js/.eslintrc.json rename to server_addon/harmony/harmony/ayon_harmony/js/.eslintrc.json diff --git a/client/ayon_core/hosts/harmony/js/PypeHarmony.js b/server_addon/harmony/harmony/ayon_harmony/js/PypeHarmony.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/PypeHarmony.js rename to server_addon/harmony/harmony/ayon_harmony/js/PypeHarmony.js diff --git a/client/ayon_core/hosts/harmony/js/README.md b/server_addon/harmony/harmony/ayon_harmony/js/README.md similarity index 100% rename from client/ayon_core/hosts/harmony/js/README.md rename to server_addon/harmony/harmony/ayon_harmony/js/README.md diff --git a/client/ayon_core/hosts/harmony/js/creators/CreateRender.js b/server_addon/harmony/harmony/ayon_harmony/js/creators/CreateRender.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/creators/CreateRender.js rename to server_addon/harmony/harmony/ayon_harmony/js/creators/CreateRender.js diff --git a/client/ayon_core/hosts/harmony/js/loaders/ImageSequenceLoader.js b/server_addon/harmony/harmony/ayon_harmony/js/loaders/ImageSequenceLoader.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/loaders/ImageSequenceLoader.js rename to server_addon/harmony/harmony/ayon_harmony/js/loaders/ImageSequenceLoader.js diff --git a/client/ayon_core/hosts/harmony/js/loaders/TemplateLoader.js b/server_addon/harmony/harmony/ayon_harmony/js/loaders/TemplateLoader.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/loaders/TemplateLoader.js rename to server_addon/harmony/harmony/ayon_harmony/js/loaders/TemplateLoader.js diff --git a/client/ayon_core/hosts/harmony/js/package.json b/server_addon/harmony/harmony/ayon_harmony/js/package.json similarity index 100% rename from client/ayon_core/hosts/harmony/js/package.json rename to server_addon/harmony/harmony/ayon_harmony/js/package.json diff --git a/client/ayon_core/hosts/harmony/js/publish/CollectCurrentFile.js b/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectCurrentFile.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/publish/CollectCurrentFile.js rename to server_addon/harmony/harmony/ayon_harmony/js/publish/CollectCurrentFile.js diff --git a/client/ayon_core/hosts/harmony/js/publish/CollectFarmRender.js b/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectFarmRender.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/publish/CollectFarmRender.js rename to server_addon/harmony/harmony/ayon_harmony/js/publish/CollectFarmRender.js diff --git a/client/ayon_core/hosts/harmony/js/publish/CollectPalettes.js b/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectPalettes.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/publish/CollectPalettes.js rename to server_addon/harmony/harmony/ayon_harmony/js/publish/CollectPalettes.js diff --git a/client/ayon_core/hosts/harmony/js/publish/ExtractPalette.js b/server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractPalette.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/publish/ExtractPalette.js rename to server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractPalette.js diff --git a/client/ayon_core/hosts/harmony/js/publish/ExtractTemplate.js b/server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractTemplate.js similarity index 100% rename from client/ayon_core/hosts/harmony/js/publish/ExtractTemplate.js rename to server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractTemplate.js diff --git a/client/ayon_core/hosts/harmony/plugins/__init__.py b/server_addon/harmony/harmony/ayon_harmony/plugins/__init__.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/__init__.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/__init__.py diff --git a/client/ayon_core/hosts/harmony/plugins/create/create_farm_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/create/create_farm_render.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py diff --git a/client/ayon_core/hosts/harmony/plugins/create/create_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/create/create_render.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py diff --git a/client/ayon_core/hosts/harmony/plugins/create/create_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/create/create_template.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_audio.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_audio.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_background.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_background.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_imagesequence.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_imagesequence.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_palette.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_palette.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_template.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py diff --git a/client/ayon_core/hosts/harmony/plugins/load/load_template_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/load/load_template_workfile.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_audio.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_audio.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_audio.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_audio.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_current_file.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_current_file.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_farm_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_farm_render.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_instances.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_instances.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_palettes.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_palettes.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_scene.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_scene.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/collect_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_workfile.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/collect_workfile.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_workfile.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/extract_palette.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/extract_palette.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/extract_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/extract_render.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/extract_save_scene.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/extract_save_scene.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/extract_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/extract_template.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/extract_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_workfile.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/extract_workfile.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_workfile.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/help/validate_audio.xml b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_audio.xml similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/help/validate_audio.xml rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_audio.xml diff --git a/client/ayon_core/hosts/harmony/plugins/publish/help/validate_instances.xml b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_instances.xml similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/help/validate_instances.xml rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_instances.xml diff --git a/client/ayon_core/hosts/harmony/plugins/publish/help/validate_scene_settings.xml b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_scene_settings.xml similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/help/validate_scene_settings.xml rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_scene_settings.xml diff --git a/client/ayon_core/hosts/harmony/plugins/publish/increment_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/increment_workfile.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/validate_audio.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/validate_audio.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/validate_instances.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/validate_instances.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py diff --git a/client/ayon_core/hosts/harmony/plugins/publish/validate_scene_settings.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py similarity index 100% rename from client/ayon_core/hosts/harmony/plugins/publish/validate_scene_settings.py rename to server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py diff --git a/client/ayon_core/hosts/harmony/vendor/.eslintrc.json b/server_addon/harmony/harmony/ayon_harmony/vendor/.eslintrc.json similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/.eslintrc.json rename to server_addon/harmony/harmony/ayon_harmony/vendor/.eslintrc.json diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/.gitattributes b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitattributes similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/.gitattributes rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitattributes diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/.gitignore b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitignore similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/.gitignore rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitignore diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/Install.bat b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/Install.bat similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/Install.bat rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/Install.bat diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/LICENSE b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/LICENSE similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/LICENSE rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/LICENSE diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/README.md b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/README.md similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/README.md rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/README.md diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/build_doc.bat b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/build_doc.bat similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/build_doc.bat rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/build_doc.bat diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/documentation.json b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/documentation.json similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/documentation.json rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/documentation.json diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/install.sh b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/install.sh similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/install.sh rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/install.sh diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/oH_DOM.jpg b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/oH_DOM.jpg rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony_install.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony_install.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony_tools.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/openHarmony_tools.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/package.json b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/package.json similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/package.json rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/package.json diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tbpackage.json b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tbpackage.json similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tbpackage.json rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tbpackage.json diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui diff --git a/client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js b/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js similarity index 100% rename from client/ayon_core/hosts/harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js rename to server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js From a0636eec089217c4240688dcfbd795893ea25e8b Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:52:59 +0200 Subject: [PATCH 037/124] fix imports --- .../harmony/ayon_harmony/api/README.md | 22 +++++++++---------- .../ayon_harmony/api/TB_sceneOpened.js | 18 +++++++-------- .../harmony/ayon_harmony/api/launch_script.py | 2 +- .../harmony/harmony/ayon_harmony/api/lib.py | 4 ++-- .../harmony/ayon_harmony/api/pipeline.py | 6 ++--- .../harmony/ayon_harmony/api/plugin.py | 2 +- .../ayon_harmony/hooks/pre_launch_args.py | 2 +- .../plugins/create/create_farm_render.py | 4 ++-- .../plugins/create/create_render.py | 4 ++-- .../plugins/create/create_template.py | 2 +- .../ayon_harmony/plugins/load/load_audio.py | 2 +- .../plugins/load/load_background.py | 2 +- .../plugins/load/load_imagesequence.py | 2 +- .../ayon_harmony/plugins/load/load_palette.py | 2 +- .../plugins/load/load_template.py | 2 +- .../plugins/load/load_template_workfile.py | 2 +- .../plugins/publish/collect_current_file.py | 2 +- .../plugins/publish/collect_farm_render.py | 2 +- .../plugins/publish/collect_instances.py | 2 +- .../plugins/publish/collect_palettes.py | 2 +- .../plugins/publish/collect_scene.py | 2 +- .../plugins/publish/extract_palette.py | 2 +- .../plugins/publish/extract_render.py | 2 +- .../plugins/publish/extract_save_scene.py | 2 +- .../plugins/publish/extract_template.py | 2 +- .../plugins/publish/increment_workfile.py | 2 +- .../plugins/publish/validate_audio.py | 2 +- .../plugins/publish/validate_instances.py | 2 +- .../publish/validate_scene_settings.py | 2 +- 29 files changed, 52 insertions(+), 52 deletions(-) diff --git a/server_addon/harmony/harmony/ayon_harmony/api/README.md b/server_addon/harmony/harmony/ayon_harmony/api/README.md index b8d1dbc100..6666ede83c 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/README.md +++ b/server_addon/harmony/harmony/ayon_harmony/api/README.md @@ -5,7 +5,7 @@ The easiest way to setup for using Toon Boom Harmony is to use the built-in launch: ``` -python -c "import ayon_core.hosts.harmony.api as harmony;harmony.launch("path/to/harmony/executable")" +python -c "import ayon_harmony.api as harmony;harmony.launch("path/to/harmony/executable")" ``` Communication with Harmony happens with a server/client relationship where the server is in the Python process and the client is in the Harmony process. Messages between Python and Harmony are required to be dictionaries, which are serialized to strings: @@ -59,7 +59,7 @@ You can show the Workfiles app when Harmony launches by setting environment vari ### Low level messaging To send from Python to Harmony you can use the exposed method: ```python -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from uuid import uuid4 @@ -75,7 +75,7 @@ print(harmony.send({"function": func, "args": ["Python"]})["result"]) To send a function with multiple arguments its best to declare the arguments within the function: ```python -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from uuid import uuid4 signature = str(uuid4()).replace("-", "_") @@ -114,7 +114,7 @@ PypeHarmony.myAwesomeFunction = function() { Then you can call that javascript code from your Python like: ```Python -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony harmony.send({"function": "PypeHarmony.myAwesomeFunction"}); @@ -159,7 +159,7 @@ Now in python, just read all those files and send them to Harmony. ```python from pathlib import Path -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony path_to_js = Path('/path/to/my/js') script_to_send = "" @@ -178,7 +178,7 @@ harmony.send({"function": "Master.Boo.B"}) ### Scene Save Instead of sending a request to Harmony with `scene.saveAll` please use: ```python -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony harmony.save_scene() ``` @@ -195,7 +195,7 @@ These plugins were made with the [polly config](https://github.com/mindbender-st #### Creator Plugin ```python -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from uuid import uuid4 @@ -213,7 +213,7 @@ class CreateComposite(harmony.Creator): The creator plugin can be configured to use other node types. For example here is a write node creator: ```python from uuid import uuid4 -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CreateRender(harmony.Creator): @@ -244,7 +244,7 @@ class CreateRender(harmony.Creator): ```python import pyblish.api from ayon_core.pipeline import AYON_INSTANCE_ID, AVALON_INSTANCE_ID -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CollectInstances(pyblish.api.ContextPlugin): @@ -292,7 +292,7 @@ import os from uuid import uuid4 import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony import clique @@ -423,7 +423,7 @@ class ExtractImage(pyblish.api.InstancePlugin): import os from uuid import uuid4 -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony signature = str(uuid4()).replace("-", "_") copy_files = """function copyFile(srcFilename, dstFilename) diff --git a/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js b/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js index cdf60c1aa8..00858b6de1 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js +++ b/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js @@ -387,7 +387,7 @@ function start() { */ self.onCreator = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['creator'] }, false); @@ -402,7 +402,7 @@ function start() { */ self.onWorkfiles = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['workfiles'] }, false); @@ -417,7 +417,7 @@ function start() { */ self.onLoad = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['loader'] }, false); @@ -433,7 +433,7 @@ function start() { */ self.onPublish = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['publish'] }, false); @@ -449,7 +449,7 @@ function start() { */ self.onManage = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['sceneinventory'] }, false); @@ -465,7 +465,7 @@ function start() { */ self.onSubsetManage = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['subsetmanager'] }, false); @@ -482,7 +482,7 @@ function start() { self.onSetSceneSettings = function() { app.avalonClient.send( { - "module": "ayon_core.hosts.harmony.api", + "module": "ayon_harmony.api", "method": "ensure_scene_settings", "args": [] }, @@ -500,7 +500,7 @@ function start() { */ self.onExperimentalTools = function() { app.avalonClient.send({ - 'module': 'ayon_core.hosts.harmony.api.lib', + 'module': 'ayon_harmony.api.lib', 'method': 'show', 'args': ['experimental_tools'] }, false); @@ -550,7 +550,7 @@ function ensureSceneSettings() { var app = QCoreApplication.instance(); app.avalonClient.send( { - "module": "ayon_core.hosts.harmony.api", + "module": "ayon_harmony.api", "method": "ensure_scene_settings", "args": [] }, diff --git a/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py b/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py index 3c809e210f..6327682a43 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py @@ -8,7 +8,7 @@ workfile or others. import os import sys -from ayon_core.hosts.harmony.api.lib import main as host_main +from ayon_harmony.api.lib import main as host_main # Get current file to locate start point of sys.argv CURRENT_FILE = os.path.abspath(__file__) diff --git a/server_addon/harmony/harmony/ayon_harmony/api/lib.py b/server_addon/harmony/harmony/ayon_harmony/api/lib.py index f9980cb65e..900d66fa0c 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/lib.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/lib.py @@ -186,7 +186,7 @@ def launch(application_path, *args): """ from ayon_core.pipeline import install_host - from ayon_core.hosts.harmony import api as harmony + from ayon_harmony import api as harmony install_host(harmony) @@ -486,7 +486,7 @@ def imprint(node_id, data, remove=False): remove (bool): Removes the data from the scene. Example: - >>> from ayon_core.hosts.harmony.api import lib + >>> from ayon_harmony.api import lib >>> node = "Top/Display" >>> data = {"str": "something", "int": 1, "float": 0.32, "bool": True} >>> lib.imprint(layer, data) diff --git a/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py b/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py index 1e3ea0ba21..229dcf307e 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py @@ -15,11 +15,11 @@ from ayon_core.pipeline import ( from ayon_core.pipeline.load import get_outdated_containers from ayon_core.pipeline.context_tools import get_current_folder_entity -from ayon_core.hosts.harmony import HARMONY_ADDON_ROOT -import ayon_core.hosts.harmony.api as harmony +from ayon_harmony import HARMONY_ADDON_ROOT +import ayon_harmony.api as harmony -log = logging.getLogger("ayon_core.hosts.harmony") +log = logging.getLogger("ayon_harmony") PLUGINS_DIR = os.path.join(HARMONY_ADDON_ROOT, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") diff --git a/server_addon/harmony/harmony/ayon_harmony/api/plugin.py b/server_addon/harmony/harmony/ayon_harmony/api/plugin.py index 29ebdb2b8d..6ec876af62 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/plugin.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/plugin.py @@ -1,5 +1,5 @@ from ayon_core.pipeline import LegacyCreator -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class Creator(LegacyCreator): diff --git a/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py b/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py index 4d38cd09b3..2fdb5ae620 100644 --- a/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py +++ b/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py @@ -7,7 +7,7 @@ from ayon_core.lib import ( is_using_ayon_console, ) from ayon_applications import PreLaunchHook, LaunchTypes -from ayon_core.hosts.harmony import get_launch_script_path +from ayon_harmony import get_launch_script_path def get_launch_kwargs(kwargs): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py index 3039d56ead..270acdd199 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """Create Composite node for render on farm.""" -import ayon_core.hosts.harmony.api as harmony -from ayon_core.hosts.harmony.api import plugin +import ayon_harmony.api as harmony +from ayon_harmony.api import plugin class CreateFarmRender(plugin.Creator): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py index 23e02bd8a5..d4622a3202 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """Create render node.""" -import ayon_core.hosts.harmony.api as harmony -from ayon_core.hosts.harmony.api import plugin +import ayon_harmony.api as harmony +from ayon_harmony.api import plugin class CreateRender(plugin.Creator): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py index c16e429436..79fd315998 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py @@ -1,4 +1,4 @@ -from ayon_core.hosts.harmony.api import plugin +from ayon_harmony.api import plugin class CreateTemplate(plugin.Creator): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py index d23f3ed034..3ba27d005f 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py @@ -2,7 +2,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony sig = harmony.signature() func = """ diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py index dad6ac2f22..7f0e5c5563 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py @@ -6,7 +6,7 @@ from ayon_core.pipeline import ( get_representation_path, ) from ayon_core.pipeline.context_tools import is_representation_from_latest -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony copy_files = """function copyFile(srcFilename, dstFilename) diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py index f81ebca9af..a1b890300c 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py @@ -11,7 +11,7 @@ from ayon_core.pipeline import ( get_representation_path, ) from ayon_core.pipeline.context_tools import is_representation_from_latest -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class ImageSequenceLoader(load.LoaderPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py index 24f4b4e8d4..930792aacf 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py @@ -5,7 +5,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class ImportPaletteLoader(load.LoaderPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py index 96dadb0375..1d183ed156 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py @@ -11,7 +11,7 @@ from ayon_core.pipeline import ( get_representation_path, ) from ayon_core.pipeline.context_tools import is_representation_from_latest -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class TemplateLoader(load.LoaderPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py index fa5ffe5105..0967eb9a30 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py @@ -7,7 +7,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class ImportTemplateLoader(load.LoaderPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py index ebe123eacc..cfa14aaa05 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py @@ -3,7 +3,7 @@ import os import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CollectCurrentFile(pyblish.api.ContextPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py index c63eb114e5..4730821dd8 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py @@ -7,7 +7,7 @@ import attr from ayon_core.lib import get_formatted_current_time from ayon_core.pipeline import publish from ayon_core.pipeline.publish import RenderInstance -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony @attr.s diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py index 5aad7d4751..a98ee3e98b 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py @@ -3,7 +3,7 @@ import json import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CollectInstances(pyblish.api.ContextPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py index 9e0b500663..818d9afc8a 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py @@ -4,7 +4,7 @@ import json import re import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CollectPalettes(pyblish.api.ContextPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py index bc2ccca1be..48f8aa0d3b 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py @@ -3,7 +3,7 @@ import os import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class CollectScene(pyblish.api.ContextPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py index 9f12c78d9f..ad1d38e862 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py @@ -5,7 +5,7 @@ import csv from PIL import Image, ImageDraw, ImageFont -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from ayon_core.pipeline import publish diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py index 391661a118..407a44c81a 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py @@ -3,7 +3,7 @@ import tempfile import subprocess import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony import ayon_core.lib import clique diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py index 1be74ba3a4..77ebc5b5a6 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py @@ -1,5 +1,5 @@ import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class ExtractSaveScene(pyblish.api.ContextPlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py index b2c7fa8174..650765771c 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py @@ -4,7 +4,7 @@ import os import shutil from ayon_core.pipeline import publish -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class ExtractTemplate(publish.Extractor): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py index 16332a5283..fa43455b0d 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline.publish import get_errored_plugins_from_context from ayon_core.lib import version_up -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony class IncrementWorkfile(pyblish.api.InstancePlugin): diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py index 808734a061..f2c1cfc9b4 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py @@ -2,7 +2,7 @@ import os import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from ayon_core.pipeline import PublishXmlValidationError diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py index 1200f6266b..8152aeeadf 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py @@ -1,6 +1,6 @@ import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from ayon_core.pipeline import get_current_folder_path from ayon_core.pipeline.publish import ( ValidateContentsOrder, diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py index dc3db3b544..3a4847d9fe 100644 --- a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py +++ b/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py @@ -6,7 +6,7 @@ import re import pyblish.api -import ayon_core.hosts.harmony.api as harmony +import ayon_harmony.api as harmony from ayon_core.pipeline import PublishXmlValidationError From 931b09cdcca8e0b17c781c16171e9bad4b5c66a3 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:53:20 +0200 Subject: [PATCH 038/124] change stdout broker import --- .../ayon_core/tools/stdout_broker/__init__.py | 5 + client/ayon_core/tools/stdout_broker/app.py | 181 +----------------- .../ayon_core/tools/stdout_broker/broker.py | 174 +++++++++++++++++ .../harmony/harmony/ayon_harmony/api/lib.py | 2 +- 4 files changed, 190 insertions(+), 172 deletions(-) create mode 100644 client/ayon_core/tools/stdout_broker/broker.py diff --git a/client/ayon_core/tools/stdout_broker/__init__.py b/client/ayon_core/tools/stdout_broker/__init__.py index e69de29bb2..e104c60573 100644 --- a/client/ayon_core/tools/stdout_broker/__init__.py +++ b/client/ayon_core/tools/stdout_broker/__init__.py @@ -0,0 +1,5 @@ +from .broker import StdOutBroker + +__all__ = ( + "StdOutBroker", +) diff --git a/client/ayon_core/tools/stdout_broker/app.py b/client/ayon_core/tools/stdout_broker/app.py index 15447b608b..ae73db1bb9 100644 --- a/client/ayon_core/tools/stdout_broker/app.py +++ b/client/ayon_core/tools/stdout_broker/app.py @@ -1,173 +1,12 @@ -import os -import sys -import threading -import collections -import websocket -import json -from datetime import datetime +import warnings +from .broker import StdOutBroker -from ayon_core.lib import Logger -from openpype_modules.webserver.host_console_listener import MsgAction +warnings.warn( + ( + "Import of 'StdOutBroker' from 'ayon_core.tools.stdout_broker.app'" + " is deprecated. Please use 'ayon_core.tools.stdout_broker' instead." + ), + DeprecationWarning +) -log = Logger.get_logger(__name__) - - -class StdOutBroker: - """ - Application showing console in Services tray for non python hosts - instead of cmd window. - """ - MAX_LINES = 10000 - TIMER_TIMEOUT = 0.200 - - def __init__(self, host_name): - self.host_name = host_name - self.webserver_client = None - - self.original_stdout_write = None - self.original_stderr_write = None - self.log_queue = collections.deque() - - date_str = datetime.now().strftime("%d%m%Y%H%M%S") - self.host_id = "{}_{}".format(self.host_name, date_str) - - self._std_available = False - self._is_running = False - self._catch_std_outputs() - - self._timer = None - - @property - def send_to_tray(self): - """Checks if connected to tray and have access to logs.""" - return self.webserver_client and self._std_available - - def start(self): - """Start app, create and start timer""" - if not self._std_available or self._is_running: - return - self._is_running = True - self._create_timer() - self._connect_to_tray() - - def stop(self): - """Disconnect from Tray, process last logs""" - if not self._is_running: - return - self._is_running = False - self._process_queue() - self._disconnect_from_tray() - - def host_connected(self): - """Send to Tray console that host is ready - icon change. """ - log.info("Host {} connected".format(self.host_id)) - - payload = { - "host": self.host_id, - "action": MsgAction.INITIALIZED, - "text": "Integration with {}".format( - str.capitalize(self.host_name)) - } - self._send(payload) - - def _create_timer(self): - timer = threading.Timer(self.TIMER_TIMEOUT, self._timer_callback) - timer.start() - self._timer = timer - - def _timer_callback(self): - if not self._is_running: - return - self._process_queue() - self._create_timer() - - def _connect_to_tray(self): - """Connect to Tray webserver to pass console output. """ - if not self._std_available: # not content to log - return - ws = websocket.WebSocket() - webserver_url = os.environ.get("AYON_WEBSERVER_URL") - - if not webserver_url: - print("Unknown webserver url, cannot connect to pass log") - return - - webserver_url = webserver_url.replace("http", "ws") - ws.connect("{}/ws/host_listener".format(webserver_url)) - self.webserver_client = ws - - payload = { - "host": self.host_id, - "action": MsgAction.CONNECTING, - "text": "Integration with {}".format( - str.capitalize(self.host_name)) - } - self._send(payload) - - def _disconnect_from_tray(self): - """Send to Tray that host is closing - remove from Services. """ - print("Host {} closing".format(self.host_name)) - if not self.webserver_client: - return - - payload = { - "host": self.host_id, - "action": MsgAction.CLOSE, - "text": "Integration with {}".format( - str.capitalize(self.host_name)) - } - - self._send(payload) - self.webserver_client.close() - - def _catch_std_outputs(self): - """Redirects standard out and error to own functions""" - if sys.stdout: - self.original_stdout_write = sys.stdout.write - sys.stdout.write = self._my_stdout_write - self._std_available = True - - if sys.stderr: - self.original_stderr_write = sys.stderr.write - sys.stderr.write = self._my_stderr_write - self._std_available = True - - def _my_stdout_write(self, text): - """Appends outputted text to queue, keep writing to original stdout""" - if self.original_stdout_write is not None: - self.original_stdout_write(text) - if self.send_to_tray: - self.log_queue.append(text) - - def _my_stderr_write(self, text): - """Appends outputted text to queue, keep writing to original stderr""" - if self.original_stderr_write is not None: - self.original_stderr_write(text) - if self.send_to_tray: - self.log_queue.append(text) - - def _process_queue(self): - """Sends lines and purges queue""" - if not self.send_to_tray: - return - - lines = tuple(self.log_queue) - self.log_queue.clear() - if lines: - payload = { - "host": self.host_id, - "action": MsgAction.ADD, - "text": "\n".join(lines) - } - - self._send(payload) - - def _send(self, payload): - """Worker method to send to existing websocket connection.""" - if not self.send_to_tray: - return - - try: - self.webserver_client.send(json.dumps(payload)) - except ConnectionResetError: # Tray closed - self._connect_to_tray() +__all__ = ("StdOutBroker", ) diff --git a/client/ayon_core/tools/stdout_broker/broker.py b/client/ayon_core/tools/stdout_broker/broker.py new file mode 100644 index 0000000000..e31eb0057e --- /dev/null +++ b/client/ayon_core/tools/stdout_broker/broker.py @@ -0,0 +1,174 @@ +import os +import sys +import threading +import collections +import json +from datetime import datetime + +import websocket + +from ayon_core.lib import Logger +from ayon_core.modules.webserver.host_console_listener import MsgAction + +log = Logger.get_logger(__name__) + + +class StdOutBroker: + """ + Application showing console in Services tray for non python hosts + instead of cmd window. + """ + MAX_LINES = 10000 + TIMER_TIMEOUT = 0.200 + + def __init__(self, host_name): + self.host_name = host_name + self.webserver_client = None + + self.original_stdout_write = None + self.original_stderr_write = None + self.log_queue = collections.deque() + + date_str = datetime.now().strftime("%d%m%Y%H%M%S") + self.host_id = "{}_{}".format(self.host_name, date_str) + + self._std_available = False + self._is_running = False + self._catch_std_outputs() + + self._timer = None + + @property + def send_to_tray(self): + """Checks if connected to tray and have access to logs.""" + return self.webserver_client and self._std_available + + def start(self): + """Start app, create and start timer""" + if not self._std_available or self._is_running: + return + self._is_running = True + self._create_timer() + self._connect_to_tray() + + def stop(self): + """Disconnect from Tray, process last logs""" + if not self._is_running: + return + self._is_running = False + self._process_queue() + self._disconnect_from_tray() + + def host_connected(self): + """Send to Tray console that host is ready - icon change. """ + log.info("Host {} connected".format(self.host_id)) + + payload = { + "host": self.host_id, + "action": MsgAction.INITIALIZED, + "text": "Integration with {}".format( + str.capitalize(self.host_name)) + } + self._send(payload) + + def _create_timer(self): + timer = threading.Timer(self.TIMER_TIMEOUT, self._timer_callback) + timer.start() + self._timer = timer + + def _timer_callback(self): + if not self._is_running: + return + self._process_queue() + self._create_timer() + + def _connect_to_tray(self): + """Connect to Tray webserver to pass console output. """ + if not self._std_available: # not content to log + return + ws = websocket.WebSocket() + webserver_url = os.environ.get("AYON_WEBSERVER_URL") + + if not webserver_url: + print("Unknown webserver url, cannot connect to pass log") + return + + webserver_url = webserver_url.replace("http", "ws") + ws.connect("{}/ws/host_listener".format(webserver_url)) + self.webserver_client = ws + + payload = { + "host": self.host_id, + "action": MsgAction.CONNECTING, + "text": "Integration with {}".format( + str.capitalize(self.host_name)) + } + self._send(payload) + + def _disconnect_from_tray(self): + """Send to Tray that host is closing - remove from Services. """ + print("Host {} closing".format(self.host_name)) + if not self.webserver_client: + return + + payload = { + "host": self.host_id, + "action": MsgAction.CLOSE, + "text": "Integration with {}".format( + str.capitalize(self.host_name)) + } + + self._send(payload) + self.webserver_client.close() + + def _catch_std_outputs(self): + """Redirects standard out and error to own functions""" + if sys.stdout: + self.original_stdout_write = sys.stdout.write + sys.stdout.write = self._my_stdout_write + self._std_available = True + + if sys.stderr: + self.original_stderr_write = sys.stderr.write + sys.stderr.write = self._my_stderr_write + self._std_available = True + + def _my_stdout_write(self, text): + """Appends outputted text to queue, keep writing to original stdout""" + if self.original_stdout_write is not None: + self.original_stdout_write(text) + if self.send_to_tray: + self.log_queue.append(text) + + def _my_stderr_write(self, text): + """Appends outputted text to queue, keep writing to original stderr""" + if self.original_stderr_write is not None: + self.original_stderr_write(text) + if self.send_to_tray: + self.log_queue.append(text) + + def _process_queue(self): + """Sends lines and purges queue""" + if not self.send_to_tray: + return + + lines = tuple(self.log_queue) + self.log_queue.clear() + if lines: + payload = { + "host": self.host_id, + "action": MsgAction.ADD, + "text": "\n".join(lines) + } + + self._send(payload) + + def _send(self, payload): + """Worker method to send to existing websocket connection.""" + if not self.send_to_tray: + return + + try: + self.webserver_client.send(json.dumps(payload)) + except ConnectionResetError: # Tray closed + self._connect_to_tray() diff --git a/server_addon/harmony/harmony/ayon_harmony/api/lib.py b/server_addon/harmony/harmony/ayon_harmony/api/lib.py index 900d66fa0c..46a5318430 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/lib.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/lib.py @@ -20,7 +20,7 @@ import collections from qtpy import QtWidgets, QtCore, QtGui from ayon_core.lib import is_using_ayon_console -from ayon_core.tools.stdout_broker.app import StdOutBroker +from ayon_core.tools.stdout_broker import StdOutBroker from ayon_core.tools.utils import host_tools from ayon_core import style From 9a3bcec6732ac8ed8c837e16b4822aeb99e405c6 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:55:39 +0200 Subject: [PATCH 039/124] added TODO --- server_addon/harmony/harmony/ayon_harmony/api/server.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/server_addon/harmony/harmony/ayon_harmony/api/server.py b/server_addon/harmony/harmony/ayon_harmony/api/server.py index 04048e5c84..7e1e36c2ed 100644 --- a/server_addon/harmony/harmony/ayon_harmony/api/server.py +++ b/server_addon/harmony/harmony/ayon_harmony/api/server.py @@ -69,6 +69,8 @@ class Server(threading.Thread): self.log.debug( f"[{self.timestamp()}] Processing request:\n{pretty}") + # TODO javascript should not define which module is imported and + # which function is called. It should send predefined requests. try: module = importlib.import_module(request["module"]) method = getattr(module, request["method"]) From dcb85b0ac19a8b2725955686191fea7777c68a77 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:59:48 +0200 Subject: [PATCH 040/124] added more information to package.py --- server_addon/harmony/package.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/server_addon/harmony/package.py b/server_addon/harmony/package.py index 00824cedef..af0006ec3b 100644 --- a/server_addon/harmony/package.py +++ b/server_addon/harmony/package.py @@ -1,3 +1,9 @@ name = "harmony" title = "Harmony" -version = "0.1.3" +version = "0.2.0" +client_dir = "ayon_harmony" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} From 9afb14d02d58caee83d3f0c4e0c237084dc6497d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 12:59:56 +0200 Subject: [PATCH 041/124] added version to client addon --- server_addon/harmony/harmony/ayon_harmony/__init__.py | 3 +++ server_addon/harmony/harmony/ayon_harmony/addon.py | 3 +++ server_addon/harmony/harmony/ayon_harmony/version.py | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 server_addon/harmony/harmony/ayon_harmony/version.py diff --git a/server_addon/harmony/harmony/ayon_harmony/__init__.py b/server_addon/harmony/harmony/ayon_harmony/__init__.py index 6454d6f9d7..425439a603 100644 --- a/server_addon/harmony/harmony/ayon_harmony/__init__.py +++ b/server_addon/harmony/harmony/ayon_harmony/__init__.py @@ -1,3 +1,4 @@ +from .version import __version__ from .addon import ( HARMONY_ADDON_ROOT, HarmonyAddon, @@ -6,6 +7,8 @@ from .addon import ( __all__ = ( + "__version__", + "HARMONY_ADDON_ROOT", "HarmonyAddon", "get_launch_script_path", diff --git a/server_addon/harmony/harmony/ayon_harmony/addon.py b/server_addon/harmony/harmony/ayon_harmony/addon.py index 1915a7eb6f..ef96cf03f7 100644 --- a/server_addon/harmony/harmony/ayon_harmony/addon.py +++ b/server_addon/harmony/harmony/ayon_harmony/addon.py @@ -1,11 +1,14 @@ import os from ayon_core.addon import AYONAddon, IHostAddon +from .version import __version__ + HARMONY_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) class HarmonyAddon(AYONAddon, IHostAddon): name = "harmony" + version = __version__ host_name = "harmony" def add_implementation_envs(self, env, _app): diff --git a/server_addon/harmony/harmony/ayon_harmony/version.py b/server_addon/harmony/harmony/ayon_harmony/version.py new file mode 100644 index 0000000000..e2a19655e2 --- /dev/null +++ b/server_addon/harmony/harmony/ayon_harmony/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'harmony' version.""" +__version__ = "0.2.0" From 140b370b21ca811cc06340ada776223ea53f852a Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 13:00:32 +0200 Subject: [PATCH 042/124] rename 'harmoy' to 'client' --- .../{harmony => client}/ayon_harmony/__init__.py | 0 .../{harmony => client}/ayon_harmony/addon.py | 0 .../{harmony => client}/ayon_harmony/api/README.md | 0 .../ayon_harmony/api/TB_sceneOpened.js | 0 .../ayon_harmony/api/__init__.py | 0 .../ayon_harmony/api/js/.eslintrc.json | 0 .../ayon_harmony/api/js/AvalonHarmony.js | 0 .../ayon_harmony/api/js/package.json | 0 .../ayon_harmony/api/launch_script.py | 0 .../{harmony => client}/ayon_harmony/api/lib.py | 0 .../ayon_harmony/api/pipeline.py | 0 .../{harmony => client}/ayon_harmony/api/plugin.py | 0 .../{harmony => client}/ayon_harmony/api/server.py | 0 .../{harmony => client}/ayon_harmony/api/temp.zip | Bin .../{harmony => client}/ayon_harmony/api/workio.py | 0 .../ayon_harmony/hooks/pre_launch_args.py | 0 .../ayon_harmony/js/.eslintrc.json | 0 .../ayon_harmony/js/PypeHarmony.js | 0 .../{harmony => client}/ayon_harmony/js/README.md | 0 .../ayon_harmony/js/creators/CreateRender.js | 0 .../ayon_harmony/js/loaders/ImageSequenceLoader.js | 0 .../ayon_harmony/js/loaders/TemplateLoader.js | 0 .../ayon_harmony/js/package.json | 0 .../ayon_harmony/js/publish/CollectCurrentFile.js | 0 .../ayon_harmony/js/publish/CollectFarmRender.js | 0 .../ayon_harmony/js/publish/CollectPalettes.js | 0 .../ayon_harmony/js/publish/ExtractPalette.js | 0 .../ayon_harmony/js/publish/ExtractTemplate.js | 0 .../ayon_harmony/plugins/__init__.py | 0 .../plugins/create/create_farm_render.py | 0 .../ayon_harmony/plugins/create/create_render.py | 0 .../ayon_harmony/plugins/create/create_template.py | 0 .../ayon_harmony/plugins/load/load_audio.py | 0 .../ayon_harmony/plugins/load/load_background.py | 0 .../ayon_harmony/plugins/load/load_imagesequence.py | 0 .../ayon_harmony/plugins/load/load_palette.py | 0 .../ayon_harmony/plugins/load/load_template.py | 0 .../plugins/load/load_template_workfile.py | 0 .../ayon_harmony/plugins/publish/collect_audio.py | 0 .../plugins/publish/collect_current_file.py | 0 .../plugins/publish/collect_farm_render.py | 0 .../plugins/publish/collect_instances.py | 0 .../plugins/publish/collect_palettes.py | 0 .../ayon_harmony/plugins/publish/collect_scene.py | 0 .../plugins/publish/collect_workfile.py | 0 .../ayon_harmony/plugins/publish/extract_palette.py | 0 .../ayon_harmony/plugins/publish/extract_render.py | 0 .../plugins/publish/extract_save_scene.py | 0 .../plugins/publish/extract_template.py | 0 .../plugins/publish/extract_workfile.py | 0 .../plugins/publish/help/validate_audio.xml | 0 .../plugins/publish/help/validate_instances.xml | 0 .../publish/help/validate_scene_settings.xml | 0 .../plugins/publish/increment_workfile.py | 0 .../ayon_harmony/plugins/publish/validate_audio.py | 0 .../plugins/publish/validate_instances.py | 0 .../plugins/publish/validate_scene_settings.py | 0 .../ayon_harmony/vendor/.eslintrc.json | 0 .../ayon_harmony/vendor/OpenHarmony/.gitattributes | 0 .../ayon_harmony/vendor/OpenHarmony/.gitignore | 0 .../ayon_harmony/vendor/OpenHarmony/Install.bat | 0 .../ayon_harmony/vendor/OpenHarmony/LICENSE | 0 .../ayon_harmony/vendor/OpenHarmony/README.md | 0 .../ayon_harmony/vendor/OpenHarmony/build_doc.bat | 0 .../vendor/OpenHarmony/documentation.json | 0 .../ayon_harmony/vendor/OpenHarmony/install.sh | 0 .../ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg | Bin .../ayon_harmony/vendor/OpenHarmony/openHarmony.js | 0 .../OpenHarmony/openHarmony/openHarmony_actions.js | 0 .../openHarmony/openHarmony_application.js | 0 .../openHarmony/openHarmony_attribute.js | 0 .../OpenHarmony/openHarmony/openHarmony_backdrop.js | 0 .../OpenHarmony/openHarmony/openHarmony_color.js | 0 .../OpenHarmony/openHarmony/openHarmony_column.js | 0 .../OpenHarmony/openHarmony/openHarmony_database.js | 0 .../OpenHarmony/openHarmony/openHarmony_dialog.js | 0 .../OpenHarmony/openHarmony/openHarmony_drawing.js | 0 .../OpenHarmony/openHarmony/openHarmony_element.js | 0 .../OpenHarmony/openHarmony/openHarmony_file.js | 0 .../OpenHarmony/openHarmony/openHarmony_frame.js | 0 .../OpenHarmony/openHarmony/openHarmony_list.js | 0 .../OpenHarmony/openHarmony/openHarmony_math.js | 0 .../OpenHarmony/openHarmony/openHarmony_metadata.js | 0 .../OpenHarmony/openHarmony/openHarmony_misc.js | 0 .../OpenHarmony/openHarmony/openHarmony_network.js | 0 .../OpenHarmony/openHarmony/openHarmony_node.js | 0 .../openHarmony/openHarmony_nodeAttributes.js | 0 .../OpenHarmony/openHarmony/openHarmony_nodeLink.js | 0 .../OpenHarmony/openHarmony/openHarmony_palette.js | 0 .../OpenHarmony/openHarmony/openHarmony_path.js | 0 .../openHarmony/openHarmony_preferencedoc.js | 0 .../openHarmony/openHarmony_preferences.js | 0 .../OpenHarmony/openHarmony/openHarmony_scene.js | 0 .../openHarmony/openHarmony_threading.js | 0 .../OpenHarmony/openHarmony/openHarmony_timeline.js | 0 .../OpenHarmony/openHarmony/openHarmony_tool.js | 0 .../openHarmony/openHarmony_toolInstall.ui | 0 .../vendor/OpenHarmony/openHarmony_install.js | 0 .../vendor/OpenHarmony/openHarmony_tools.js | 0 .../ayon_harmony/vendor/OpenHarmony/package.json | 0 .../Reference_view_currentToolManager().txt | 0 .../ayon_harmony/vendor/OpenHarmony/tbpackage.json | 0 .../OpenHarmony/tools/OpenHarmony_basic/INSTALL | 0 .../OpenHarmony/tools/OpenHarmony_basic/README | 0 .../OpenHarmony_basic/openHarmony_anim_tools.js | 0 .../openHarmony_basic_backdropPicker.ui | 0 .../OpenHarmony_basic/openHarmony_rigging_tools.js | 0 .../{harmony => client}/ayon_harmony/version.py | 0 108 files changed, 0 insertions(+), 0 deletions(-) rename server_addon/harmony/{harmony => client}/ayon_harmony/__init__.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/addon.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/README.md (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/TB_sceneOpened.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/__init__.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/js/.eslintrc.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/js/AvalonHarmony.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/js/package.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/launch_script.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/lib.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/pipeline.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/plugin.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/server.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/temp.zip (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/api/workio.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/hooks/pre_launch_args.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/.eslintrc.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/PypeHarmony.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/README.md (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/creators/CreateRender.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/loaders/ImageSequenceLoader.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/loaders/TemplateLoader.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/package.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/publish/CollectCurrentFile.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/publish/CollectFarmRender.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/publish/CollectPalettes.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/publish/ExtractPalette.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/js/publish/ExtractTemplate.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/__init__.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/create/create_farm_render.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/create/create_render.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/create/create_template.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_audio.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_background.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_imagesequence.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_palette.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_template.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/load/load_template_workfile.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_audio.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_current_file.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_farm_render.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_instances.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_palettes.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_scene.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/collect_workfile.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/extract_palette.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/extract_render.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/extract_save_scene.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/extract_template.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/extract_workfile.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/help/validate_audio.xml (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/help/validate_instances.xml (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/help/validate_scene_settings.xml (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/increment_workfile.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/validate_audio.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/validate_instances.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/plugins/publish/validate_scene_settings.py (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/.eslintrc.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/.gitattributes (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/.gitignore (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/Install.bat (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/LICENSE (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/README.md (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/build_doc.bat (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/documentation.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/install.sh (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/package.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tbpackage.json (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js (100%) rename server_addon/harmony/{harmony => client}/ayon_harmony/version.py (100%) diff --git a/server_addon/harmony/harmony/ayon_harmony/__init__.py b/server_addon/harmony/client/ayon_harmony/__init__.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/__init__.py rename to server_addon/harmony/client/ayon_harmony/__init__.py diff --git a/server_addon/harmony/harmony/ayon_harmony/addon.py b/server_addon/harmony/client/ayon_harmony/addon.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/addon.py rename to server_addon/harmony/client/ayon_harmony/addon.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/README.md b/server_addon/harmony/client/ayon_harmony/api/README.md similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/README.md rename to server_addon/harmony/client/ayon_harmony/api/README.md diff --git a/server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js b/server_addon/harmony/client/ayon_harmony/api/TB_sceneOpened.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/TB_sceneOpened.js rename to server_addon/harmony/client/ayon_harmony/api/TB_sceneOpened.js diff --git a/server_addon/harmony/harmony/ayon_harmony/api/__init__.py b/server_addon/harmony/client/ayon_harmony/api/__init__.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/__init__.py rename to server_addon/harmony/client/ayon_harmony/api/__init__.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/js/.eslintrc.json b/server_addon/harmony/client/ayon_harmony/api/js/.eslintrc.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/js/.eslintrc.json rename to server_addon/harmony/client/ayon_harmony/api/js/.eslintrc.json diff --git a/server_addon/harmony/harmony/ayon_harmony/api/js/AvalonHarmony.js b/server_addon/harmony/client/ayon_harmony/api/js/AvalonHarmony.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/js/AvalonHarmony.js rename to server_addon/harmony/client/ayon_harmony/api/js/AvalonHarmony.js diff --git a/server_addon/harmony/harmony/ayon_harmony/api/js/package.json b/server_addon/harmony/client/ayon_harmony/api/js/package.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/js/package.json rename to server_addon/harmony/client/ayon_harmony/api/js/package.json diff --git a/server_addon/harmony/harmony/ayon_harmony/api/launch_script.py b/server_addon/harmony/client/ayon_harmony/api/launch_script.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/launch_script.py rename to server_addon/harmony/client/ayon_harmony/api/launch_script.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/lib.py b/server_addon/harmony/client/ayon_harmony/api/lib.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/lib.py rename to server_addon/harmony/client/ayon_harmony/api/lib.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/pipeline.py b/server_addon/harmony/client/ayon_harmony/api/pipeline.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/pipeline.py rename to server_addon/harmony/client/ayon_harmony/api/pipeline.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/plugin.py b/server_addon/harmony/client/ayon_harmony/api/plugin.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/plugin.py rename to server_addon/harmony/client/ayon_harmony/api/plugin.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/server.py b/server_addon/harmony/client/ayon_harmony/api/server.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/server.py rename to server_addon/harmony/client/ayon_harmony/api/server.py diff --git a/server_addon/harmony/harmony/ayon_harmony/api/temp.zip b/server_addon/harmony/client/ayon_harmony/api/temp.zip similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/temp.zip rename to server_addon/harmony/client/ayon_harmony/api/temp.zip diff --git a/server_addon/harmony/harmony/ayon_harmony/api/workio.py b/server_addon/harmony/client/ayon_harmony/api/workio.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/api/workio.py rename to server_addon/harmony/client/ayon_harmony/api/workio.py diff --git a/server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py b/server_addon/harmony/client/ayon_harmony/hooks/pre_launch_args.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/hooks/pre_launch_args.py rename to server_addon/harmony/client/ayon_harmony/hooks/pre_launch_args.py diff --git a/server_addon/harmony/harmony/ayon_harmony/js/.eslintrc.json b/server_addon/harmony/client/ayon_harmony/js/.eslintrc.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/.eslintrc.json rename to server_addon/harmony/client/ayon_harmony/js/.eslintrc.json diff --git a/server_addon/harmony/harmony/ayon_harmony/js/PypeHarmony.js b/server_addon/harmony/client/ayon_harmony/js/PypeHarmony.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/PypeHarmony.js rename to server_addon/harmony/client/ayon_harmony/js/PypeHarmony.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/README.md b/server_addon/harmony/client/ayon_harmony/js/README.md similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/README.md rename to server_addon/harmony/client/ayon_harmony/js/README.md diff --git a/server_addon/harmony/harmony/ayon_harmony/js/creators/CreateRender.js b/server_addon/harmony/client/ayon_harmony/js/creators/CreateRender.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/creators/CreateRender.js rename to server_addon/harmony/client/ayon_harmony/js/creators/CreateRender.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/loaders/ImageSequenceLoader.js b/server_addon/harmony/client/ayon_harmony/js/loaders/ImageSequenceLoader.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/loaders/ImageSequenceLoader.js rename to server_addon/harmony/client/ayon_harmony/js/loaders/ImageSequenceLoader.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/loaders/TemplateLoader.js b/server_addon/harmony/client/ayon_harmony/js/loaders/TemplateLoader.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/loaders/TemplateLoader.js rename to server_addon/harmony/client/ayon_harmony/js/loaders/TemplateLoader.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/package.json b/server_addon/harmony/client/ayon_harmony/js/package.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/package.json rename to server_addon/harmony/client/ayon_harmony/js/package.json diff --git a/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectCurrentFile.js b/server_addon/harmony/client/ayon_harmony/js/publish/CollectCurrentFile.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/publish/CollectCurrentFile.js rename to server_addon/harmony/client/ayon_harmony/js/publish/CollectCurrentFile.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectFarmRender.js b/server_addon/harmony/client/ayon_harmony/js/publish/CollectFarmRender.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/publish/CollectFarmRender.js rename to server_addon/harmony/client/ayon_harmony/js/publish/CollectFarmRender.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/publish/CollectPalettes.js b/server_addon/harmony/client/ayon_harmony/js/publish/CollectPalettes.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/publish/CollectPalettes.js rename to server_addon/harmony/client/ayon_harmony/js/publish/CollectPalettes.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractPalette.js b/server_addon/harmony/client/ayon_harmony/js/publish/ExtractPalette.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractPalette.js rename to server_addon/harmony/client/ayon_harmony/js/publish/ExtractPalette.js diff --git a/server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractTemplate.js b/server_addon/harmony/client/ayon_harmony/js/publish/ExtractTemplate.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/js/publish/ExtractTemplate.js rename to server_addon/harmony/client/ayon_harmony/js/publish/ExtractTemplate.js diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/__init__.py b/server_addon/harmony/client/ayon_harmony/plugins/__init__.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/__init__.py rename to server_addon/harmony/client/ayon_harmony/plugins/__init__.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py b/server_addon/harmony/client/ayon_harmony/plugins/create/create_farm_render.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/create/create_farm_render.py rename to server_addon/harmony/client/ayon_harmony/plugins/create/create_farm_render.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py b/server_addon/harmony/client/ayon_harmony/plugins/create/create_render.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/create/create_render.py rename to server_addon/harmony/client/ayon_harmony/plugins/create/create_render.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py b/server_addon/harmony/client/ayon_harmony/plugins/create/create_template.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/create/create_template.py rename to server_addon/harmony/client/ayon_harmony/plugins/create/create_template.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_audio.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_audio.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_audio.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_background.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_background.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_background.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_imagesequence.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_palette.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_palette.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_palette.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_template.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_template.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_template_workfile.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/load/load_template_workfile.py rename to server_addon/harmony/client/ayon_harmony/plugins/load/load_template_workfile.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_audio.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_audio.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_audio.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_audio.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_current_file.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_current_file.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_current_file.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_farm_render.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_farm_render.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_farm_render.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_instances.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_instances.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_instances.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_palettes.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_scene.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_scene.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_scene.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_workfile.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_workfile.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/collect_workfile.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/collect_workfile.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/extract_palette.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_palette.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/extract_palette.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/extract_render.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_render.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/extract_render.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/extract_save_scene.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_save_scene.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/extract_save_scene.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/extract_template.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_template.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/extract_template.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_workfile.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/extract_workfile.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/extract_workfile.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/extract_workfile.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_audio.xml b/server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_audio.xml similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_audio.xml rename to server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_audio.xml diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_instances.xml b/server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_instances.xml similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_instances.xml rename to server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_instances.xml diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_scene_settings.xml b/server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_scene_settings.xml similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/help/validate_scene_settings.xml rename to server_addon/harmony/client/ayon_harmony/plugins/publish/help/validate_scene_settings.xml diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/increment_workfile.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/increment_workfile.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/increment_workfile.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_audio.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_instances.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_instances.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/validate_instances.py diff --git a/server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/plugins/publish/validate_scene_settings.py rename to server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/.eslintrc.json b/server_addon/harmony/client/ayon_harmony/vendor/.eslintrc.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/.eslintrc.json rename to server_addon/harmony/client/ayon_harmony/vendor/.eslintrc.json diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitattributes b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/.gitattributes similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitattributes rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/.gitattributes diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitignore b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/.gitignore similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/.gitignore rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/.gitignore diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/Install.bat b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/Install.bat similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/Install.bat rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/Install.bat diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/LICENSE b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/LICENSE similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/LICENSE rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/LICENSE diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/README.md b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/README.md similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/README.md rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/README.md diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/build_doc.bat b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/build_doc.bat similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/build_doc.bat rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/build_doc.bat diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/documentation.json b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/documentation.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/documentation.json rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/documentation.json diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/install.sh b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/install.sh similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/install.sh rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/install.sh diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/oH_DOM.jpg diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_actions.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_application.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_attribute.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_backdrop.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_color.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_column.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_database.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_dialog.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_drawing.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_element.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_file.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_frame.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_list.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_math.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_metadata.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_misc.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_network.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_node.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeAttributes.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_nodeLink.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_palette.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_path.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferencedoc.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_preferences.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_scene.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_threading.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_timeline.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_tool.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony/openHarmony_toolInstall.ui diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony_install.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/openHarmony_tools.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/package.json b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/package.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/package.json rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/package.json diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/reference/Reference_view_currentToolManager().txt diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tbpackage.json b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tbpackage.json similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tbpackage.json rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tbpackage.json diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/INSTALL diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/README diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_anim_tools.js diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_basic_backdropPicker.ui diff --git a/server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js b/server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js rename to server_addon/harmony/client/ayon_harmony/vendor/OpenHarmony/tools/OpenHarmony_basic/openHarmony_rigging_tools.js diff --git a/server_addon/harmony/harmony/ayon_harmony/version.py b/server_addon/harmony/client/ayon_harmony/version.py similarity index 100% rename from server_addon/harmony/harmony/ayon_harmony/version.py rename to server_addon/harmony/client/ayon_harmony/version.py From 3f3ab62b0a53cba82b19d9f0e3aa96c877e2d354 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 13:03:45 +0200 Subject: [PATCH 043/124] add settings category --- .../client/ayon_harmony/plugins/publish/collect_palettes.py | 2 ++ .../client/ayon_harmony/plugins/publish/validate_audio.py | 1 + .../ayon_harmony/plugins/publish/validate_scene_settings.py | 1 + 3 files changed, 4 insertions(+) diff --git a/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py index 818d9afc8a..fb40196510 100644 --- a/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py +++ b/server_addon/harmony/client/ayon_harmony/plugins/publish/collect_palettes.py @@ -14,6 +14,8 @@ class CollectPalettes(pyblish.api.ContextPlugin): order = pyblish.api.CollectorOrder + 0.003 hosts = ["harmony"] + settings_category = "harmony" + # list of regexes for task names where collecting should happen allowed_tasks = [] diff --git a/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py index f2c1cfc9b4..6caa12c1e1 100644 --- a/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py +++ b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_audio.py @@ -18,6 +18,7 @@ class ValidateAudio(pyblish.api.InstancePlugin): label = "Validate Audio" families = ["render"] hosts = ["harmony"] + settings_category = "harmony" optional = True def process(self, instance): diff --git a/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py index 3a4847d9fe..082eb4f1dd 100644 --- a/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py +++ b/server_addon/harmony/client/ayon_harmony/plugins/publish/validate_scene_settings.py @@ -42,6 +42,7 @@ class ValidateSceneSettings(pyblish.api.InstancePlugin): families = ["workfile"] hosts = ["harmony"] actions = [ValidateSceneSettingsRepair] + settings_category = "harmony" optional = True # skip frameEnd check if asset contains any of: From 770658dd3a32dcc66a6353e1b15efca2e7c2689c Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 30 May 2024 13:37:22 +0200 Subject: [PATCH 044/124] added harmony milestone --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index d60da05f44..203d135faa 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -54,6 +54,7 @@ MOVED_ADDON_MILESTONE_VERSIONS = { "celaction": VersionInfo(0, 2, 0), "clockify": VersionInfo(0, 2, 0), "flame": VersionInfo(0, 2, 0), + "harmony": VersionInfo(0, 2, 0), "traypublisher": VersionInfo(0, 2, 0), "tvpaint": VersionInfo(0, 2, 0), "nuke": VersionInfo(0, 2, 0), From 6c9948704d89e0d6c9b6a6a688df19002f5a98b0 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 30 May 2024 17:42:23 +0200 Subject: [PATCH 045/124] AY-5647 - use On/off toggle for RoaylRender --- client/ayon_core/modules/royalrender/addon.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/modules/royalrender/addon.py b/client/ayon_core/modules/royalrender/addon.py index e69cf9feec..8365f41bc4 100644 --- a/client/ayon_core/modules/royalrender/addon.py +++ b/client/ayon_core/modules/royalrender/addon.py @@ -20,7 +20,10 @@ class RoyalRenderAddon(AYONAddon, IPluginPaths): def initialize(self, studio_settings): # type: (dict) -> None - self.enabled = self.name in studio_settings + self.enabled = False + addon_settings = studio_settings.get(self.name) + if addon_settings: + self.enabled = addon_settings["enabled"] @staticmethod def get_plugin_paths(): From 18139a8a03364f584606429b4f713a602cda16c6 Mon Sep 17 00:00:00 2001 From: Petr Kalis Date: Thu, 30 May 2024 17:42:49 +0200 Subject: [PATCH 046/124] AY-5647 - removed commented code --- client/ayon_core/modules/royalrender/addon.py | 9 --------- 1 file changed, 9 deletions(-) diff --git a/client/ayon_core/modules/royalrender/addon.py b/client/ayon_core/modules/royalrender/addon.py index 8365f41bc4..f7b035b1cd 100644 --- a/client/ayon_core/modules/royalrender/addon.py +++ b/client/ayon_core/modules/royalrender/addon.py @@ -9,15 +9,6 @@ class RoyalRenderAddon(AYONAddon, IPluginPaths): """Class providing basic Royal Render implementation logic.""" name = "royalrender" - # _rr_api = None - # @property - # def rr_api(self): - # if not self._rr_api: - # # import royal render modules - # from .api import Api - # self._rr_api = Api(self.settings) - # return self._rr_api - def initialize(self, studio_settings): # type: (dict) -> None self.enabled = False From 438f1301b6b9218751b5e1d049c251eb9309f9f9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 11:12:03 +0200 Subject: [PATCH 047/124] move fusion next to server codebase --- .../fusion => server_addon/fusion/client/ayon_fusion}/__init__.py | 0 .../fusion => server_addon/fusion/client/ayon_fusion}/addon.py | 0 .../fusion/client/ayon_fusion}/api/__init__.py | 0 .../fusion/client/ayon_fusion}/api/action.py | 0 .../fusion => server_addon/fusion/client/ayon_fusion}/api/lib.py | 0 .../fusion => server_addon/fusion/client/ayon_fusion}/api/menu.py | 0 .../fusion/client/ayon_fusion}/api/pipeline.py | 0 .../fusion/client/ayon_fusion}/api/plugin.py | 0 .../fusion/client/ayon_fusion}/api/pulse.py | 0 .../fusion/client/ayon_fusion}/deploy/MenuScripts/README.md | 0 .../client/ayon_fusion}/deploy/MenuScripts/install_pyside2.py | 0 .../fusion/client/ayon_fusion}/deploy/MenuScripts/launch_menu.py | 0 .../fusion/client/ayon_fusion}/deploy/ayon/Config/menu.fu | 0 .../fusion/client/ayon_fusion}/deploy/ayon/fusion_shared.prefs | 0 .../client/ayon_fusion}/hooks/pre_fusion_launch_menu_hook.py | 0 .../fusion/client/ayon_fusion}/hooks/pre_fusion_profile_hook.py | 0 .../fusion/client/ayon_fusion}/hooks/pre_fusion_setup.py | 0 .../fusion/client/ayon_fusion}/hooks/pre_pyside_install.py | 0 .../client/ayon_fusion}/plugins/create/create_image_saver.py | 0 .../fusion/client/ayon_fusion}/plugins/create/create_saver.py | 0 .../fusion/client/ayon_fusion}/plugins/create/create_workfile.py | 0 .../client/ayon_fusion}/plugins/inventory/select_containers.py | 0 .../client/ayon_fusion}/plugins/inventory/set_tool_color.py | 0 .../fusion/client/ayon_fusion}/plugins/load/actions.py | 0 .../fusion/client/ayon_fusion}/plugins/load/load_alembic.py | 0 .../fusion/client/ayon_fusion}/plugins/load/load_fbx.py | 0 .../fusion/client/ayon_fusion}/plugins/load/load_sequence.py | 0 .../fusion/client/ayon_fusion}/plugins/load/load_usd.py | 0 .../fusion/client/ayon_fusion}/plugins/load/load_workfile.py | 0 .../fusion/client/ayon_fusion}/plugins/publish/collect_comp.py | 0 .../ayon_fusion}/plugins/publish/collect_comp_frame_range.py | 0 .../fusion/client/ayon_fusion}/plugins/publish/collect_inputs.py | 0 .../client/ayon_fusion}/plugins/publish/collect_instances.py | 0 .../fusion/client/ayon_fusion}/plugins/publish/collect_render.py | 0 .../client/ayon_fusion}/plugins/publish/collect_workfile.py | 0 .../client/ayon_fusion}/plugins/publish/extract_render_local.py | 0 .../client/ayon_fusion}/plugins/publish/increment_current_file.py | 0 .../fusion/client/ayon_fusion}/plugins/publish/save_scene.py | 0 .../ayon_fusion}/plugins/publish/validate_background_depth.py | 0 .../client/ayon_fusion}/plugins/publish/validate_comp_saved.py | 0 .../plugins/publish/validate_create_folder_checked.py | 0 .../plugins/publish/validate_expected_frames_existence.py | 0 .../plugins/publish/validate_filename_has_extension.py | 0 .../client/ayon_fusion}/plugins/publish/validate_image_frame.py | 0 .../ayon_fusion}/plugins/publish/validate_instance_frame_range.py | 0 .../ayon_fusion}/plugins/publish/validate_instance_in_context.py | 0 .../ayon_fusion}/plugins/publish/validate_saver_has_input.py | 0 .../ayon_fusion}/plugins/publish/validate_saver_passthrough.py | 0 .../ayon_fusion}/plugins/publish/validate_saver_resolution.py | 0 .../ayon_fusion}/plugins/publish/validate_unique_subsets.py | 0 .../fusion/client/ayon_fusion}/scripts/__init__.py | 0 .../fusion/client/ayon_fusion}/scripts/duplicate_with_inputs.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/__init__.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/__init__.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/_cmp.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_cmp.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/_compat.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_config.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_funcs.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_make.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_next_gen.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_version_info.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/_version_info.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/converters.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/converters.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/exceptions.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/exceptions.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/filters.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/filters.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/py.typed | 0 .../fusion/client/ayon_fusion}/vendor/attr/setters.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/setters.pyi | 0 .../fusion/client/ayon_fusion}/vendor/attr/validators.py | 0 .../fusion/client/ayon_fusion}/vendor/attr/validators.pyi | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/__init__.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/_collections.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/_version.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/connection.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/connectionpool.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/contrib/__init__.py | 0 .../ayon_fusion}/vendor/urllib3/contrib/_appengine_environ.py | 0 .../vendor/urllib3/contrib/_securetransport/__init__.py | 0 .../vendor/urllib3/contrib/_securetransport/bindings.py | 0 .../vendor/urllib3/contrib/_securetransport/low_level.py | 0 .../client/ayon_fusion}/vendor/urllib3/contrib/appengine.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/contrib/ntlmpool.py | 0 .../client/ayon_fusion}/vendor/urllib3/contrib/pyopenssl.py | 0 .../client/ayon_fusion}/vendor/urllib3/contrib/securetransport.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/contrib/socks.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/exceptions.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/fields.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/filepost.py | 0 .../client/ayon_fusion}/vendor/urllib3/packages/__init__.py | 0 .../ayon_fusion}/vendor/urllib3/packages/backports/__init__.py | 0 .../ayon_fusion}/vendor/urllib3/packages/backports/makefile.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/packages/six.py | 0 .../vendor/urllib3/packages/ssl_match_hostname/__init__.py | 0 .../vendor/urllib3/packages/ssl_match_hostname/_implementation.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/poolmanager.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/request.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/response.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/__init__.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/connection.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/proxy.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/queue.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/request.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/response.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/retry.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/ssl_.py | 0 .../client/ayon_fusion}/vendor/urllib3/util/ssltransport.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/timeout.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/url.py | 0 .../fusion/client/ayon_fusion}/vendor/urllib3/util/wait.py | 0 113 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/addon.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/action.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/lib.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/menu.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/pipeline.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/plugin.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/api/pulse.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/deploy/MenuScripts/README.md (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/deploy/MenuScripts/install_pyside2.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/deploy/MenuScripts/launch_menu.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/deploy/ayon/Config/menu.fu (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/deploy/ayon/fusion_shared.prefs (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/hooks/pre_fusion_launch_menu_hook.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/hooks/pre_fusion_profile_hook.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/hooks/pre_fusion_setup.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/hooks/pre_pyside_install.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/create/create_image_saver.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/create/create_saver.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/create/create_workfile.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/inventory/select_containers.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/inventory/set_tool_color.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/actions.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/load_alembic.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/load_fbx.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/load_sequence.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/load_usd.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/load/load_workfile.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_comp.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_comp_frame_range.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_inputs.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_instances.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_render.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/collect_workfile.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/extract_render_local.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/increment_current_file.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/save_scene.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_background_depth.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_comp_saved.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_create_folder_checked.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_expected_frames_existence.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_filename_has_extension.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_image_frame.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_instance_frame_range.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_instance_in_context.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_saver_has_input.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_saver_passthrough.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_saver_resolution.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/plugins/publish/validate_unique_subsets.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/scripts/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/scripts/duplicate_with_inputs.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/__init__.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_cmp.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_cmp.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_compat.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_config.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_funcs.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_make.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_next_gen.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_version_info.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/_version_info.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/converters.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/converters.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/exceptions.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/exceptions.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/filters.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/filters.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/py.typed (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/setters.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/setters.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/validators.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/attr/validators.pyi (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/_collections.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/_version.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/connection.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/connectionpool.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/_appengine_environ.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/_securetransport/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/_securetransport/bindings.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/_securetransport/low_level.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/appengine.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/ntlmpool.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/pyopenssl.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/securetransport.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/contrib/socks.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/exceptions.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/fields.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/filepost.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/backports/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/backports/makefile.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/six.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/ssl_match_hostname/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/packages/ssl_match_hostname/_implementation.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/poolmanager.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/request.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/response.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/__init__.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/connection.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/proxy.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/queue.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/request.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/response.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/retry.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/ssl_.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/ssltransport.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/timeout.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/url.py (100%) rename {client/ayon_core/hosts/fusion => server_addon/fusion/client/ayon_fusion}/vendor/urllib3/util/wait.py (100%) diff --git a/client/ayon_core/hosts/fusion/__init__.py b/server_addon/fusion/client/ayon_fusion/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/__init__.py rename to server_addon/fusion/client/ayon_fusion/__init__.py diff --git a/client/ayon_core/hosts/fusion/addon.py b/server_addon/fusion/client/ayon_fusion/addon.py similarity index 100% rename from client/ayon_core/hosts/fusion/addon.py rename to server_addon/fusion/client/ayon_fusion/addon.py diff --git a/client/ayon_core/hosts/fusion/api/__init__.py b/server_addon/fusion/client/ayon_fusion/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/__init__.py rename to server_addon/fusion/client/ayon_fusion/api/__init__.py diff --git a/client/ayon_core/hosts/fusion/api/action.py b/server_addon/fusion/client/ayon_fusion/api/action.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/action.py rename to server_addon/fusion/client/ayon_fusion/api/action.py diff --git a/client/ayon_core/hosts/fusion/api/lib.py b/server_addon/fusion/client/ayon_fusion/api/lib.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/lib.py rename to server_addon/fusion/client/ayon_fusion/api/lib.py diff --git a/client/ayon_core/hosts/fusion/api/menu.py b/server_addon/fusion/client/ayon_fusion/api/menu.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/menu.py rename to server_addon/fusion/client/ayon_fusion/api/menu.py diff --git a/client/ayon_core/hosts/fusion/api/pipeline.py b/server_addon/fusion/client/ayon_fusion/api/pipeline.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/pipeline.py rename to server_addon/fusion/client/ayon_fusion/api/pipeline.py diff --git a/client/ayon_core/hosts/fusion/api/plugin.py b/server_addon/fusion/client/ayon_fusion/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/plugin.py rename to server_addon/fusion/client/ayon_fusion/api/plugin.py diff --git a/client/ayon_core/hosts/fusion/api/pulse.py b/server_addon/fusion/client/ayon_fusion/api/pulse.py similarity index 100% rename from client/ayon_core/hosts/fusion/api/pulse.py rename to server_addon/fusion/client/ayon_fusion/api/pulse.py diff --git a/client/ayon_core/hosts/fusion/deploy/MenuScripts/README.md b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/README.md similarity index 100% rename from client/ayon_core/hosts/fusion/deploy/MenuScripts/README.md rename to server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/README.md diff --git a/client/ayon_core/hosts/fusion/deploy/MenuScripts/install_pyside2.py b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/install_pyside2.py similarity index 100% rename from client/ayon_core/hosts/fusion/deploy/MenuScripts/install_pyside2.py rename to server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/install_pyside2.py diff --git a/client/ayon_core/hosts/fusion/deploy/MenuScripts/launch_menu.py b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py similarity index 100% rename from client/ayon_core/hosts/fusion/deploy/MenuScripts/launch_menu.py rename to server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py diff --git a/client/ayon_core/hosts/fusion/deploy/ayon/Config/menu.fu b/server_addon/fusion/client/ayon_fusion/deploy/ayon/Config/menu.fu similarity index 100% rename from client/ayon_core/hosts/fusion/deploy/ayon/Config/menu.fu rename to server_addon/fusion/client/ayon_fusion/deploy/ayon/Config/menu.fu diff --git a/client/ayon_core/hosts/fusion/deploy/ayon/fusion_shared.prefs b/server_addon/fusion/client/ayon_fusion/deploy/ayon/fusion_shared.prefs similarity index 100% rename from client/ayon_core/hosts/fusion/deploy/ayon/fusion_shared.prefs rename to server_addon/fusion/client/ayon_fusion/deploy/ayon/fusion_shared.prefs diff --git a/client/ayon_core/hosts/fusion/hooks/pre_fusion_launch_menu_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py similarity index 100% rename from client/ayon_core/hosts/fusion/hooks/pre_fusion_launch_menu_hook.py rename to server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py diff --git a/client/ayon_core/hosts/fusion/hooks/pre_fusion_profile_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py similarity index 100% rename from client/ayon_core/hosts/fusion/hooks/pre_fusion_profile_hook.py rename to server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py diff --git a/client/ayon_core/hosts/fusion/hooks/pre_fusion_setup.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py similarity index 100% rename from client/ayon_core/hosts/fusion/hooks/pre_fusion_setup.py rename to server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py diff --git a/client/ayon_core/hosts/fusion/hooks/pre_pyside_install.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_pyside_install.py similarity index 100% rename from client/ayon_core/hosts/fusion/hooks/pre_pyside_install.py rename to server_addon/fusion/client/ayon_fusion/hooks/pre_pyside_install.py diff --git a/client/ayon_core/hosts/fusion/plugins/create/create_image_saver.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/create/create_image_saver.py rename to server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py diff --git a/client/ayon_core/hosts/fusion/plugins/create/create_saver.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/create/create_saver.py rename to server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py diff --git a/client/ayon_core/hosts/fusion/plugins/create/create_workfile.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/create/create_workfile.py rename to server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py diff --git a/client/ayon_core/hosts/fusion/plugins/inventory/select_containers.py b/server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/inventory/select_containers.py rename to server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py diff --git a/client/ayon_core/hosts/fusion/plugins/inventory/set_tool_color.py b/server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/inventory/set_tool_color.py rename to server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/actions.py b/server_addon/fusion/client/ayon_fusion/plugins/load/actions.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/actions.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/actions.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/load_alembic.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/load_alembic.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/load_fbx.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/load_fbx.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/load_sequence.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/load_sequence.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/load_usd.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/load_usd.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py diff --git a/client/ayon_core/hosts/fusion/plugins/load/load_workfile.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/load/load_workfile.py rename to server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_comp.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_comp.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_comp_frame_range.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp_frame_range.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_comp_frame_range.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp_frame_range.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_inputs.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_inputs.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_inputs.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_inputs.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_instances.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_instances.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_instances.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_instances.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_render.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_render.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/collect_workfile.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_workfile.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/collect_workfile.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/collect_workfile.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/extract_render_local.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/extract_render_local.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/increment_current_file.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/increment_current_file.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/increment_current_file.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/increment_current_file.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/save_scene.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/save_scene.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/save_scene.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/save_scene.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_background_depth.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_background_depth.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_comp_saved.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_comp_saved.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_comp_saved.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_comp_saved.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_create_folder_checked.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_create_folder_checked.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_expected_frames_existence.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_expected_frames_existence.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_filename_has_extension.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_filename_has_extension.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_image_frame.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_image_frame.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_image_frame.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_image_frame.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_instance_frame_range.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_frame_range.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_instance_frame_range.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_frame_range.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_instance_in_context.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_instance_in_context.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_saver_has_input.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_saver_has_input.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_saver_passthrough.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_saver_passthrough.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_saver_resolution.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_saver_resolution.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py diff --git a/client/ayon_core/hosts/fusion/plugins/publish/validate_unique_subsets.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py similarity index 100% rename from client/ayon_core/hosts/fusion/plugins/publish/validate_unique_subsets.py rename to server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py diff --git a/client/ayon_core/hosts/fusion/scripts/__init__.py b/server_addon/fusion/client/ayon_fusion/scripts/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/scripts/__init__.py rename to server_addon/fusion/client/ayon_fusion/scripts/__init__.py diff --git a/client/ayon_core/hosts/fusion/scripts/duplicate_with_inputs.py b/server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py similarity index 100% rename from client/ayon_core/hosts/fusion/scripts/duplicate_with_inputs.py rename to server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/__init__.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/__init__.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/__init__.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/__init__.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_cmp.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_cmp.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_cmp.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_cmp.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_cmp.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/_cmp.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_cmp.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_cmp.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_compat.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_compat.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_compat.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_compat.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_config.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_config.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_config.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_config.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_funcs.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_funcs.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_funcs.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_funcs.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_make.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_make.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_make.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_make.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_next_gen.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_next_gen.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_next_gen.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_next_gen.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_version_info.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/_version_info.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_version_info.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_version_info.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/_version_info.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/_version_info.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/_version_info.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/_version_info.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/converters.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/converters.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/converters.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/converters.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/converters.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/converters.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/converters.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/converters.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/exceptions.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/exceptions.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/exceptions.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/exceptions.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/exceptions.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/exceptions.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/exceptions.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/exceptions.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/filters.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/filters.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/filters.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/filters.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/filters.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/filters.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/filters.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/filters.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/py.typed b/server_addon/fusion/client/ayon_fusion/vendor/attr/py.typed similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/py.typed rename to server_addon/fusion/client/ayon_fusion/vendor/attr/py.typed diff --git a/client/ayon_core/hosts/fusion/vendor/attr/setters.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/setters.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/setters.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/setters.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/setters.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/setters.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/setters.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/setters.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/attr/validators.py b/server_addon/fusion/client/ayon_fusion/vendor/attr/validators.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/validators.py rename to server_addon/fusion/client/ayon_fusion/vendor/attr/validators.py diff --git a/client/ayon_core/hosts/fusion/vendor/attr/validators.pyi b/server_addon/fusion/client/ayon_fusion/vendor/attr/validators.pyi similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/attr/validators.pyi rename to server_addon/fusion/client/ayon_fusion/vendor/attr/validators.pyi diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/_collections.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/_collections.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/_collections.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/_collections.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/_version.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/_version.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/_version.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/_version.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/connection.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/connection.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/connection.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/connection.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/connectionpool.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/connectionpool.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/connectionpool.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/connectionpool.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_appengine_environ.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_appengine_environ.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_appengine_environ.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_appengine_environ.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/bindings.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/bindings.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/bindings.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/bindings.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/low_level.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/low_level.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/_securetransport/low_level.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/_securetransport/low_level.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/appengine.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/appengine.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/appengine.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/appengine.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/ntlmpool.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/ntlmpool.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/ntlmpool.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/ntlmpool.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/pyopenssl.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/pyopenssl.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/pyopenssl.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/pyopenssl.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/securetransport.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/securetransport.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/securetransport.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/securetransport.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/contrib/socks.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/socks.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/contrib/socks.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/contrib/socks.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/exceptions.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/exceptions.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/exceptions.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/exceptions.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/fields.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/fields.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/fields.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/fields.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/filepost.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/filepost.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/filepost.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/filepost.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/backports/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/backports/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/backports/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/backports/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/backports/makefile.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/backports/makefile.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/backports/makefile.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/backports/makefile.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/six.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/six.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/six.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/six.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/ssl_match_hostname/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/ssl_match_hostname/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/ssl_match_hostname/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/ssl_match_hostname/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/packages/ssl_match_hostname/_implementation.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/ssl_match_hostname/_implementation.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/packages/ssl_match_hostname/_implementation.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/packages/ssl_match_hostname/_implementation.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/poolmanager.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/poolmanager.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/poolmanager.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/poolmanager.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/request.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/request.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/request.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/request.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/response.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/response.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/response.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/response.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/__init__.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/__init__.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/__init__.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/__init__.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/connection.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/connection.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/connection.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/connection.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/proxy.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/proxy.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/proxy.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/proxy.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/queue.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/queue.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/queue.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/queue.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/request.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/request.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/request.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/request.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/response.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/response.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/response.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/response.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/retry.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/retry.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/retry.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/retry.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/ssl_.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/ssl_.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/ssl_.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/ssl_.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/ssltransport.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/ssltransport.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/ssltransport.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/ssltransport.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/timeout.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/timeout.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/timeout.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/timeout.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/url.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/url.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/url.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/url.py diff --git a/client/ayon_core/hosts/fusion/vendor/urllib3/util/wait.py b/server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/wait.py similarity index 100% rename from client/ayon_core/hosts/fusion/vendor/urllib3/util/wait.py rename to server_addon/fusion/client/ayon_fusion/vendor/urllib3/util/wait.py From 095cf69a97a525a1add462b6a53bd889d248c3f2 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 11:13:09 +0200 Subject: [PATCH 048/124] added more information to package.py --- server_addon/fusion/package.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/server_addon/fusion/package.py b/server_addon/fusion/package.py index 9e7a46df2c..e82e9bf0f6 100644 --- a/server_addon/fusion/package.py +++ b/server_addon/fusion/package.py @@ -1,3 +1,10 @@ name = "fusion" title = "Fusion" -version = "0.1.5" +version = "0.2.0" + +client_dir = "ayon_fusion" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} From 639d3d418e7e336b33c6795d1b40d3673def259c Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Fri, 31 May 2024 17:12:04 +0300 Subject: [PATCH 049/124] update docstring and add hosts attibute in Houdini plugins base classes --- server_addon/houdini/client/ayon_houdini/api/plugin.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 05a948984b..22a2b40dd4 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -358,18 +358,21 @@ class HoudiniCreator(NewCreator, HoudiniCreatorBase): class HoudiniLoader(load.LoaderPlugin): - """Base class for most of the Houdini load plugins.""" + """Base class for Houdini load plugins.""" + hosts = ["houdini"] settings_category = SETTINGS_CATEGORY class HoudiniInstancePlugin(pyblish.api.InstancePlugin): - """Base class for most of the Houdini instance publish plugins.""" + """Base class for Houdini instance publish plugins.""" + hosts = ["houdini"] settings_category = SETTINGS_CATEGORY class HoudiniContextPlugin(pyblish.api.ContextPlugin): - """Base class for most of the Houdini context publish plugins.""" + """Base class for Houdini context publish plugins.""" + hosts = ["houdini"] settings_category = SETTINGS_CATEGORY From 8b5b88de900f4460bfe758bf67c7ef6fa519d7b9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:26:25 +0200 Subject: [PATCH 050/124] fix imports --- server_addon/fusion/client/ayon_fusion/api/action.py | 2 +- server_addon/fusion/client/ayon_fusion/api/menu.py | 4 ++-- server_addon/fusion/client/ayon_fusion/api/pipeline.py | 6 +++--- server_addon/fusion/client/ayon_fusion/api/plugin.py | 2 +- .../client/ayon_fusion/deploy/MenuScripts/launch_menu.py | 4 ++-- .../client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py | 2 +- .../client/ayon_fusion/hooks/pre_fusion_profile_hook.py | 2 +- .../fusion/client/ayon_fusion/hooks/pre_fusion_setup.py | 2 +- .../client/ayon_fusion/plugins/create/create_image_saver.py | 2 +- .../client/ayon_fusion/plugins/create/create_saver.py | 4 ++-- .../client/ayon_fusion/plugins/create/create_workfile.py | 2 +- .../ayon_fusion/plugins/inventory/select_containers.py | 2 +- .../client/ayon_fusion/plugins/inventory/set_tool_color.py | 2 +- .../fusion/client/ayon_fusion/plugins/load/actions.py | 4 ++-- .../fusion/client/ayon_fusion/plugins/load/load_alembic.py | 2 +- .../fusion/client/ayon_fusion/plugins/load/load_fbx.py | 2 +- .../fusion/client/ayon_fusion/plugins/load/load_sequence.py | 2 +- .../fusion/client/ayon_fusion/plugins/load/load_usd.py | 4 ++-- .../fusion/client/ayon_fusion/plugins/load/load_workfile.py | 2 +- .../client/ayon_fusion/plugins/publish/collect_comp.py | 2 +- .../client/ayon_fusion/plugins/publish/collect_render.py | 2 +- .../ayon_fusion/plugins/publish/extract_render_local.py | 4 ++-- .../plugins/publish/validate_background_depth.py | 2 +- .../plugins/publish/validate_create_folder_checked.py | 2 +- .../plugins/publish/validate_expected_frames_existence.py | 2 +- .../plugins/publish/validate_filename_has_extension.py | 2 +- .../plugins/publish/validate_instance_in_context.py | 2 +- .../ayon_fusion/plugins/publish/validate_saver_has_input.py | 2 +- .../plugins/publish/validate_saver_passthrough.py | 2 +- .../plugins/publish/validate_saver_resolution.py | 4 ++-- .../ayon_fusion/plugins/publish/validate_unique_subsets.py | 2 +- .../client/ayon_fusion/scripts/duplicate_with_inputs.py | 2 +- 32 files changed, 41 insertions(+), 41 deletions(-) diff --git a/server_addon/fusion/client/ayon_fusion/api/action.py b/server_addon/fusion/client/ayon_fusion/api/action.py index a0c6aafcb5..02cd96f56c 100644 --- a/server_addon/fusion/client/ayon_fusion/api/action.py +++ b/server_addon/fusion/client/ayon_fusion/api/action.py @@ -1,7 +1,7 @@ import pyblish.api -from ayon_core.hosts.fusion.api.lib import get_current_comp +from ayon_fusion.api.lib import get_current_comp from ayon_core.pipeline.publish import get_errored_instances_from_context diff --git a/server_addon/fusion/client/ayon_fusion/api/menu.py b/server_addon/fusion/client/ayon_fusion/api/menu.py index 6a64ad2120..38d8c36bb1 100644 --- a/server_addon/fusion/client/ayon_fusion/api/menu.py +++ b/server_addon/fusion/client/ayon_fusion/api/menu.py @@ -6,10 +6,10 @@ from qtpy import QtWidgets, QtCore, QtGui from ayon_core.tools.utils import host_tools from ayon_core.style import load_stylesheet from ayon_core.lib import register_event_callback -from ayon_core.hosts.fusion.scripts import ( +from ayon_fusion.scripts import ( duplicate_with_inputs, ) -from ayon_core.hosts.fusion.api.lib import ( +from ayon_fusion.api.lib import ( set_current_context_framerange, set_current_context_resolution, ) diff --git a/server_addon/fusion/client/ayon_fusion/api/pipeline.py b/server_addon/fusion/client/ayon_fusion/api/pipeline.py index 2d1073ec7d..071b4b8fb5 100644 --- a/server_addon/fusion/client/ayon_fusion/api/pipeline.py +++ b/server_addon/fusion/client/ayon_fusion/api/pipeline.py @@ -22,9 +22,9 @@ from ayon_core.pipeline import ( AVALON_CONTAINER_ID, ) from ayon_core.pipeline.load import any_outdated_containers -from ayon_core.hosts.fusion import FUSION_HOST_DIR from ayon_core.host import HostBase, IWorkfileHost, ILoadHost, IPublishHost from ayon_core.tools.utils import host_tools +from ayon_fusion import FUSION_HOST_DIR from .lib import ( @@ -80,7 +80,7 @@ class FusionHost(HostBase, IWorkfileHost, ILoadHost, IPublishHost): and loaders into fusion. It is called automatically when installing via - `ayon_core.pipeline.install_host(ayon_core.hosts.fusion.api)` + `ayon_core.pipeline.install_host(ayon_fusion.api)` See the Maya equivalent for inspiration on how to implement this. @@ -127,7 +127,7 @@ class FusionHost(HostBase, IWorkfileHost, ILoadHost, IPublishHost): def open_workfile(self, filepath): # Hack to get fusion, see - # ayon_core.hosts.fusion.api.pipeline.get_current_comp() + # ayon_fusion.api.pipeline.get_current_comp() fusion = getattr(sys.modules["__main__"], "fusion", None) return fusion.LoadComp(filepath) diff --git a/server_addon/fusion/client/ayon_fusion/api/plugin.py b/server_addon/fusion/client/ayon_fusion/api/plugin.py index efe8269120..48e133cc63 100644 --- a/server_addon/fusion/client/ayon_fusion/api/plugin.py +++ b/server_addon/fusion/client/ayon_fusion/api/plugin.py @@ -1,7 +1,7 @@ from copy import deepcopy import os -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( get_current_comp, comp_lock_and_undo_chunk, ) diff --git a/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py index 640f78eeb8..0bd00ae2b8 100644 --- a/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py +++ b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py @@ -26,8 +26,8 @@ def main(env): # However the contents of that folder can conflict with Qt library dlls # so we make sure to move out of it to avoid DLL Load Failed errors. os.chdir("..") - from ayon_core.hosts.fusion.api import FusionHost - from ayon_core.hosts.fusion.api import menu + from ayon_fusion.api import FusionHost + from ayon_fusion.api import menu # activate resolve from pype install_host(FusionHost()) diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py index 113a1ffe59..8ae8b5027c 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py @@ -1,6 +1,6 @@ import os from ayon_applications import PreLaunchHook -from ayon_core.hosts.fusion import FUSION_HOST_DIR +from ayon_fusion import FUSION_HOST_DIR class FusionLaunchMenuHook(PreLaunchHook): diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py index 1064d0a83a..b715bb31b5 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py @@ -2,7 +2,7 @@ import os import shutil import platform from pathlib import Path -from ayon_core.hosts.fusion import ( +from ayon_fusion import ( FUSION_HOST_DIR, FUSION_VERSIONS_DICT, get_fusion_version, diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py index ef084b0483..c29a0617cc 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py @@ -4,7 +4,7 @@ from ayon_applications import ( LaunchTypes, ApplicationLaunchFailed, ) -from ayon_core.hosts.fusion import ( +from ayon_fusion import ( FUSION_HOST_DIR, FUSION_VERSIONS_DICT, get_fusion_version, diff --git a/server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py index 729843d078..d88219b268 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/create/create_image_saver.py @@ -1,6 +1,6 @@ from ayon_core.lib import NumberDef -from ayon_core.hosts.fusion.api.plugin import GenericCreateSaver +from ayon_fusion.api.plugin import GenericCreateSaver class CreateImageSaver(GenericCreateSaver): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py index 20c7b99851..3e7d9486ce 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/create/create_saver.py @@ -4,8 +4,8 @@ from ayon_core.lib import ( EnumDef ) -from ayon_core.hosts.fusion.api.plugin import GenericCreateSaver -from ayon_core.hosts.fusion.api.lib import get_current_comp +from ayon_fusion.api.plugin import GenericCreateSaver +from ayon_fusion.api.lib import get_current_comp class CreateSaver(GenericCreateSaver): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py b/server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py index a2fe027ef4..3dc14861df 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/create/create_workfile.py @@ -1,6 +1,6 @@ import ayon_api -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( get_current_comp ) from ayon_core.pipeline import ( diff --git a/server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py b/server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py index 167cd3be1f..e863c58ab3 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/inventory/select_containers.py @@ -8,7 +8,7 @@ class FusionSelectContainers(InventoryAction): color = "#d8d8d8" def process(self, containers): - from ayon_core.hosts.fusion.api import ( + from ayon_fusion.api import ( get_current_comp, comp_lock_and_undo_chunk ) diff --git a/server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py b/server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py index 7167cf0fc5..2c02afe32c 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/inventory/set_tool_color.py @@ -2,7 +2,7 @@ from qtpy import QtGui, QtWidgets from ayon_core.pipeline import InventoryAction from ayon_core import style -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( get_current_comp, comp_lock_and_undo_chunk ) diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/actions.py b/server_addon/fusion/client/ayon_fusion/plugins/load/actions.py index 95400ea41c..dfa73e0b7a 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/actions.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/actions.py @@ -27,7 +27,7 @@ class FusionSetFrameRangeLoader(load.LoaderPlugin): def load(self, context, name, namespace, data): - from ayon_core.hosts.fusion.api import lib + from ayon_fusion.api import lib version_attributes = context["version"]["attrib"] @@ -63,7 +63,7 @@ class FusionSetFrameRangeWithHandlesLoader(load.LoaderPlugin): def load(self, context, name, namespace, data): - from ayon_core.hosts.fusion.api import lib + from ayon_fusion.api import lib version_attributes = context["version"]["attrib"] start = version_attributes.get("frameStart", None) diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py index 312362caca..2e763b5330 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/load_alembic.py @@ -2,7 +2,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( imprint_container, get_current_comp, comp_lock_and_undo_chunk diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py index a84e7e0914..a080fa3983 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/load_fbx.py @@ -2,7 +2,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( imprint_container, get_current_comp, comp_lock_and_undo_chunk, diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py index 7c70b54e48..233f1d7021 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/load_sequence.py @@ -1,7 +1,7 @@ import contextlib import ayon_core.pipeline.load as load -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( imprint_container, get_current_comp, comp_lock_and_undo_chunk, diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py index 309b0c094c..42ce339faf 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/load_usd.py @@ -2,12 +2,12 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( imprint_container, get_current_comp, comp_lock_and_undo_chunk ) -from ayon_core.hosts.fusion.api.lib import get_fusion_module +from ayon_fusion.api.lib import get_fusion_module class FusionLoadUSD(load.LoaderPlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py b/server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py index 818fbcb187..c728f6b4aa 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/load/load_workfile.py @@ -5,7 +5,7 @@ is no update or reload function added for this plugin from ayon_core.pipeline import load -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( get_current_comp, get_bmd_library, ) diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py index 591c460d5a..2e5bcd63db 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_comp.py @@ -1,6 +1,6 @@ import pyblish.api -from ayon_core.hosts.fusion.api import get_current_comp +from ayon_fusion.api import get_current_comp class CollectCurrentCompFusion(pyblish.api.ContextPlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py index 9c04e59717..af52aee861 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/collect_render.py @@ -4,7 +4,7 @@ import pyblish.api from ayon_core.pipeline import publish from ayon_core.pipeline.publish import RenderInstance -from ayon_core.hosts.fusion.api.lib import get_frame_path +from ayon_fusion.api.lib import get_frame_path @attr.s diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py index 39fa20cfc0..bbcba5366d 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/extract_render_local.py @@ -5,8 +5,8 @@ import collections import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.fusion.api import comp_lock_and_undo_chunk -from ayon_core.hosts.fusion.api.lib import get_frame_path, maintained_comp_range +from ayon_fusion.api import comp_lock_and_undo_chunk +from ayon_fusion.api.lib import get_frame_path, maintained_comp_range log = logging.getLogger(__name__) diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py index d588748cfa..90b6b110a4 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_background_depth.py @@ -6,7 +6,7 @@ from ayon_core.pipeline import ( PublishValidationError, ) -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateBackgroundDepth( diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py index 13ea85b48c..1b910123f0 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_create_folder_checked.py @@ -3,7 +3,7 @@ import pyblish.api from ayon_core.pipeline.publish import RepairAction from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateCreateFolderChecked(pyblish.api.InstancePlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py index 83d1feaefd..6dc9642581 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_expected_frames_existence.py @@ -4,7 +4,7 @@ import pyblish.api from ayon_core.pipeline.publish import RepairAction from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateLocalFramesExistence(pyblish.api.InstancePlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py index 17b1aa47c8..471c0ca31a 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_filename_has_extension.py @@ -3,7 +3,7 @@ import os import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateFilenameHasExtension(pyblish.api.InstancePlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py index 3aa6fb452f..7b8b70b2fb 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_instance_in_context.py @@ -2,7 +2,7 @@ """Validate if instance context is the same as publish context.""" import pyblish.api -from ayon_core.hosts.fusion.api.action import SelectToolAction +from ayon_fusion.api.action import SelectToolAction from ayon_core.pipeline.publish import ( RepairAction, ValidateContentsOrder, diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py index a8977e4747..de2cd1d862 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_has_input.py @@ -1,7 +1,7 @@ import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateSaverHasInput(pyblish.api.InstancePlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py index acafe3308f..caa17168bc 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_passthrough.py @@ -1,7 +1,7 @@ import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateSaverPassthrough(pyblish.api.ContextPlugin): diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py index 17992b123c..15d96a9afc 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_saver_resolution.py @@ -4,8 +4,8 @@ from ayon_core.pipeline import ( OptionalPyblishPluginMixin, ) -from ayon_core.hosts.fusion.api.action import SelectInvalidAction -from ayon_core.hosts.fusion.api import comp_lock_and_undo_chunk +from ayon_fusion.api.action import SelectInvalidAction +from ayon_fusion.api import comp_lock_and_undo_chunk class ValidateSaverResolution( diff --git a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py index bcd9abd8b0..dd7df54da5 100644 --- a/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py +++ b/server_addon/fusion/client/ayon_fusion/plugins/publish/validate_unique_subsets.py @@ -3,7 +3,7 @@ from collections import defaultdict import pyblish.api from ayon_core.pipeline import PublishValidationError -from ayon_core.hosts.fusion.api.action import SelectInvalidAction +from ayon_fusion.api.action import SelectInvalidAction class ValidateUniqueSubsets(pyblish.api.ContextPlugin): diff --git a/server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py b/server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py index 727fd335ea..78edb1b3ba 100644 --- a/server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py +++ b/server_addon/fusion/client/ayon_fusion/scripts/duplicate_with_inputs.py @@ -1,4 +1,4 @@ -from ayon_core.hosts.fusion.api import ( +from ayon_fusion.api import ( comp_lock_and_undo_chunk, get_current_comp ) From 8f20f3ce0805435f0b934bf669f47fc92029d073 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:26:50 +0200 Subject: [PATCH 051/124] added fusion version milestone --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index fcd41c5f7d..e14c8f9164 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -54,6 +54,7 @@ MOVED_ADDON_MILESTONE_VERSIONS = { "celaction": VersionInfo(0, 2, 0), "clockify": VersionInfo(0, 2, 0), "flame": VersionInfo(0, 2, 0), + "fusion": VersionInfo(0, 2, 0), "max": VersionInfo(0, 2, 0), "traypublisher": VersionInfo(0, 2, 0), "tvpaint": VersionInfo(0, 2, 0), From 2253e65f7ded6af4b84f92c4dcded3f221beb376 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:29:42 +0200 Subject: [PATCH 052/124] renamed 'FUSION_HOST_DIR' to 'FUSION_ADDON_ROOT' --- server_addon/fusion/client/ayon_fusion/__init__.py | 4 ++-- server_addon/fusion/client/ayon_fusion/addon.py | 4 ++-- server_addon/fusion/client/ayon_fusion/api/pipeline.py | 4 ++-- .../client/ayon_fusion/deploy/MenuScripts/launch_menu.py | 5 ++--- .../client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py | 4 ++-- .../client/ayon_fusion/hooks/pre_fusion_profile_hook.py | 4 ++-- .../fusion/client/ayon_fusion/hooks/pre_fusion_setup.py | 6 +++--- 7 files changed, 15 insertions(+), 16 deletions(-) diff --git a/server_addon/fusion/client/ayon_fusion/__init__.py b/server_addon/fusion/client/ayon_fusion/__init__.py index 1da11ba9d1..205750f84a 100644 --- a/server_addon/fusion/client/ayon_fusion/__init__.py +++ b/server_addon/fusion/client/ayon_fusion/__init__.py @@ -1,7 +1,7 @@ from .addon import ( get_fusion_version, FusionAddon, - FUSION_HOST_DIR, + FUSION_ADDON_ROOT, FUSION_VERSIONS_DICT, ) @@ -9,6 +9,6 @@ from .addon import ( __all__ = ( "get_fusion_version", "FusionAddon", - "FUSION_HOST_DIR", + "FUSION_ADDON_ROOT", "FUSION_VERSIONS_DICT", ) diff --git a/server_addon/fusion/client/ayon_fusion/addon.py b/server_addon/fusion/client/ayon_fusion/addon.py index 54e48ea7bf..91d24ddc8b 100644 --- a/server_addon/fusion/client/ayon_fusion/addon.py +++ b/server_addon/fusion/client/ayon_fusion/addon.py @@ -3,7 +3,7 @@ import re from ayon_core.addon import AYONAddon, IHostAddon from ayon_core.lib import Logger -FUSION_HOST_DIR = os.path.dirname(os.path.abspath(__file__)) +FUSION_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) # FUSION_VERSIONS_DICT is used by the pre-launch hooks # The keys correspond to all currently supported Fusion versions @@ -55,7 +55,7 @@ class FusionAddon(AYONAddon, IHostAddon): def get_launch_hook_paths(self, app): if app.host_name != self.host_name: return [] - return [os.path.join(FUSION_HOST_DIR, "hooks")] + return [os.path.join(FUSION_ADDON_ROOT, "hooks")] def add_implementation_envs(self, env, app): # Set default values if are not already set via settings diff --git a/server_addon/fusion/client/ayon_fusion/api/pipeline.py b/server_addon/fusion/client/ayon_fusion/api/pipeline.py index 071b4b8fb5..04f0d3db9a 100644 --- a/server_addon/fusion/client/ayon_fusion/api/pipeline.py +++ b/server_addon/fusion/client/ayon_fusion/api/pipeline.py @@ -24,7 +24,7 @@ from ayon_core.pipeline import ( from ayon_core.pipeline.load import any_outdated_containers from ayon_core.host import HostBase, IWorkfileHost, ILoadHost, IPublishHost from ayon_core.tools.utils import host_tools -from ayon_fusion import FUSION_HOST_DIR +from ayon_fusion import FUSION_ADDON_ROOT from .lib import ( @@ -35,7 +35,7 @@ from .lib import ( log = Logger.get_logger(__name__) -PLUGINS_DIR = os.path.join(FUSION_HOST_DIR, "plugins") +PLUGINS_DIR = os.path.join(FUSION_ADDON_ROOT, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") LOAD_PATH = os.path.join(PLUGINS_DIR, "load") diff --git a/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py index 0bd00ae2b8..0c5010f6a7 100644 --- a/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py +++ b/server_addon/fusion/client/ayon_fusion/deploy/MenuScripts/launch_menu.py @@ -5,10 +5,9 @@ if sys.version_info < (3, 7): # hack to handle discrepancy between distributed libraries and Python 3.6 # mostly because wrong version of urllib3 # TODO remove when not necessary - from ayon_core import AYON_CORE_ROOT - FUSION_HOST_DIR = os.path.join(AYON_CORE_ROOT, "hosts", "fusion") + from ayon_fusion import FUSION_ADDON_ROOT - vendor_path = os.path.join(FUSION_HOST_DIR, "vendor") + vendor_path = os.path.join(FUSION_ADDON_ROOT, "vendor") if vendor_path not in sys.path: sys.path.insert(0, vendor_path) diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py index 8ae8b5027c..035cbb8d97 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_launch_menu_hook.py @@ -1,6 +1,6 @@ import os from ayon_applications import PreLaunchHook -from ayon_fusion import FUSION_HOST_DIR +from ayon_fusion import FUSION_ADDON_ROOT class FusionLaunchMenuHook(PreLaunchHook): @@ -28,7 +28,7 @@ class FusionLaunchMenuHook(PreLaunchHook): "Validation for Fusion version 18+ for /execute " "prelaunch argument skipped.") - path = os.path.join(FUSION_HOST_DIR, + path = os.path.join(FUSION_ADDON_ROOT, "deploy", "MenuScripts", "launch_menu.py").replace("\\", "/") diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py index b715bb31b5..7758798bb6 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_profile_hook.py @@ -3,7 +3,7 @@ import shutil import platform from pathlib import Path from ayon_fusion import ( - FUSION_HOST_DIR, + FUSION_ADDON_ROOT, FUSION_VERSIONS_DICT, get_fusion_version, ) @@ -163,7 +163,7 @@ class FusionCopyPrefsPrelaunch(PreLaunchHook): master_prefs_variable = f"FUSION{profile_version}_MasterPrefs" master_prefs = Path( - FUSION_HOST_DIR, "deploy", "ayon", "fusion_shared.prefs") + FUSION_ADDON_ROOT, "deploy", "ayon", "fusion_shared.prefs") self.log.info(f"Setting {master_prefs_variable}: {master_prefs}") self.launch_context.env[master_prefs_variable] = str(master_prefs) diff --git a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py index c29a0617cc..25cf40f18d 100644 --- a/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py +++ b/server_addon/fusion/client/ayon_fusion/hooks/pre_fusion_setup.py @@ -5,7 +5,7 @@ from ayon_applications import ( ApplicationLaunchFailed, ) from ayon_fusion import ( - FUSION_HOST_DIR, + FUSION_ADDON_ROOT, FUSION_VERSIONS_DICT, get_fusion_version, ) @@ -67,5 +67,5 @@ class FusionPrelaunch(PreLaunchHook): # for hook installing PySide2 self.data["fusion_python3_home"] = py3_dir - self.log.info(f"Setting AYON_FUSION_ROOT: {FUSION_HOST_DIR}") - self.launch_context.env["AYON_FUSION_ROOT"] = FUSION_HOST_DIR + self.log.info(f"Setting AYON_FUSION_ROOT: {FUSION_ADDON_ROOT}") + self.launch_context.env["AYON_FUSION_ROOT"] = FUSION_ADDON_ROOT From 9d42f7f613585e9dfef8cc7717512a1cfe0bb15f Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:30:15 +0200 Subject: [PATCH 053/124] added version to client code --- server_addon/fusion/client/ayon_fusion/__init__.py | 3 +++ server_addon/fusion/client/ayon_fusion/addon.py | 3 +++ server_addon/fusion/client/ayon_fusion/version.py | 3 +++ 3 files changed, 9 insertions(+) create mode 100644 server_addon/fusion/client/ayon_fusion/version.py diff --git a/server_addon/fusion/client/ayon_fusion/__init__.py b/server_addon/fusion/client/ayon_fusion/__init__.py index 205750f84a..f2ddccdd87 100644 --- a/server_addon/fusion/client/ayon_fusion/__init__.py +++ b/server_addon/fusion/client/ayon_fusion/__init__.py @@ -1,3 +1,4 @@ +from .version import __version__ from .addon import ( get_fusion_version, FusionAddon, @@ -7,6 +8,8 @@ from .addon import ( __all__ = ( + "__version__", + "get_fusion_version", "FusionAddon", "FUSION_ADDON_ROOT", diff --git a/server_addon/fusion/client/ayon_fusion/addon.py b/server_addon/fusion/client/ayon_fusion/addon.py index 91d24ddc8b..ffc70b6ff4 100644 --- a/server_addon/fusion/client/ayon_fusion/addon.py +++ b/server_addon/fusion/client/ayon_fusion/addon.py @@ -3,6 +3,8 @@ import re from ayon_core.addon import AYONAddon, IHostAddon from ayon_core.lib import Logger +from .version import __version__ + FUSION_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) # FUSION_VERSIONS_DICT is used by the pre-launch hooks @@ -50,6 +52,7 @@ def get_fusion_version(app_name): class FusionAddon(AYONAddon, IHostAddon): name = "fusion" + version = __version__ host_name = "fusion" def get_launch_hook_paths(self, app): diff --git a/server_addon/fusion/client/ayon_fusion/version.py b/server_addon/fusion/client/ayon_fusion/version.py new file mode 100644 index 0000000000..209eddcdb6 --- /dev/null +++ b/server_addon/fusion/client/ayon_fusion/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'fusion' version.""" +__version__ = "0.2.0" From 1a5116600b342429faf11d1f8cb369d22d769833 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Fri, 31 May 2024 17:30:27 +0300 Subject: [PATCH 054/124] remove 'hosts' and 'settings_category' attributes from plugins classes --- .../ayon_houdini/plugins/publish/collect_active_state.py | 1 - .../client/ayon_houdini/plugins/publish/collect_arnold_rop.py | 1 - .../ayon_houdini/plugins/publish/collect_asset_handles.py | 4 ---- .../client/ayon_houdini/plugins/publish/collect_cache_farm.py | 1 - .../client/ayon_houdini/plugins/publish/collect_chunk_size.py | 3 --- .../ayon_houdini/plugins/publish/collect_current_file.py | 1 - .../ayon_houdini/plugins/publish/collect_farm_instances.py | 1 - .../client/ayon_houdini/plugins/publish/collect_inputs.py | 1 - .../ayon_houdini/plugins/publish/collect_instances_type.py | 1 - .../plugins/publish/collect_instances_usd_layered.py | 1 - .../client/ayon_houdini/plugins/publish/collect_karma_rop.py | 1 - .../plugins/publish/collect_local_render_instances.py | 3 --- .../client/ayon_houdini/plugins/publish/collect_mantra_rop.py | 1 - .../ayon_houdini/plugins/publish/collect_output_node.py | 1 - .../ayon_houdini/plugins/publish/collect_redshift_rop.py | 1 - .../ayon_houdini/plugins/publish/collect_remote_publish.py | 1 - .../ayon_houdini/plugins/publish/collect_render_products.py | 1 - .../ayon_houdini/plugins/publish/collect_review_data.py | 1 - .../ayon_houdini/plugins/publish/collect_rop_frame_range.py | 1 - .../ayon_houdini/plugins/publish/collect_staticmesh_type.py | 1 - .../ayon_houdini/plugins/publish/collect_usd_bootstrap.py | 1 - .../client/ayon_houdini/plugins/publish/collect_usd_layers.py | 1 - .../client/ayon_houdini/plugins/publish/collect_vray_rop.py | 1 - .../client/ayon_houdini/plugins/publish/collect_workfile.py | 1 - .../ayon_houdini/plugins/publish/collect_workscene_fps.py | 1 - .../plugins/publish/extract_active_view_thumbnail.py | 1 - .../client/ayon_houdini/plugins/publish/extract_alembic.py | 1 - .../client/ayon_houdini/plugins/publish/extract_ass.py | 1 - .../client/ayon_houdini/plugins/publish/extract_bgeo.py | 1 - .../client/ayon_houdini/plugins/publish/extract_composite.py | 1 - .../client/ayon_houdini/plugins/publish/extract_fbx.py | 1 - .../client/ayon_houdini/plugins/publish/extract_hda.py | 1 - .../client/ayon_houdini/plugins/publish/extract_mantra_ifd.py | 1 - .../client/ayon_houdini/plugins/publish/extract_opengl.py | 1 - .../ayon_houdini/plugins/publish/extract_redshift_proxy.py | 1 - .../client/ayon_houdini/plugins/publish/extract_render.py | 1 - .../client/ayon_houdini/plugins/publish/extract_usd.py | 1 - .../ayon_houdini/plugins/publish/extract_usd_layered.py | 1 - .../client/ayon_houdini/plugins/publish/extract_vdb_cache.py | 1 - .../ayon_houdini/plugins/publish/increment_current_file.py | 1 - .../houdini/client/ayon_houdini/plugins/publish/save_scene.py | 1 - .../plugins/publish/validate_abc_primitive_to_detail.py | 1 - .../plugins/publish/validate_alembic_face_sets.py | 1 - .../plugins/publish/validate_alembic_input_node.py | 1 - .../client/ayon_houdini/plugins/publish/validate_bypass.py | 1 - .../ayon_houdini/plugins/publish/validate_camera_rop.py | 1 - .../ayon_houdini/plugins/publish/validate_cop_output_node.py | 1 - .../plugins/publish/validate_export_is_a_single_frame.py | 1 - .../ayon_houdini/plugins/publish/validate_fbx_output_node.py | 1 - .../ayon_houdini/plugins/publish/validate_file_extension.py | 1 - .../ayon_houdini/plugins/publish/validate_frame_range.py | 1 - .../plugins/publish/validate_houdini_license_category.py | 1 - .../plugins/publish/validate_instance_in_context.py | 3 --- .../ayon_houdini/plugins/publish/validate_mesh_is_static.py | 3 --- .../ayon_houdini/plugins/publish/validate_mkpaths_toggled.py | 1 - .../client/ayon_houdini/plugins/publish/validate_no_errors.py | 1 - .../plugins/publish/validate_primitive_hierarchy_paths.py | 1 - .../ayon_houdini/plugins/publish/validate_remote_publish.py | 1 - .../plugins/publish/validate_remote_publish_enabled.py | 1 - .../plugins/publish/validate_review_colorspace.py | 3 --- .../ayon_houdini/plugins/publish/validate_scene_review.py | 1 - .../ayon_houdini/plugins/publish/validate_sop_output_node.py | 1 - .../ayon_houdini/plugins/publish/validate_subset_name.py | 2 -- .../plugins/publish/validate_unreal_staticmesh_naming.py | 3 --- .../plugins/publish/validate_usd_layer_path_backslashes.py | 1 - .../plugins/publish/validate_usd_model_and_shade.py | 1 - .../ayon_houdini/plugins/publish/validate_usd_output_node.py | 1 - .../plugins/publish/validate_usd_render_product_names.py | 1 - .../ayon_houdini/plugins/publish/validate_usd_setdress.py | 1 - .../plugins/publish/validate_usd_shade_model_exists.py | 1 - .../plugins/publish/validate_usd_shade_workspace.py | 1 - .../ayon_houdini/plugins/publish/validate_vdb_output_node.py | 1 - .../ayon_houdini/plugins/publish/validate_workfile_paths.py | 3 --- 73 files changed, 91 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py index 73c11368b4..e09a347e9f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_active_state.py @@ -16,7 +16,6 @@ class CollectInstanceActiveState(plugin.HoudiniInstancePlugin): order = pyblish.api.CollectorOrder + 0.299 families = ["*"] - hosts = ["houdini"] label = "Instance Active State" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py index 0682ce8b9b..10c6d91d26 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_arnold_rop.py @@ -25,7 +25,6 @@ class CollectArnoldROPRenderProducts(plugin.HoudiniInstancePlugin): # This specific order value is used so that # this plugin runs after CollectFrames order = pyblish.api.CollectorOrder + 0.11 - hosts = ["houdini"] families = ["arnold_rop"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py index 4bb3228c54..db9bde8595 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_asset_handles.py @@ -23,8 +23,6 @@ class CollectAssetHandles(plugin.HoudiniInstancePlugin, the exclusive frame range and actual handle ranges. """ - hosts = ["houdini"] - # This specific order value is used so that # this plugin runs after CollectAnatomyInstanceData order = pyblish.api.CollectorOrder + 0.499 @@ -32,8 +30,6 @@ class CollectAssetHandles(plugin.HoudiniInstancePlugin, label = "Collect Folder Handles" use_asset_handles = True - settings_category = "houdini" - def process(self, instance): # Only process instances without already existing handles data # but that do have frameStartHandle and frameEndHandle defined diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py index 9c41e68362..ecfebccfef 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_cache_farm.py @@ -15,7 +15,6 @@ class CollectDataforCache(plugin.HoudiniInstancePlugin): families = ["ass", "pointcache", "mantraifd", "redshiftproxy", "vdbcache", "model"] - hosts = ["houdini"] targets = ["local", "remote"] label = "Collect Data for Cache" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py index f9f4304aa6..6ff53b7695 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_chunk_size.py @@ -12,13 +12,10 @@ class CollectChunkSize(plugin.HoudiniInstancePlugin, families = ["ass", "pointcache", "vdbcache", "mantraifd", "redshiftproxy", "model"] - hosts = ["houdini"] targets = ["local", "remote"] label = "Collect Chunk Size" chunk_size = 999999 - settings_category = "houdini" - def process(self, instance): # need to get the chunk size info from the setting attr_values = self.get_attr_values_from_data(instance.data) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py index 70f96e0104..8e339e0e04 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_current_file.py @@ -10,7 +10,6 @@ class CollectHoudiniCurrentFile(plugin.HoudiniContextPlugin): order = pyblish.api.CollectorOrder - 0.1 label = "Houdini Current File" - hosts = ["houdini"] def process(self, context): """Inject the current working file""" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py index 6acf216ef3..8fdae06f90 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_farm_instances.py @@ -12,7 +12,6 @@ class CollectFarmInstances(plugin.HoudiniInstancePlugin): "arnold_rop", "vray_rop"] - hosts = ["houdini"] targets = ["local", "remote"] label = "Collect farm instances" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py index 6a815f8d08..f2904a68f6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_inputs.py @@ -91,7 +91,6 @@ class CollectUpstreamInputs(plugin.HoudiniInstancePlugin): label = "Collect Inputs" order = pyblish.api.CollectorOrder + 0.4 - hosts = ["houdini"] def process(self, instance): # We can't get the "inputAncestors" directly from the ROP diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py index 07851387fe..542abf8139 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_type.py @@ -10,7 +10,6 @@ class CollectPointcacheType(pyblish.api.InstancePlugin): """Collect data type for different instances.""" order = pyblish.api.CollectorOrder - hosts = ["houdini"] families = ["pointcache", "model"] label = "Collect instances types" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py index ca94c50372..4f85a629fb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_instances_usd_layered.py @@ -32,7 +32,6 @@ class CollectInstancesUsdLayered(plugin.HoudiniContextPlugin): order = pyblish.api.CollectorOrder - 0.01 label = "Collect Instances (USD Configured Layers)" - hosts = ["houdini"] def process(self, context): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py index 0b2110df4e..60fec9d2e0 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_karma_rop.py @@ -28,7 +28,6 @@ class CollectKarmaROPRenderProducts(plugin.HoudiniInstancePlugin): # This specific order value is used so that # this plugin runs after CollectFrames order = pyblish.api.CollectorOrder + 0.11 - hosts = ["houdini"] families = ["karma_rop"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py index 978d903fd2..259b2378bb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_local_render_instances.py @@ -23,11 +23,8 @@ class CollectLocalRenderInstances(plugin.HoudiniInstancePlugin): "arnold_rop", "vray_rop"] - hosts = ["houdini"] label = "Collect local render instances" - settings_category = "houdini" - use_deadline_aov_filter = False aov_filter = {"host_name": "houdini", "value": [".*([Bb]eauty).*"]} diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py index f9b6dd837d..f7feeee63b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_mantra_rop.py @@ -28,7 +28,6 @@ class CollectMantraROPRenderProducts(plugin.HoudiniInstancePlugin): # This specific order value is used so that # this plugin runs after CollectFrames order = pyblish.api.CollectorOrder + 0.11 - hosts = ["houdini"] families = ["mantra_rop"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py index a1f0e261d0..ff51669376 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_output_node.py @@ -19,7 +19,6 @@ class CollectOutputSOPPath(plugin.HoudiniInstancePlugin): "model" ] - hosts = ["houdini"] label = "Collect Output Node Path" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py index c1d5267d0a..96cb6ebeaf 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_redshift_rop.py @@ -28,7 +28,6 @@ class CollectRedshiftROPRenderProducts(plugin.HoudiniInstancePlugin): # This specific order value is used so that # this plugin runs after CollectFrames order = pyblish.api.CollectorOrder + 0.11 - hosts = ["houdini"] families = ["redshift_rop"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py index b1b77aceb9..e695b57518 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_remote_publish.py @@ -10,7 +10,6 @@ class CollectRemotePublishSettings(plugin.HoudiniContextPlugin): order = pyblish.api.CollectorOrder families = ["*"] - hosts = ["houdini"] targets = ["deadline"] label = "Remote Publish Submission Settings" actions = [RepairAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py index cded3ac509..e84f6c6f84 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_render_products.py @@ -47,7 +47,6 @@ class CollectRenderProducts(plugin.HoudiniInstancePlugin): label = "Collect Render Products" order = pyblish.api.CollectorOrder + 0.4 - hosts = ["houdini"] families = ["usdrender"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py index 9a2af9b9d8..cca55463e6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_review_data.py @@ -11,7 +11,6 @@ class CollectHoudiniReviewData(plugin.HoudiniInstancePlugin): # this plugin runs after CollectRopFrameRange # Also after CollectLocalRenderInstances order = pyblish.api.CollectorOrder + 0.13 - hosts = ["houdini"] families = ["review"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py index 01cf095da1..c0f8d7aef9 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_rop_frame_range.py @@ -8,7 +8,6 @@ from ayon_houdini.api import lib, plugin class CollectRopFrameRange(plugin.HoudiniInstancePlugin): """Collect all frames which would be saved from the ROP nodes""" - hosts = ["houdini"] order = pyblish.api.CollectorOrder label = "Collect RopNode Frame Range" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py index 91203d88e2..1aab655532 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_staticmesh_type.py @@ -8,7 +8,6 @@ from ayon_houdini.api import plugin class CollectStaticMeshType(plugin.HoudiniInstancePlugin): """Collect data type for fbx instance.""" - hosts = ["houdini"] families = ["staticMesh"] label = "Collect type of staticMesh" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py index e180cc1899..5067b9aab2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_bootstrap.py @@ -21,7 +21,6 @@ class CollectUsdBootstrap(plugin.HoudiniInstancePlugin): order = pyblish.api.CollectorOrder + 0.35 label = "Collect USD Bootstrap" - hosts = ["houdini"] families = ["usd", "usd.layered"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py index f8ed0b0931..7ecf5fbb02 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_usd_layers.py @@ -10,7 +10,6 @@ class CollectUsdLayers(plugin.HoudiniInstancePlugin): order = pyblish.api.CollectorOrder + 0.35 label = "Collect USD Layers" - hosts = ["houdini"] families = ["usd"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py index a340cf818e..2f9c2bb18e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_vray_rop.py @@ -28,7 +28,6 @@ class CollectVrayROPRenderProducts(plugin.HoudiniInstancePlugin): # This specific order value is used so that # this plugin runs after CollectFrames order = pyblish.api.CollectorOrder + 0.11 - hosts = ["houdini"] families = ["vray_rop"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py index bfa1a754c3..8d0939a803 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workfile.py @@ -8,7 +8,6 @@ class CollectWorkfile(plugin.HoudiniInstancePlugin): order = pyblish.api.CollectorOrder - 0.01 label = "Houdini Workfile Data" - hosts = ["houdini"] families = ["workfile"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py index 7274523f66..0091eb0abb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/collect_workscene_fps.py @@ -8,7 +8,6 @@ class CollectWorksceneFPS(plugin.HoudiniContextPlugin): label = "Workscene FPS" order = pyblish.api.CollectorOrder - hosts = ["houdini"] def process(self, context): fps = hou.fps() diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index 36f20b6e48..ef35a505c4 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -15,7 +15,6 @@ class ExtractActiveViewThumbnail(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.49 label = "Extract Active View Thumbnail" families = ["workfile"] - hosts = ["houdini"] def process(self, instance): if IS_HEADLESS: diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 702c0f9687..4016dd05fb 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -11,7 +11,6 @@ class ExtractAlembic(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Alembic" - hosts = ["houdini"] families = ["abc", "camera"] targets = ["local", "remote"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index bceafde75f..cb450b9524 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -12,7 +12,6 @@ class ExtractAss(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Ass" families = ["ass"] - hosts = ["houdini"] targets = ["local", "remote"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index 221b073bf0..f867bc98a8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -10,7 +10,6 @@ class ExtractBGEO(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract BGEO" - hosts = ["houdini"] families = ["bgeo"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index 4059367914..41e4e4bb14 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -12,7 +12,6 @@ class ExtractComposite(plugin.HoudiniInstancePlugin, order = pyblish.api.ExtractorOrder label = "Extract Composite (Image Sequence)" - hosts = ["houdini"] families = ["imagesequence"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index 9f5cbc5fc2..f12ca666d8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -12,7 +12,6 @@ class ExtractFBX(plugin.HoudiniInstancePlugin): label = "Extract FBX" families = ["fbx"] - hosts = ["houdini"] order = pyblish.api.ExtractorOrder + 0.1 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py index 8f83d26930..d93113b0a6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py @@ -10,7 +10,6 @@ class ExtractHDA(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract HDA" - hosts = ["houdini"] families = ["hda"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py index 29e1a1a93b..fd36759aa7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py @@ -10,7 +10,6 @@ class ExtractMantraIFD(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Mantra ifd" - hosts = ["houdini"] families = ["mantraifd"] targets = ["local", "remote"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index c08f9875c5..8fa0cf0d25 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -14,7 +14,6 @@ class ExtractOpenGL(plugin.HoudiniInstancePlugin, order = pyblish.api.ExtractorOrder - 0.01 label = "Extract OpenGL" families = ["review"] - hosts = ["houdini"] def process(self, instance): ropnode = hou.node(instance.data.get("instance_node")) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index b425ed52ac..b46f5a15a3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -12,7 +12,6 @@ class ExtractRedshiftProxy(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Redshift Proxy" families = ["redshiftproxy"] - hosts = ["houdini"] targets = ["local", "remote"] def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 91ad77c144..62ad394e73 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -11,7 +11,6 @@ class ExtractRender(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Render" - hosts = ["houdini"] families = ["mantra_rop", "karma_rop", "redshift_rop", diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index 321bdcb12e..c816a9a4ea 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -11,7 +11,6 @@ class ExtractUSD(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract USD" - hosts = ["houdini"] families = ["usd", "usdModel", "usdSetDress"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py index 40ae140a59..68f0516c6e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py @@ -156,7 +156,6 @@ class ExtractUSDLayered(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder label = "Extract Layered USD" - hosts = ["houdini"] families = ["usdLayered", "usdShade"] # Force Output Processors so it will always save any file diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index 7275229422..4afa26036b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -12,7 +12,6 @@ class ExtractVDBCache(plugin.HoudiniInstancePlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract VDB Cache" families = ["vdbcache"] - hosts = ["houdini"] def process(self, instance): if instance.data.get("farm"): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py index 57acf5b3af..878500f605 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/increment_current_file.py @@ -19,7 +19,6 @@ class IncrementCurrentFile(plugin.HoudiniContextPlugin): label = "Increment current file" order = pyblish.api.IntegratorOrder + 9.0 - hosts = ["houdini"] families = ["workfile", "usdrender", "mantra_rop", diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py index f675952bfb..e0734da5d1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/save_scene.py @@ -10,7 +10,6 @@ class SaveCurrentScene(plugin.HoudiniContextPlugin): label = "Save current file" order = pyblish.api.ExtractorOrder - 0.49 - hosts = ["houdini"] def process(self, context): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py index f9b0496c6f..51885a963e 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_abc_primitive_to_detail.py @@ -20,7 +20,6 @@ class ValidateAbcPrimitiveToDetail(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 families = ["abc"] - hosts = ["houdini"] label = "Validate Primitive to Detail (Abc)" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py index 13365ecfd6..00ce554ff1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_face_sets.py @@ -21,7 +21,6 @@ class ValidateAlembicROPFaceSets(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 families = ["abc"] - hosts = ["houdini"] label = "Validate Alembic ROP Face Sets" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py index 38ead0f9f0..aab3068171 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_alembic_input_node.py @@ -17,7 +17,6 @@ class ValidateAlembicInputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 families = ["abc"] - hosts = ["houdini"] label = "Validate Input Node (Abc)" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py index 4a044bc9ad..f3856b4147 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_bypass.py @@ -18,7 +18,6 @@ class ValidateBypassed(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder - 0.1 families = ["*"] - hosts = ["houdini"] label = "Validate ROP Bypass" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py index f9e6b036b8..f21addb11d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_camera_rop.py @@ -11,7 +11,6 @@ class ValidateCameraROP(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["camera"] - hosts = ["houdini"] label = "Camera ROP" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py index c593a96b9d..1d63e15d90 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_cop_output_node.py @@ -19,7 +19,6 @@ class ValidateCopOutputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["imagesequence"] - hosts = ["houdini"] label = "Validate COP Output Node" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py index a0dbc581ba..b26c60320b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_export_is_a_single_frame.py @@ -18,7 +18,6 @@ class ValidateSingleFrame(pyblish.api.InstancePlugin, """ families = ["model"] - hosts = ["houdini"] label = "Validate Single Frame" order = ValidateContentsOrder + 0.1 actions = [SelectInvalidAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py index 2b2136c607..1c236bb8f7 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_fbx_output_node.py @@ -23,7 +23,6 @@ class ValidateFBXOutputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["fbx"] - hosts = ["houdini"] label = "Validate FBX Output Node" actions = [SelectROPAction, SelectInvalidAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py index cb8e0952bc..1b3a58f4b3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_file_extension.py @@ -20,7 +20,6 @@ class ValidateFileExtension(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["camera", "vdbcache"] - hosts = ["houdini"] label = "Output File Extension" family_extensions = { diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py index f543497407..9435fa033a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_frame_range.py @@ -24,7 +24,6 @@ class ValidateFrameRange(plugin.HoudiniInstancePlugin): """ order = pyblish.api.ValidatorOrder - 0.1 - hosts = ["houdini"] label = "Validate Frame Range" actions = [DisableUseFolderHandlesAction, SelectInvalidAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py index a96fdba452..d76f8a0072 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_houdini_license_category.py @@ -24,7 +24,6 @@ class ValidateHoudiniNotApprenticeLicense(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usd", "abc", "fbx", "camera"] - hosts = ["houdini"] label = "Houdini Apprentice License" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py index 5dbd45f1dc..7566dff240 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_instance_in_context.py @@ -24,11 +24,8 @@ class ValidateInstanceInContextHoudini(plugin.HoudiniInstancePlugin, order = ValidateContentsOrder label = "Instance in same Context" optional = True - hosts = ["houdini"] actions = [SelectROPAction, RepairAction] - settings_category = "houdini" - def process(self, instance): if not self.is_active(instance.data): return diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py index 94013a7ed4..b6725bc36c 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mesh_is_static.py @@ -23,13 +23,10 @@ class ValidateMeshIsStatic(plugin.HoudiniInstancePlugin, families = ["staticMesh", "model"] - hosts = ["houdini"] label = "Validate Mesh is Static" order = ValidateContentsOrder + 0.1 actions = [SelectInvalidAction] - settings_category = "houdini" - def process(self, instance): invalid = self.get_invalid(instance) diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py index b4ba70c1e1..4573d4ba0b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_mkpaths_toggled.py @@ -11,7 +11,6 @@ class ValidateIntermediateDirectoriesChecked(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["pointcache", "camera", "vdbcache", "model"] - hosts = ["houdini"] label = "Create Intermediate Directories Checked" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py index 5f4222b3e8..ef66665d7b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_no_errors.py @@ -33,7 +33,6 @@ class ValidateNoErrors(plugin.HoudiniInstancePlugin): """Validate the Instance has no current cooking errors.""" order = pyblish.api.ValidatorOrder - hosts = ["houdini"] label = "Validate no errors" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py index 1e068193fc..9daab2a1a3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_primitive_hierarchy_paths.py @@ -25,7 +25,6 @@ class ValidatePrimitiveHierarchyPaths(plugin.HoudiniInstancePlugin): order = ValidateContentsOrder + 0.1 families = ["abc"] - hosts = ["houdini"] label = "Validate Prims Hierarchy Path" actions = [AddDefaultPathAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py index 7332765fe2..08597c0a6f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish.py @@ -13,7 +13,6 @@ class ValidateRemotePublishOutNode(plugin.HoudiniContextPlugin): order = pyblish.api.ValidatorOrder - 0.4 families = ["*"] - hosts = ["houdini"] targets = ["deadline"] label = "Remote Publish ROP node" actions = [RepairContextAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py index 1c36ba6ee9..dc5666609f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_remote_publish_enabled.py @@ -13,7 +13,6 @@ class ValidateRemotePublishEnabled(plugin.HoudiniContextPlugin): order = pyblish.api.ValidatorOrder - 0.39 families = ["*"] - hosts = ["houdini"] targets = ["deadline"] label = "Remote Publish ROP enabled" actions = [RepairContextAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py index 96c8d1d73a..e96b222446 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_review_colorspace.py @@ -31,15 +31,12 @@ class ValidateReviewColorspace(plugin.HoudiniInstancePlugin, order = pyblish.api.ValidatorOrder + 0.1 families = ["review"] - hosts = ["houdini"] label = "Validate Review Colorspace" actions = [ResetViewSpaceAction, SelectROPAction] optional = True review_color_space = "" - settings_category = "houdini" - @classmethod def apply_settings(cls, project_settings): # Preserve automatic settings applying logic diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py index c923a2d33c..f45cd1c97d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_scene_review.py @@ -15,7 +15,6 @@ class ValidateSceneReview(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["review"] - hosts = ["houdini"] label = "Scene Setting for review" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py index 511d49aae7..7d37927058 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_sop_output_node.py @@ -25,7 +25,6 @@ class ValidateSopOutputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["pointcache", "vdbcache", "model"] - hosts = ["houdini"] label = "Validate Output Node (SOP)" actions = [SelectROPAction, SelectInvalidAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py index 0f046d8bfc..dfd353bddf 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_subset_name.py @@ -27,13 +27,11 @@ class ValidateSubsetName(plugin.HoudiniInstancePlugin, """ families = ["staticMesh"] - hosts = ["houdini"] label = "Validate Product Name" order = ValidateContentsOrder + 0.1 actions = [FixProductNameAction, SelectInvalidAction] optional = True - settings_category = "houdini" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py index d400b513bc..a3d971695d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_unreal_staticmesh_naming.py @@ -29,7 +29,6 @@ class ValidateUnrealStaticMeshName(plugin.HoudiniInstancePlugin, """ families = ["staticMesh"] - hosts = ["houdini"] label = "Unreal Static Mesh Name (FBX)" order = ValidateContentsOrder + 0.1 actions = [SelectInvalidAction] @@ -38,8 +37,6 @@ class ValidateUnrealStaticMeshName(plugin.HoudiniInstancePlugin, collision_prefixes = [] static_mesh_prefix = "" - settings_category = "houdini" - @classmethod def apply_settings(cls, project_settings): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py index a55188d43a..4da67ff199 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_layer_path_backslashes.py @@ -23,7 +23,6 @@ class ValidateUSDLayerPathBackslashes(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usdSetDress", "usdShade", "usd", "usdrender"] - hosts = ["houdini"] label = "USD Layer path backslashes" optional = True diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py index 7af3427aee..935bd39e23 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_model_and_shade.py @@ -26,7 +26,6 @@ class ValidateUsdModel(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usdModel"] - hosts = ["houdini"] label = "Validate USD Model" optional = True diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py index f35a4b56bc..88d549d46c 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_output_node.py @@ -18,7 +18,6 @@ class ValidateUSDOutputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usd"] - hosts = ["houdini"] label = "Validate Output Node (USD)" def process(self, instance): diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py index 6b19ba9264..eb46b266e2 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_render_product_names.py @@ -12,7 +12,6 @@ class ValidateUSDRenderProductNames(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usdrender"] - hosts = ["houdini"] label = "Validate USD Render Product Names" optional = True diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py index f0fbf0f6ba..3e91f0418f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_setdress.py @@ -16,7 +16,6 @@ class ValidateUsdSetDress(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder families = ["usdSetDress"] - hosts = ["houdini"] label = "Validate USD Set Dress" optional = True diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py index 48493616d7..8a93d3b4a1 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_model_exists.py @@ -15,7 +15,6 @@ class ValidateUSDShadeModelExists(plugin.HoudiniInstancePlugin): """Validate the Instance has no current cooking errors.""" order = ValidateContentsOrder - hosts = ["houdini"] families = ["usdShade"] label = "USD Shade model exists" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py index 20be856ba4..8972941253 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_usd_shade_workspace.py @@ -16,7 +16,6 @@ class ValidateUsdShadeWorkspace(plugin.HoudiniInstancePlugin): """ order = pyblish.api.ValidatorOrder - hosts = ["houdini"] families = ["usdShade"] label = "USD Shade Workspace" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py index 538ac1c281..c4ed9d2fb8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_vdb_output_node.py @@ -82,7 +82,6 @@ class ValidateVDBOutputNode(plugin.HoudiniInstancePlugin): order = pyblish.api.ValidatorOrder + 0.1 families = ["vdbcache"] - hosts = ["houdini"] label = "Validate Output Node (VDB)" actions = [SelectInvalidAction] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py index efc581b5bd..e1cd0c6caa 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/validate_workfile_paths.py @@ -17,7 +17,6 @@ class ValidateWorkfilePaths( order = pyblish.api.ValidatorOrder families = ["workfile"] - hosts = ["houdini"] label = "Validate Workfile Paths" actions = [RepairAction] optional = True @@ -25,8 +24,6 @@ class ValidateWorkfilePaths( node_types = ["file", "alembic"] prohibited_vars = ["$HIP", "$JOB"] - settings_category = "houdini" - def process(self, instance): if not self.is_active(instance.data): return From a0d49c7146a1252b554c5f79fd0eb2783b56fee7 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:36:05 +0200 Subject: [PATCH 055/124] fix import in deadline --- .../modules/deadline/plugins/publish/submit_fusion_deadline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py b/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py index 6c70119628..9eea4d6549 100644 --- a/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py +++ b/client/ayon_core/modules/deadline/plugins/publish/submit_fusion_deadline.py @@ -79,7 +79,7 @@ class FusionSubmitDeadline( else: context.data[key] = True - from ayon_core.hosts.fusion.api.lib import get_frame_path + from ayon_fusion.api.lib import get_frame_path deadline_url = instance.data["deadline"]["url"] assert deadline_url, "Requires Deadline Webservice URL" From ed638a47fe2e8549e9fa4296468db36d04f5f0cf Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:41:57 +0200 Subject: [PATCH 056/124] moved aftereffects next to server codebase --- .../client/ayon_aftereffects}/__init__.py | 0 .../aftereffects/client/ayon_aftereffects}/addon.py | 0 .../client/ayon_aftereffects}/api/README.md | 0 .../client/ayon_aftereffects}/api/__init__.py | 0 .../client/ayon_aftereffects}/api/extension.zxp | Bin .../client/ayon_aftereffects}/api/extension/.debug | 0 .../api/extension/CSXS/manifest.xml | 0 .../api/extension/css/boilerplate.css | 0 .../ayon_aftereffects}/api/extension/css/styles.css | 0 .../api/extension/css/topcoat-desktop-dark.min.css | 0 .../api/extension/icons/ayon_logo.png | Bin .../api/extension/icons/iconDarkNormal.png | Bin .../api/extension/icons/iconDarkRollover.png | Bin .../api/extension/icons/iconDisabled.png | Bin .../api/extension/icons/iconNormal.png | Bin .../api/extension/icons/iconRollover.png | Bin .../ayon_aftereffects}/api/extension/index.html | 0 .../api/extension/js/libs/CSInterface.js | 0 .../api/extension/js/libs/jquery-2.0.2.min.js | 0 .../api/extension/js/libs/json.js | 0 .../api/extension/js/libs/loglevel.min.js | 0 .../api/extension/js/libs/wsrpc.js | 0 .../api/extension/js/libs/wsrpc.min.js | 0 .../ayon_aftereffects}/api/extension/js/main.js | 0 .../api/extension/js/themeManager.js | 0 .../api/extension/jsx/hostscript.jsx | 0 .../client/ayon_aftereffects}/api/launch_logic.py | 0 .../client/ayon_aftereffects}/api/launch_script.py | 0 .../client/ayon_aftereffects}/api/lib.py | 0 .../client/ayon_aftereffects}/api/panel.png | Bin .../client/ayon_aftereffects}/api/panel_failure.png | Bin .../client/ayon_aftereffects}/api/pipeline.py | 0 .../client/ayon_aftereffects}/api/plugin.py | 0 .../api/workfile_template_builder.py | 0 .../client/ayon_aftereffects}/api/ws_stub.py | 0 .../ayon_aftereffects}/hooks/pre_launch_args.py | 0 .../client/ayon_aftereffects}/plugins/__init__.py | 0 .../plugins/create/create_render.py | 0 .../plugins/create/workfile_creator.py | 0 .../plugins/load/load_background.py | 0 .../ayon_aftereffects}/plugins/load/load_file.py | 0 .../plugins/publish/add_publish_highlight.py | 0 .../ayon_aftereffects}/plugins/publish/closeAE.py | 0 .../plugins/publish/collect_audio.py | 0 .../plugins/publish/collect_current_file.py | 0 .../plugins/publish/collect_extension_version.py | 0 .../plugins/publish/collect_render.py | 0 .../plugins/publish/collect_review.py | 0 .../plugins/publish/collect_workfile.py | 0 .../plugins/publish/extract_local_render.py | 0 .../plugins/publish/extract_save_scene.py | 0 .../plugins/publish/help/validate_footage_items.xml | 0 .../publish/help/validate_instance_asset.xml | 0 .../publish/help/validate_scene_settings.xml | 0 .../plugins/publish/increment_workfile.py | 0 .../plugins/publish/remove_publish_highlight.py | 0 .../plugins/publish/validate_footage_items.py | 0 .../plugins/publish/validate_instance_asset.py | 0 .../plugins/publish/validate_scene_settings.py | 0 .../plugins/workfile_build/create_placeholder.py | 0 .../plugins/workfile_build/load_placeholder.py | 0 .../ayon_aftereffects}/resources/template.aep | Bin 62 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/__init__.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/addon.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/README.md (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/__init__.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension.zxp (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/.debug (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/CSXS/manifest.xml (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/css/boilerplate.css (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/css/styles.css (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/css/topcoat-desktop-dark.min.css (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/ayon_logo.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/iconDarkNormal.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/iconDarkRollover.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/iconDisabled.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/iconNormal.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/icons/iconRollover.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/index.html (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/CSInterface.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/jquery-2.0.2.min.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/json.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/loglevel.min.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/wsrpc.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/libs/wsrpc.min.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/main.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/js/themeManager.js (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/extension/jsx/hostscript.jsx (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/launch_logic.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/launch_script.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/lib.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/panel.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/panel_failure.png (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/pipeline.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/plugin.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/workfile_template_builder.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/api/ws_stub.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/hooks/pre_launch_args.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/__init__.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/create/create_render.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/create/workfile_creator.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/load/load_background.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/load/load_file.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/add_publish_highlight.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/closeAE.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_audio.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_current_file.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_extension_version.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_render.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_review.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/collect_workfile.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/extract_local_render.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/extract_save_scene.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/help/validate_footage_items.xml (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/help/validate_instance_asset.xml (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/help/validate_scene_settings.xml (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/increment_workfile.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/remove_publish_highlight.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/validate_footage_items.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/validate_instance_asset.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/publish/validate_scene_settings.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/workfile_build/create_placeholder.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/plugins/workfile_build/load_placeholder.py (100%) rename {client/ayon_core/hosts/aftereffects => server_addon/aftereffects/client/ayon_aftereffects}/resources/template.aep (100%) diff --git a/client/ayon_core/hosts/aftereffects/__init__.py b/server_addon/aftereffects/client/ayon_aftereffects/__init__.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/__init__.py rename to server_addon/aftereffects/client/ayon_aftereffects/__init__.py diff --git a/client/ayon_core/hosts/aftereffects/addon.py b/server_addon/aftereffects/client/ayon_aftereffects/addon.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/addon.py rename to server_addon/aftereffects/client/ayon_aftereffects/addon.py diff --git a/client/ayon_core/hosts/aftereffects/api/README.md b/server_addon/aftereffects/client/ayon_aftereffects/api/README.md similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/README.md rename to server_addon/aftereffects/client/ayon_aftereffects/api/README.md diff --git a/client/ayon_core/hosts/aftereffects/api/__init__.py b/server_addon/aftereffects/client/ayon_aftereffects/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/__init__.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/__init__.py diff --git a/client/ayon_core/hosts/aftereffects/api/extension.zxp b/server_addon/aftereffects/client/ayon_aftereffects/api/extension.zxp similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension.zxp rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension.zxp diff --git a/client/ayon_core/hosts/aftereffects/api/extension/.debug b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/.debug similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/.debug rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/.debug diff --git a/client/ayon_core/hosts/aftereffects/api/extension/CSXS/manifest.xml b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/CSXS/manifest.xml similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/CSXS/manifest.xml rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/CSXS/manifest.xml diff --git a/client/ayon_core/hosts/aftereffects/api/extension/css/boilerplate.css b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/boilerplate.css similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/css/boilerplate.css rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/boilerplate.css diff --git a/client/ayon_core/hosts/aftereffects/api/extension/css/styles.css b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/styles.css similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/css/styles.css rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/styles.css diff --git a/client/ayon_core/hosts/aftereffects/api/extension/css/topcoat-desktop-dark.min.css b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/topcoat-desktop-dark.min.css similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/css/topcoat-desktop-dark.min.css rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/css/topcoat-desktop-dark.min.css diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/ayon_logo.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/ayon_logo.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/ayon_logo.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/ayon_logo.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/iconDarkNormal.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDarkNormal.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/iconDarkNormal.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDarkNormal.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/iconDarkRollover.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDarkRollover.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/iconDarkRollover.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDarkRollover.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/iconDisabled.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDisabled.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/iconDisabled.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconDisabled.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/iconNormal.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconNormal.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/iconNormal.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconNormal.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/icons/iconRollover.png b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconRollover.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/icons/iconRollover.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/icons/iconRollover.png diff --git a/client/ayon_core/hosts/aftereffects/api/extension/index.html b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/index.html similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/index.html rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/index.html diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/CSInterface.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/CSInterface.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/CSInterface.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/CSInterface.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/jquery-2.0.2.min.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/jquery-2.0.2.min.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/jquery-2.0.2.min.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/jquery-2.0.2.min.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/json.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/json.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/json.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/json.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/loglevel.min.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/loglevel.min.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/loglevel.min.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/loglevel.min.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/wsrpc.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/wsrpc.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/wsrpc.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/wsrpc.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/libs/wsrpc.min.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/wsrpc.min.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/libs/wsrpc.min.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/wsrpc.min.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/main.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/main.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/main.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/main.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/js/themeManager.js b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/themeManager.js similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/js/themeManager.js rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/themeManager.js diff --git a/client/ayon_core/hosts/aftereffects/api/extension/jsx/hostscript.jsx b/server_addon/aftereffects/client/ayon_aftereffects/api/extension/jsx/hostscript.jsx similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/extension/jsx/hostscript.jsx rename to server_addon/aftereffects/client/ayon_aftereffects/api/extension/jsx/hostscript.jsx diff --git a/client/ayon_core/hosts/aftereffects/api/launch_logic.py b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/launch_logic.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py diff --git a/client/ayon_core/hosts/aftereffects/api/launch_script.py b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/launch_script.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py diff --git a/client/ayon_core/hosts/aftereffects/api/lib.py b/server_addon/aftereffects/client/ayon_aftereffects/api/lib.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/lib.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/lib.py diff --git a/client/ayon_core/hosts/aftereffects/api/panel.png b/server_addon/aftereffects/client/ayon_aftereffects/api/panel.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/panel.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/panel.png diff --git a/client/ayon_core/hosts/aftereffects/api/panel_failure.png b/server_addon/aftereffects/client/ayon_aftereffects/api/panel_failure.png similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/panel_failure.png rename to server_addon/aftereffects/client/ayon_aftereffects/api/panel_failure.png diff --git a/client/ayon_core/hosts/aftereffects/api/pipeline.py b/server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/pipeline.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py diff --git a/client/ayon_core/hosts/aftereffects/api/plugin.py b/server_addon/aftereffects/client/ayon_aftereffects/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/plugin.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/plugin.py diff --git a/client/ayon_core/hosts/aftereffects/api/workfile_template_builder.py b/server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/workfile_template_builder.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py diff --git a/client/ayon_core/hosts/aftereffects/api/ws_stub.py b/server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/api/ws_stub.py rename to server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py diff --git a/client/ayon_core/hosts/aftereffects/hooks/pre_launch_args.py b/server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/hooks/pre_launch_args.py rename to server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/__init__.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/__init__.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/__init__.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/__init__.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/create/create_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/create/create_render.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/create/workfile_creator.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/create/workfile_creator.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/load/load_background.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/load/load_background.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/load/load_file.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/load/load_file.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/add_publish_highlight.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/add_publish_highlight.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/closeAE.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/closeAE.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_audio.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_audio.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_current_file.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_current_file.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_extension_version.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_extension_version.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_render.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_review.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_review.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/collect_workfile.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_workfile.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/collect_workfile.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_workfile.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/extract_local_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/extract_local_render.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/extract_save_scene.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/extract_save_scene.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_footage_items.xml b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_footage_items.xml similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_footage_items.xml rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_footage_items.xml diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_instance_asset.xml b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_instance_asset.xml similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_instance_asset.xml rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_instance_asset.xml diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_scene_settings.xml b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_scene_settings.xml similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/help/validate_scene_settings.xml rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/help/validate_scene_settings.xml diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/increment_workfile.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/increment_workfile.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/remove_publish_highlight.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/remove_publish_highlight.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/validate_footage_items.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/validate_footage_items.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/validate_instance_asset.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/validate_instance_asset.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/publish/validate_scene_settings.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/publish/validate_scene_settings.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/workfile_build/create_placeholder.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/workfile_build/create_placeholder.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py diff --git a/client/ayon_core/hosts/aftereffects/plugins/workfile_build/load_placeholder.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py similarity index 100% rename from client/ayon_core/hosts/aftereffects/plugins/workfile_build/load_placeholder.py rename to server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py diff --git a/client/ayon_core/hosts/aftereffects/resources/template.aep b/server_addon/aftereffects/client/ayon_aftereffects/resources/template.aep similarity index 100% rename from client/ayon_core/hosts/aftereffects/resources/template.aep rename to server_addon/aftereffects/client/ayon_aftereffects/resources/template.aep From 4b0540aee89b678ef07375e7228e0ec4070558ab Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:49:07 +0200 Subject: [PATCH 057/124] fix imports --- .../aftereffects/client/ayon_aftereffects/api/README.md | 2 +- .../client/ayon_aftereffects/api/launch_logic.py | 8 ++++---- .../client/ayon_aftereffects/api/launch_script.py | 2 +- .../aftereffects/client/ayon_aftereffects/api/pipeline.py | 8 ++------ .../ayon_aftereffects/api/workfile_template_builder.py | 2 +- .../client/ayon_aftereffects/hooks/pre_launch_args.py | 2 +- .../ayon_aftereffects/plugins/create/create_render.py | 6 +++--- .../ayon_aftereffects/plugins/create/workfile_creator.py | 4 ++-- .../ayon_aftereffects/plugins/load/load_background.py | 4 ++-- .../client/ayon_aftereffects/plugins/load/load_file.py | 4 ++-- .../plugins/publish/add_publish_highlight.py | 2 +- .../client/ayon_aftereffects/plugins/publish/closeAE.py | 2 +- .../ayon_aftereffects/plugins/publish/collect_audio.py | 2 +- .../plugins/publish/collect_current_file.py | 2 +- .../plugins/publish/collect_extension_version.py | 2 +- .../ayon_aftereffects/plugins/publish/collect_render.py | 2 +- .../plugins/publish/extract_local_render.py | 2 +- .../plugins/publish/extract_save_scene.py | 2 +- .../plugins/publish/increment_workfile.py | 2 +- .../plugins/publish/remove_publish_highlight.py | 2 +- .../plugins/publish/validate_footage_items.py | 2 +- .../plugins/publish/validate_instance_asset.py | 2 +- .../plugins/publish/validate_scene_settings.py | 2 +- .../plugins/workfile_build/create_placeholder.py | 8 +++++--- .../plugins/workfile_build/load_placeholder.py | 6 ++++-- 25 files changed, 41 insertions(+), 41 deletions(-) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/README.md b/server_addon/aftereffects/client/ayon_aftereffects/api/README.md index 53eb896255..ca7d5b9b13 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/README.md +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/README.md @@ -25,7 +25,7 @@ download [Anastasiy’s Extension Manager](https://install.anastasiy.com/) The easiest way to get the server and After Effects launch is with: ``` -python -c ^"import ayon_core.hosts.photoshop;ayon_core.hosts.aftereffects.launch(""c:\Program Files\Adobe\Adobe After Effects 2020\Support Files\AfterFX.exe"")^" +python -c ^"import ayon_core.hosts.photoshop;ayon_aftereffects.launch(""c:\Program Files\Adobe\Adobe After Effects 2020\Support Files\AfterFX.exe"")^" ``` `avalon.aftereffects.launch` launches the application and server, and also closes the server when After Effects exists. diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py index da6887668a..fb8702e20b 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py @@ -35,7 +35,7 @@ def main(*subprocess_args): """Main entrypoint to AE launching, called from pre hook.""" sys.excepthook = safe_excepthook - from ayon_core.hosts.aftereffects.api import AfterEffectsHost + from ayon_aftereffects.api import AfterEffectsHost host = AfterEffectsHost() install_host(host) @@ -355,7 +355,7 @@ class AfterEffectsRoute(WebSocketRoute): return "nothing" def create_placeholder_route(self): - from ayon_core.hosts.aftereffects.api.workfile_template_builder import \ + from ayon_aftereffects.api.workfile_template_builder import \ create_placeholder partial_method = functools.partial(create_placeholder) @@ -365,7 +365,7 @@ class AfterEffectsRoute(WebSocketRoute): return "nothing" def update_placeholder_route(self): - from ayon_core.hosts.aftereffects.api.workfile_template_builder import \ + from ayon_aftereffects.api.workfile_template_builder import \ update_placeholder partial_method = functools.partial(update_placeholder) @@ -375,7 +375,7 @@ class AfterEffectsRoute(WebSocketRoute): return "nothing" def build_workfile_template_route(self): - from ayon_core.hosts.aftereffects.api.workfile_template_builder import \ + from ayon_aftereffects.api.workfile_template_builder import \ build_workfile_template partial_method = functools.partial(build_workfile_template) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py index 87926c022b..6b7f12ca43 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_script.py @@ -8,7 +8,7 @@ workfile or others. import os import sys -from ayon_core.hosts.aftereffects.api.launch_logic import main as host_main +from ayon_aftereffects.api.launch_logic import main as host_main # Get current file to locate start point of sys.argv CURRENT_FILE = os.path.abspath(__file__) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py b/server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py index 2239040f09..4bc51a324b 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/pipeline.py @@ -14,8 +14,6 @@ from ayon_core.pipeline import ( AYON_INSTANCE_ID, ) from ayon_core.pipeline.load import any_outdated_containers -import ayon_core.hosts.aftereffects - from ayon_core.host import ( HostBase, IWorkfileHost, @@ -23,6 +21,7 @@ from ayon_core.host import ( IPublishHost ) from ayon_core.tools.utils import get_ayon_qt_app +from ayon_aftereffects import AFTEREFFECTS_ADDON_ROOT from .launch_logic import get_stub from .ws_stub import ConnectionNotEstablishedYet @@ -30,10 +29,7 @@ from .ws_stub import ConnectionNotEstablishedYet log = Logger.get_logger(__name__) -HOST_DIR = os.path.dirname( - os.path.abspath(ayon_core.hosts.aftereffects.__file__) -) -PLUGINS_DIR = os.path.join(HOST_DIR, "plugins") +PLUGINS_DIR = os.path.join(AFTEREFFECTS_ADDON_ROOT, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") LOAD_PATH = os.path.join(PLUGINS_DIR, "load") CREATE_PATH = os.path.join(PLUGINS_DIR, "create") diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py b/server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py index 99d5bbb938..77fd1059b5 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/workfile_template_builder.py @@ -12,7 +12,7 @@ from ayon_core.pipeline.workfile.workfile_template_builder import ( PlaceholderPlugin, PlaceholderItem ) -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub PLACEHOLDER_SET = "PLACEHOLDERS_SET" PLACEHOLDER_ID = "openpype.placeholder" diff --git a/server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py b/server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py index a37481566e..6a8b434953 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/hooks/pre_launch_args.py @@ -7,7 +7,7 @@ from ayon_core.lib import ( is_using_ayon_console, ) from ayon_applications import PreLaunchHook, LaunchTypes -from ayon_core.hosts.aftereffects import get_launch_script_path +from ayon_aftereffects import get_launch_script_path def get_launch_kwargs(kwargs): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py index 29df34876a..eafe845247 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/create_render.py @@ -2,16 +2,16 @@ import re from ayon_core import resources from ayon_core.lib import BoolDef, UISeparatorDef -from ayon_core.hosts.aftereffects import api from ayon_core.pipeline import ( Creator, CreatedInstance, CreatorError ) -from ayon_core.hosts.aftereffects.api.pipeline import cache_and_get_instances -from ayon_core.hosts.aftereffects.api.lib import set_settings from ayon_core.lib import prepare_template_data from ayon_core.pipeline.create import PRODUCT_NAME_ALLOWED_SYMBOLS +from ayon_aftereffects import api +from ayon_aftereffects.api.pipeline import cache_and_get_instances +from ayon_aftereffects.api.lib import set_settings class RenderCreator(Creator): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py index b46e82bf1a..fcf25a3944 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/create/workfile_creator.py @@ -1,11 +1,11 @@ import ayon_api -import ayon_core.hosts.aftereffects.api as api from ayon_core.pipeline import ( AutoCreator, CreatedInstance ) -from ayon_core.hosts.aftereffects.api.pipeline import cache_and_get_instances +from ayon_aftereffects import api +from ayon_aftereffects.api.pipeline import cache_and_get_instances class AEWorkfileCreator(AutoCreator): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py index 5685011d5f..62a4e24482 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_background.py @@ -1,9 +1,9 @@ import re from ayon_core.pipeline import get_representation_path -from ayon_core.hosts.aftereffects import api -from ayon_core.hosts.aftereffects.api.lib import ( +from ayon_aftereffects import api +from ayon_aftereffects.api.lib import ( get_background_layers, get_unique_layer_name, ) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py index 4b81201722..05749885c9 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/load/load_file.py @@ -1,8 +1,8 @@ import re from ayon_core.pipeline import get_representation_path -from ayon_core.hosts.aftereffects import api -from ayon_core.hosts.aftereffects.api.lib import get_unique_layer_name +from ayon_aftereffects import api +from ayon_aftereffects.api.lib import get_unique_layer_name class FileLoader(api.AfterEffectsLoader): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py index 331d5281ed..b8a36bce44 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/add_publish_highlight.py @@ -1,6 +1,6 @@ import pyblish.api -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class AddPublishHighlight(pyblish.api.InstancePlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py index c00591729e..3aa0a01854 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/closeAE.py @@ -2,7 +2,7 @@ """Close AE after publish. For Webpublishing only.""" import pyblish.api -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class CloseAE(pyblish.api.ContextPlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py index c0ef0b71a4..3f7108186c 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_audio.py @@ -2,7 +2,7 @@ import os import pyblish.api -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class CollectAudio(pyblish.api.ContextPlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py index aead872461..6a247d5234 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_current_file.py @@ -2,7 +2,7 @@ import os import pyblish.api -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class CollectCurrentFile(pyblish.api.ContextPlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py index 5b8393a49a..968943abc4 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_extension_version.py @@ -2,7 +2,7 @@ import os import re import pyblish.api -from ayon_core.hosts.aftereffects.api import ( +from ayon_aftereffects.api import ( get_stub, get_extension_manifest_path ) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py index ebd4b8f944..3508512cba 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_render.py @@ -6,8 +6,8 @@ import pyblish.api from ayon_core.pipeline import publish from ayon_core.pipeline.publish import RenderInstance -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub @attr.s class AERenderInstance(RenderInstance): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py index c5e62a2f54..9f152414e5 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_local_render.py @@ -1,8 +1,8 @@ import os from ayon_core.pipeline import publish -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class ExtractLocalRender(publish.Extractor): """Render RenderQueue locally.""" diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py index f0007f96d9..165d1d081a 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/extract_save_scene.py @@ -1,7 +1,7 @@ import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class ExtractSaveScene(pyblish.api.ContextPlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py index fc51ff9176..9c1f79c477 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/increment_workfile.py @@ -2,7 +2,7 @@ import pyblish.api from ayon_core.lib import version_up from ayon_core.pipeline.publish import get_errored_plugins_from_context -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class IncrementWorkfile(pyblish.api.InstancePlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py index 70b6efecb0..3367fa4e94 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/remove_publish_highlight.py @@ -1,5 +1,5 @@ from ayon_core.pipeline import publish -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class RemovePublishHighlight(publish.Extractor): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py index ae20102417..1f23b1ef7c 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_footage_items.py @@ -9,7 +9,7 @@ import pyblish.api from ayon_core.pipeline import ( PublishXmlValidationError ) -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class ValidateFootageItems(pyblish.api.InstancePlugin): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py index c4411bd4c2..01d046938b 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_instance_asset.py @@ -5,7 +5,7 @@ from ayon_core.pipeline.publish import ( ValidateContentsOrder, PublishXmlValidationError, ) -from ayon_core.hosts.aftereffects.api import get_stub +from ayon_aftereffects.api import get_stub class ValidateInstanceFolderRepair(pyblish.api.Action): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py index 6375f5cc61..f5dd3ae1d0 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py @@ -13,7 +13,7 @@ from ayon_core.pipeline import ( PublishXmlValidationError, OptionalPyblishPluginMixin ) -from ayon_core.hosts.aftereffects.api import get_folder_settings +from ayon_aftereffects.api import get_folder_settings class ValidateSceneSettings(OptionalPyblishPluginMixin, diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py index c7927f176f..79b820b01a 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/create_placeholder.py @@ -2,9 +2,11 @@ from ayon_core.pipeline.workfile.workfile_template_builder import ( CreatePlaceholderItem, PlaceholderCreateMixin ) -from ayon_core.hosts.aftereffects.api import get_stub -from ayon_core.hosts.aftereffects.api.lib import set_settings -import ayon_core.hosts.aftereffects.api.workfile_template_builder as wtb +from ayon_aftereffects.api import ( + get_stub, + workfile_template_builder as wtb, +) +from ayon_aftereffects.api.lib import set_settings class AEPlaceholderCreatePlugin(wtb.AEPlaceholderPlugin, diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py index 7f7e4f49ce..e4f021e5ff 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/workfile_build/load_placeholder.py @@ -2,8 +2,10 @@ from ayon_core.pipeline.workfile.workfile_template_builder import ( LoadPlaceholderItem, PlaceholderLoadMixin ) -from ayon_core.hosts.aftereffects.api import get_stub -import ayon_core.hosts.aftereffects.api.workfile_template_builder as wtb +from ayon_aftereffects.api import ( + get_stub, + workfile_template_builder as wtb, +) class AEPlaceholderLoadPlugin(wtb.AEPlaceholderPlugin, PlaceholderLoadMixin): From bf390e4d1490eb64c723da80fd512cf92fe75b4d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:50:24 +0200 Subject: [PATCH 058/124] updated package.py and bumped version --- client/ayon_core/addon/base.py | 1 + .../aftereffects/client/ayon_aftereffects/__init__.py | 3 +++ .../aftereffects/client/ayon_aftereffects/addon.py | 3 +++ .../aftereffects/client/ayon_aftereffects/version.py | 3 +++ server_addon/aftereffects/client/pyproject.toml | 6 ++++++ server_addon/aftereffects/package.py | 9 ++++++++- 6 files changed, 24 insertions(+), 1 deletion(-) create mode 100644 server_addon/aftereffects/client/ayon_aftereffects/version.py create mode 100644 server_addon/aftereffects/client/pyproject.toml diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 56d5c46858..63914a283b 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -50,6 +50,7 @@ IGNORED_MODULES_IN_AYON = set() # When addon was moved from ayon-core codebase # - this is used to log the missing addon MOVED_ADDON_MILESTONE_VERSIONS = { + "aftereffects": VersionInfo(0, 2, 0), "applications": VersionInfo(0, 2, 0), "celaction": VersionInfo(0, 2, 0), "clockify": VersionInfo(0, 2, 0), diff --git a/server_addon/aftereffects/client/ayon_aftereffects/__init__.py b/server_addon/aftereffects/client/ayon_aftereffects/__init__.py index 02ab287629..e8de12e42e 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/__init__.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/__init__.py @@ -1,3 +1,4 @@ +from .version import __version__ from .addon import ( AFTEREFFECTS_ADDON_ROOT, AfterEffectsAddon, @@ -6,6 +7,8 @@ from .addon import ( __all__ = ( + "__version__", + "AFTEREFFECTS_ADDON_ROOT", "AfterEffectsAddon", "get_launch_script_path", diff --git a/server_addon/aftereffects/client/ayon_aftereffects/addon.py b/server_addon/aftereffects/client/ayon_aftereffects/addon.py index fc54043c1d..f659eba1cb 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/addon.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/addon.py @@ -2,11 +2,14 @@ import os from ayon_core.addon import AYONAddon, IHostAddon +from .version import __version__ + AFTEREFFECTS_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) class AfterEffectsAddon(AYONAddon, IHostAddon): name = "aftereffects" + version = __version__ host_name = "aftereffects" def add_implementation_envs(self, env, _app): diff --git a/server_addon/aftereffects/client/ayon_aftereffects/version.py b/server_addon/aftereffects/client/ayon_aftereffects/version.py new file mode 100644 index 0000000000..8ab87ea78c --- /dev/null +++ b/server_addon/aftereffects/client/ayon_aftereffects/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'aftereffects' version.""" +__version__ = "0.2.0" diff --git a/server_addon/aftereffects/client/pyproject.toml b/server_addon/aftereffects/client/pyproject.toml new file mode 100644 index 0000000000..dcfaab09e6 --- /dev/null +++ b/server_addon/aftereffects/client/pyproject.toml @@ -0,0 +1,6 @@ +[project] +name="aftereffects" +description="AYON AfterEffects addon." + +[ayon.runtimeDependencies] +wsrpc_aiohttp = "^3.1.1" # websocket server diff --git a/server_addon/aftereffects/package.py b/server_addon/aftereffects/package.py index 7a2f9bc7af..8e4e70fc3b 100644 --- a/server_addon/aftereffects/package.py +++ b/server_addon/aftereffects/package.py @@ -1,3 +1,10 @@ name = "aftereffects" title = "AfterEffects" -version = "0.1.4" +version = "0.2.0" + +client_dir = "ayon_aftereffects" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} From 7365f9637260853d4fc33c9996379096a6ab2870 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:52:35 +0200 Subject: [PATCH 059/124] added webserver to cliend codebase --- .../ayon_aftereffects/api/launch_logic.py | 2 +- .../client/ayon_aftereffects/api/webserver.py | 241 ++++++++++++++++++ .../client/ayon_aftereffects/api/ws_stub.py | 3 +- 3 files changed, 244 insertions(+), 2 deletions(-) create mode 100644 server_addon/aftereffects/client/ayon_aftereffects/api/webserver.py diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py index fb8702e20b..3a4fd0e719 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/launch_logic.py @@ -18,8 +18,8 @@ from ayon_core.lib import Logger, is_in_tests from ayon_core.pipeline import install_host from ayon_core.addon import AddonsManager from ayon_core.tools.utils import host_tools, get_ayon_qt_app -from ayon_core.tools.adobe_webserver.app import WebServerTool +from .webserver import WebServerTool from .ws_stub import get_stub from .lib import set_settings diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/webserver.py b/server_addon/aftereffects/client/ayon_aftereffects/api/webserver.py new file mode 100644 index 0000000000..aaecaa4c05 --- /dev/null +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/webserver.py @@ -0,0 +1,241 @@ +"""Webserver for communication with AfterEffects. + +Aiohttp (Asyncio) based websocket server used for communication with host +application. + +This webserver is started in spawned Python process that opens DCC during +its launch, waits for connection from DCC and handles communication going +forward. Server is closed before Python process is killed. +""" +import os +import logging +import urllib +import threading +import asyncio +import socket + +from aiohttp import web + +from wsrpc_aiohttp import WSRPCClient + +from ayon_core.pipeline import get_global_context + +log = logging.getLogger(__name__) + + +class WebServerTool: + """ + Basic POC implementation of asychronic websocket RPC server. + Uses class in external_app_1.py to mimic implementation for single + external application. + 'test_client' folder contains two test implementations of client + """ + _instance = None + + def __init__(self): + WebServerTool._instance = self + + self.client = None + self.handlers = {} + self.on_stop_callbacks = [] + + port = None + host_name = "localhost" + websocket_url = os.getenv("WEBSOCKET_URL") + if websocket_url: + parsed = urllib.parse.urlparse(websocket_url) + port = parsed.port + host_name = parsed.netloc.split(":")[0] + if not port: + port = 8098 # fallback + + self.port = port + self.host_name = host_name + + self.app = web.Application() + + # add route with multiple methods for single "external app" + self.webserver_thread = WebServerThread(self, self.port) + + def add_route(self, *args, **kwargs): + self.app.router.add_route(*args, **kwargs) + + def add_static(self, *args, **kwargs): + self.app.router.add_static(*args, **kwargs) + + def start_server(self): + if self.webserver_thread and not self.webserver_thread.is_alive(): + self.webserver_thread.start() + + def stop_server(self): + self.stop() + + async def send_context_change(self, host): + """ + Calls running webserver to inform about context change + + Used when new PS/AE should be triggered, + but one already running, without + this publish would point to old context. + """ + client = WSRPCClient(os.getenv("WEBSOCKET_URL"), + loop=asyncio.get_event_loop()) + await client.connect() + + context = get_global_context() + project_name = context["project_name"] + folder_path = context["folder_path"] + task_name = context["task_name"] + log.info("Sending context change to {}{}/{}".format( + project_name, folder_path, task_name + )) + + await client.call( + '{}.set_context'.format(host), + project=project_name, + folder=folder_path, + task=task_name + ) + await client.close() + + def port_occupied(self, host_name, port): + """ + Check if 'url' is already occupied. + + This could mean, that app is already running and we are trying open it + again. In that case, use existing running webserver. + Check here is easier than capturing exception from thread. + """ + with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as con: + result = con.connect_ex((host_name, port)) == 0 + + if result: + print(f"Port {port} is already in use") + return result + + def call(self, func): + log.debug("websocket.call {}".format(func)) + future = asyncio.run_coroutine_threadsafe( + func, + self.webserver_thread.loop + ) + result = future.result() + return result + + @staticmethod + def get_instance(): + if WebServerTool._instance is None: + WebServerTool() + return WebServerTool._instance + + @property + def is_running(self): + if not self.webserver_thread: + return False + return self.webserver_thread.is_running + + def stop(self): + if not self.is_running: + return + try: + log.debug("Stopping websocket server") + self.webserver_thread.is_running = False + self.webserver_thread.stop() + except Exception: + log.warning( + "Error has happened during Killing websocket server", + exc_info=True + ) + + def thread_stopped(self): + for callback in self.on_stop_callbacks: + callback() + + +class WebServerThread(threading.Thread): + """ Listener for websocket rpc requests. + + It would be probably better to "attach" this to main thread (as for + example Harmony needs to run something on main thread), but currently + it creates separate thread and separate asyncio event loop + """ + def __init__(self, module, port): + super(WebServerThread, self).__init__() + + self.is_running = False + self.port = port + self.module = module + self.loop = None + self.runner = None + self.site = None + self.tasks = [] + + def run(self): + self.is_running = True + + try: + log.info("Starting web server") + self.loop = asyncio.new_event_loop() # create new loop for thread + asyncio.set_event_loop(self.loop) + + self.loop.run_until_complete(self.start_server()) + + websocket_url = "ws://localhost:{}/ws".format(self.port) + + log.debug( + "Running Websocket server on URL: \"{}\"".format(websocket_url) + ) + + asyncio.ensure_future(self.check_shutdown(), loop=self.loop) + self.loop.run_forever() + except Exception: + self.is_running = False + log.warning( + "Websocket Server service has failed", exc_info=True + ) + raise + finally: + self.loop.close() # optional + + self.is_running = False + self.module.thread_stopped() + log.info("Websocket server stopped") + + async def start_server(self): + """ Starts runner and TCPsite """ + self.runner = web.AppRunner(self.module.app) + await self.runner.setup() + self.site = web.TCPSite(self.runner, 'localhost', self.port) + await self.site.start() + + def stop(self): + """Sets is_running flag to false, 'check_shutdown' shuts server down""" + self.is_running = False + + async def check_shutdown(self): + """ Future that is running and checks if server should be running + periodically. + """ + while self.is_running: + while self.tasks: + task = self.tasks.pop(0) + log.debug("waiting for task {}".format(task)) + await task + log.debug("returned value {}".format(task.result)) + + await asyncio.sleep(0.5) + + log.debug("Starting shutdown") + await self.site.stop() + log.debug("Site stopped") + await self.runner.cleanup() + log.debug("Runner stopped") + tasks = [task for task in asyncio.all_tasks() if + task is not asyncio.current_task()] + list(map(lambda task: task.cancel(), tasks)) # cancel all the tasks + results = await asyncio.gather(*tasks, return_exceptions=True) + log.debug(f'Finished awaiting cancelled tasks, results: {results}...') + await self.loop.shutdown_asyncgens() + # to really make sure everything else has time to stop + await asyncio.sleep(0.07) + self.loop.stop() diff --git a/server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py b/server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py index 869acc3405..60842e0612 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/api/ws_stub.py @@ -8,7 +8,8 @@ import logging import attr from wsrpc_aiohttp import WebSocketAsync -from ayon_core.tools.adobe_webserver.app import WebServerTool + +from .webserver import WebServerTool class ConnectionNotEstablishedYet(Exception): From 22e828bde5221d5e6a90281bba36556966e5173c Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:53:02 +0200 Subject: [PATCH 060/124] removed adobe webserver tool --- client/ayon_core/tools/adobe_webserver/app.py | 239 ------------------ .../tools/adobe_webserver/readme.txt | 12 - 2 files changed, 251 deletions(-) delete mode 100644 client/ayon_core/tools/adobe_webserver/app.py delete mode 100644 client/ayon_core/tools/adobe_webserver/readme.txt diff --git a/client/ayon_core/tools/adobe_webserver/app.py b/client/ayon_core/tools/adobe_webserver/app.py deleted file mode 100644 index 26bf638c91..0000000000 --- a/client/ayon_core/tools/adobe_webserver/app.py +++ /dev/null @@ -1,239 +0,0 @@ -"""This Webserver tool is python 3 specific. - -Don't import directly to avalon.tools or implementation of Python 2 hosts -would break. -""" -import os -import logging -import urllib -import threading -import asyncio -import socket - -from aiohttp import web - -from wsrpc_aiohttp import ( - WSRPCClient -) - -from ayon_core.pipeline import get_global_context - -log = logging.getLogger(__name__) - - -class WebServerTool: - """ - Basic POC implementation of asychronic websocket RPC server. - Uses class in external_app_1.py to mimic implementation for single - external application. - 'test_client' folder contains two test implementations of client - """ - _instance = None - - def __init__(self): - WebServerTool._instance = self - - self.client = None - self.handlers = {} - self.on_stop_callbacks = [] - - port = None - host_name = "localhost" - websocket_url = os.getenv("WEBSOCKET_URL") - if websocket_url: - parsed = urllib.parse.urlparse(websocket_url) - port = parsed.port - host_name = parsed.netloc.split(":")[0] - if not port: - port = 8098 # fallback - - self.port = port - self.host_name = host_name - - self.app = web.Application() - - # add route with multiple methods for single "external app" - self.webserver_thread = WebServerThread(self, self.port) - - def add_route(self, *args, **kwargs): - self.app.router.add_route(*args, **kwargs) - - def add_static(self, *args, **kwargs): - self.app.router.add_static(*args, **kwargs) - - def start_server(self): - if self.webserver_thread and not self.webserver_thread.is_alive(): - self.webserver_thread.start() - - def stop_server(self): - self.stop() - - async def send_context_change(self, host): - """ - Calls running webserver to inform about context change - - Used when new PS/AE should be triggered, - but one already running, without - this publish would point to old context. - """ - client = WSRPCClient(os.getenv("WEBSOCKET_URL"), - loop=asyncio.get_event_loop()) - await client.connect() - - context = get_global_context() - project_name = context["project_name"] - folder_path = context["folder_path"] - task_name = context["task_name"] - log.info("Sending context change to {}{}/{}".format( - project_name, folder_path, task_name - )) - - await client.call( - '{}.set_context'.format(host), - project=project_name, - folder=folder_path, - task=task_name - ) - await client.close() - - def port_occupied(self, host_name, port): - """ - Check if 'url' is already occupied. - - This could mean, that app is already running and we are trying open it - again. In that case, use existing running webserver. - Check here is easier than capturing exception from thread. - """ - with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as con: - result = con.connect_ex((host_name, port)) == 0 - - if result: - print(f"Port {port} is already in use") - return result - - def call(self, func): - log.debug("websocket.call {}".format(func)) - future = asyncio.run_coroutine_threadsafe( - func, - self.webserver_thread.loop - ) - result = future.result() - return result - - @staticmethod - def get_instance(): - if WebServerTool._instance is None: - WebServerTool() - return WebServerTool._instance - - @property - def is_running(self): - if not self.webserver_thread: - return False - return self.webserver_thread.is_running - - def stop(self): - if not self.is_running: - return - try: - log.debug("Stopping websocket server") - self.webserver_thread.is_running = False - self.webserver_thread.stop() - except Exception: - log.warning( - "Error has happened during Killing websocket server", - exc_info=True - ) - - def thread_stopped(self): - for callback in self.on_stop_callbacks: - callback() - - -class WebServerThread(threading.Thread): - """ Listener for websocket rpc requests. - - It would be probably better to "attach" this to main thread (as for - example Harmony needs to run something on main thread), but currently - it creates separate thread and separate asyncio event loop - """ - def __init__(self, module, port): - super(WebServerThread, self).__init__() - - self.is_running = False - self.port = port - self.module = module - self.loop = None - self.runner = None - self.site = None - self.tasks = [] - - def run(self): - self.is_running = True - - try: - log.info("Starting web server") - self.loop = asyncio.new_event_loop() # create new loop for thread - asyncio.set_event_loop(self.loop) - - self.loop.run_until_complete(self.start_server()) - - websocket_url = "ws://localhost:{}/ws".format(self.port) - - log.debug( - "Running Websocket server on URL: \"{}\"".format(websocket_url) - ) - - asyncio.ensure_future(self.check_shutdown(), loop=self.loop) - self.loop.run_forever() - except Exception: - self.is_running = False - log.warning( - "Websocket Server service has failed", exc_info=True - ) - raise - finally: - self.loop.close() # optional - - self.is_running = False - self.module.thread_stopped() - log.info("Websocket server stopped") - - async def start_server(self): - """ Starts runner and TCPsite """ - self.runner = web.AppRunner(self.module.app) - await self.runner.setup() - self.site = web.TCPSite(self.runner, 'localhost', self.port) - await self.site.start() - - def stop(self): - """Sets is_running flag to false, 'check_shutdown' shuts server down""" - self.is_running = False - - async def check_shutdown(self): - """ Future that is running and checks if server should be running - periodically. - """ - while self.is_running: - while self.tasks: - task = self.tasks.pop(0) - log.debug("waiting for task {}".format(task)) - await task - log.debug("returned value {}".format(task.result)) - - await asyncio.sleep(0.5) - - log.debug("Starting shutdown") - await self.site.stop() - log.debug("Site stopped") - await self.runner.cleanup() - log.debug("Runner stopped") - tasks = [task for task in asyncio.all_tasks() if - task is not asyncio.current_task()] - list(map(lambda task: task.cancel(), tasks)) # cancel all the tasks - results = await asyncio.gather(*tasks, return_exceptions=True) - log.debug(f'Finished awaiting cancelled tasks, results: {results}...') - await self.loop.shutdown_asyncgens() - # to really make sure everything else has time to stop - await asyncio.sleep(0.07) - self.loop.stop() diff --git a/client/ayon_core/tools/adobe_webserver/readme.txt b/client/ayon_core/tools/adobe_webserver/readme.txt deleted file mode 100644 index d02d390277..0000000000 --- a/client/ayon_core/tools/adobe_webserver/readme.txt +++ /dev/null @@ -1,12 +0,0 @@ -Adobe webserver ---------------- -Aiohttp (Asyncio) based websocket server used for communication with host -applications, currently only for Adobe (but could be used for any non python -DCC which has websocket client). - -This webserver is started in spawned Python process that opens DCC during -its launch, waits for connection from DCC and handles communication going -forward. Server is closed before Python process is killed. - -(Different from `ayon_core/modules/webserver` as that one is running in Tray, -this one is running in spawn Python process.) \ No newline at end of file From 364e439f6c5085359f28d654fe6ba7ac76136d2f Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 16:56:12 +0200 Subject: [PATCH 061/124] added settings category --- .../client/ayon_aftereffects/plugins/publish/collect_review.py | 1 + .../ayon_aftereffects/plugins/publish/validate_scene_settings.py | 1 + 2 files changed, 2 insertions(+) diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py index 667e9cf8b9..8074342cc8 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/collect_review.py @@ -14,6 +14,7 @@ class CollectReview(pyblish.api.ContextPlugin): label = "Collect Review" hosts = ["aftereffects"] order = pyblish.api.CollectorOrder + 0.1 + settings_category = "aftereffects" def process(self, context): for instance in context: diff --git a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py index f5dd3ae1d0..97fdee11ff 100644 --- a/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py +++ b/server_addon/aftereffects/client/ayon_aftereffects/plugins/publish/validate_scene_settings.py @@ -60,6 +60,7 @@ class ValidateSceneSettings(OptionalPyblishPluginMixin, label = "Validate Scene Settings" families = ["render.farm", "render.local", "render"] hosts = ["aftereffects"] + settings_category = "aftereffects" optional = True skip_timelines_check = [".*"] # * >> skip for all From 8f823ac02a6d21c616d5c5f99f8cfe5e09fb3066 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:06:54 +0200 Subject: [PATCH 062/124] added settings category to loader --- .../client/ayon_harmony/plugins/load/load_imagesequence.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py b/server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py index a1b890300c..cc588a3442 100644 --- a/server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py +++ b/server_addon/harmony/client/ayon_harmony/plugins/load/load_imagesequence.py @@ -30,6 +30,7 @@ class ImageSequenceLoader(load.LoaderPlugin): } representations = {"*"} extensions = {"jpeg", "png", "jpg"} + settings_category = "harmony" def load(self, context, name=None, namespace=None, data=None): """Plugin entry point. From 9074120b6a165527bfeac8cade7e300637be23f4 Mon Sep 17 00:00:00 2001 From: MustafaJafar Date: Fri, 31 May 2024 18:11:50 +0300 Subject: [PATCH 063/124] implement `HoudiniExtractorPlugin` and use it in all extractor plugins --- .../houdini/client/ayon_houdini/api/plugin.py | 18 +++++++++++++++++- .../publish/extract_active_view_thumbnail.py | 2 +- .../plugins/publish/extract_alembic.py | 2 +- .../plugins/publish/extract_ass.py | 2 +- .../plugins/publish/extract_bgeo.py | 2 +- .../plugins/publish/extract_composite.py | 2 +- .../plugins/publish/extract_fbx.py | 2 +- .../plugins/publish/extract_hda.py | 2 +- .../plugins/publish/extract_mantra_ifd.py | 2 +- .../plugins/publish/extract_opengl.py | 2 +- .../plugins/publish/extract_redshift_proxy.py | 2 +- .../plugins/publish/extract_render.py | 2 +- .../plugins/publish/extract_usd.py | 2 +- .../plugins/publish/extract_usd_layered.py | 2 +- .../plugins/publish/extract_vdb_cache.py | 2 +- 15 files changed, 31 insertions(+), 15 deletions(-) diff --git a/server_addon/houdini/client/ayon_houdini/api/plugin.py b/server_addon/houdini/client/ayon_houdini/api/plugin.py index 22a2b40dd4..9c6bba925a 100644 --- a/server_addon/houdini/client/ayon_houdini/api/plugin.py +++ b/server_addon/houdini/client/ayon_houdini/api/plugin.py @@ -15,7 +15,8 @@ from ayon_core.pipeline import ( CreatedInstance, AYON_INSTANCE_ID, AVALON_INSTANCE_ID, - load + load, + publish ) from ayon_core.lib import BoolDef @@ -376,3 +377,18 @@ class HoudiniContextPlugin(pyblish.api.ContextPlugin): hosts = ["houdini"] settings_category = SETTINGS_CATEGORY + + +class HoudiniExtractorPlugin(publish.Extractor): + """Base class for Houdini extract plugins. + + Note: + The `HoudiniExtractorPlugin` is a subclass of `publish.Extractor`, + which in turn is a subclass of `pyblish.api.InstancePlugin`. + Should there be a requirement to create an extractor that operates + as a context plugin, it would be beneficial to incorporate + the functionalities present in `publish.Extractor`. + """ + + hosts = ["houdini"] + settings_category = SETTINGS_CATEGORY diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py index ef35a505c4..c4d51c0808 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_active_view_thumbnail.py @@ -4,7 +4,7 @@ from ayon_houdini.api import lib, plugin from ayon_houdini.api.pipeline import IS_HEADLESS -class ExtractActiveViewThumbnail(plugin.HoudiniInstancePlugin): +class ExtractActiveViewThumbnail(plugin.HoudiniExtractorPlugin): """Set instance thumbnail to a screengrab of current active viewport. This makes it so that if an instance does not have a thumbnail set yet that diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py index 4016dd05fb..e82f07284a 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_alembic.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractAlembic(plugin.HoudiniInstancePlugin): +class ExtractAlembic(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Alembic" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py index cb450b9524..a796bbf4b3 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_ass.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractAss(plugin.HoudiniInstancePlugin): +class ExtractAss(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Ass" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py index f867bc98a8..ab8837065d 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_bgeo.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import lib, plugin -class ExtractBGEO(plugin.HoudiniInstancePlugin): +class ExtractBGEO(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract BGEO" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py index 41e4e4bb14..cab462aef6 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_composite.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop, splitext -class ExtractComposite(plugin.HoudiniInstancePlugin, +class ExtractComposite(plugin.HoudiniExtractorPlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py index f12ca666d8..49b3fa07ca 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_fbx.py @@ -8,7 +8,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractFBX(plugin.HoudiniInstancePlugin): +class ExtractFBX(plugin.HoudiniExtractorPlugin): label = "Extract FBX" families = ["fbx"] diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py index d93113b0a6..e4449d11f8 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_hda.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import plugin -class ExtractHDA(plugin.HoudiniInstancePlugin): +class ExtractHDA(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract HDA" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py index fd36759aa7..b424f2e452 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_mantra_ifd.py @@ -6,7 +6,7 @@ import pyblish.api from ayon_houdini.api import plugin -class ExtractMantraIFD(plugin.HoudiniInstancePlugin): +class ExtractMantraIFD(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Mantra ifd" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py index 8fa0cf0d25..bee1bf871f 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_opengl.py @@ -8,7 +8,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractOpenGL(plugin.HoudiniInstancePlugin, +class ExtractOpenGL(plugin.HoudiniExtractorPlugin, publish.ColormanagedPyblishPluginMixin): order = pyblish.api.ExtractorOrder - 0.01 diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py index b46f5a15a3..3e8a79df00 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_redshift_proxy.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractRedshiftProxy(plugin.HoudiniInstancePlugin): +class ExtractRedshiftProxy(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract Redshift Proxy" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py index 62ad394e73..8ff8590650 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_render.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractRender(plugin.HoudiniInstancePlugin): +class ExtractRender(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Render" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py index c816a9a4ea..40e6211e63 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractUSD(plugin.HoudiniInstancePlugin): +class ExtractUSD(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract USD" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py index 68f0516c6e..6a377c57cf 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_usd_layered.py @@ -152,7 +152,7 @@ def parm_values(overrides): parm.set(value) -class ExtractUSDLayered(plugin.HoudiniInstancePlugin): +class ExtractUSDLayered(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder label = "Extract Layered USD" diff --git a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py index 4afa26036b..a944d81e9b 100644 --- a/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py +++ b/server_addon/houdini/client/ayon_houdini/plugins/publish/extract_vdb_cache.py @@ -7,7 +7,7 @@ from ayon_houdini.api import plugin from ayon_houdini.api.lib import render_rop -class ExtractVDBCache(plugin.HoudiniInstancePlugin): +class ExtractVDBCache(plugin.HoudiniExtractorPlugin): order = pyblish.api.ExtractorOrder + 0.1 label = "Extract VDB Cache" From fa3edd79c0c6a48d62759c200ab3c467029c7313 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:25:23 +0200 Subject: [PATCH 064/124] moved blender integration next to server codebase --- .../blender/client/ayon_blender}/__init__.py | 0 .../blender/client/ayon_blender}/addon.py | 0 .../blender/client/ayon_blender}/api/__init__.py | 0 .../blender/client/ayon_blender}/api/action.py | 0 .../blender/client/ayon_blender}/api/capture.py | 0 .../blender/client/ayon_blender}/api/colorspace.py | 0 .../ayon_blender}/api/icons/pyblish-32x32.png | Bin .../blender/client/ayon_blender}/api/lib.py | 0 .../blender/client/ayon_blender}/api/ops.py | 0 .../blender/client/ayon_blender}/api/pipeline.py | 0 .../blender/client/ayon_blender}/api/plugin.py | 0 .../blender/client/ayon_blender}/api/render_lib.py | 0 .../blender/client/ayon_blender}/api/workio.py | 0 .../ayon_blender}/blender_addon/startup/init.py | 0 .../hooks/pre_add_run_python_script_arg.py | 0 .../ayon_blender}/hooks/pre_pyside_install.py | 0 .../ayon_blender}/hooks/pre_windows_console.py | 0 .../ayon_blender}/plugins/create/convert_legacy.py | 0 .../ayon_blender}/plugins/create/create_action.py | 0 .../plugins/create/create_animation.py | 0 .../plugins/create/create_blendScene.py | 0 .../ayon_blender}/plugins/create/create_camera.py | 0 .../ayon_blender}/plugins/create/create_layout.py | 0 .../ayon_blender}/plugins/create/create_model.py | 0 .../plugins/create/create_pointcache.py | 0 .../ayon_blender}/plugins/create/create_render.py | 0 .../ayon_blender}/plugins/create/create_review.py | 0 .../ayon_blender}/plugins/create/create_rig.py | 0 .../ayon_blender}/plugins/create/create_usd.py | 0 .../ayon_blender}/plugins/create/create_workfile.py | 0 .../ayon_blender}/plugins/load/import_workfile.py | 0 .../ayon_blender}/plugins/load/load_action.py | 0 .../ayon_blender}/plugins/load/load_animation.py | 0 .../client/ayon_blender}/plugins/load/load_audio.py | 0 .../client/ayon_blender}/plugins/load/load_blend.py | 0 .../ayon_blender}/plugins/load/load_blendscene.py | 0 .../client/ayon_blender}/plugins/load/load_cache.py | 0 .../ayon_blender}/plugins/load/load_camera_abc.py | 0 .../ayon_blender}/plugins/load/load_camera_fbx.py | 0 .../client/ayon_blender}/plugins/load/load_fbx.py | 0 .../ayon_blender}/plugins/load/load_layout_json.py | 0 .../client/ayon_blender}/plugins/load/load_look.py | 0 .../plugins/publish/collect_current_file.py | 0 .../plugins/publish/collect_instance.py | 0 .../ayon_blender}/plugins/publish/collect_render.py | 0 .../ayon_blender}/plugins/publish/collect_review.py | 0 .../plugins/publish/collect_workfile.py | 0 .../ayon_blender}/plugins/publish/extract_abc.py | 0 .../plugins/publish/extract_abc_animation.py | 0 .../ayon_blender}/plugins/publish/extract_blend.py | 0 .../plugins/publish/extract_blend_animation.py | 0 .../plugins/publish/extract_camera_abc.py | 0 .../plugins/publish/extract_camera_fbx.py | 0 .../ayon_blender}/plugins/publish/extract_fbx.py | 0 .../plugins/publish/extract_fbx_animation.py | 0 .../ayon_blender}/plugins/publish/extract_layout.py | 0 .../plugins/publish/extract_playblast.py | 0 .../plugins/publish/extract_thumbnail.py | 0 .../ayon_blender}/plugins/publish/extract_usd.py | 0 .../plugins/publish/increment_workfile_version.py | 0 .../plugins/publish/integrate_animation.py | 0 .../publish/validate_camera_zero_keyframe.py | 0 .../plugins/publish/validate_deadline_publish.py | 0 .../plugins/publish/validate_file_saved.py | 0 .../plugins/publish/validate_instance_empty.py | 0 .../plugins/publish/validate_mesh_has_uv.py | 0 .../publish/validate_mesh_no_negative_scale.py | 0 .../plugins/publish/validate_model_uv_map1.py | 0 .../plugins/publish/validate_no_colons_in_name.py | 0 .../plugins/publish/validate_object_mode.py | 0 .../publish/validate_render_camera_is_set.py | 0 .../plugins/publish/validate_transform_zero.py | 0 72 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/__init__.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/addon.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/__init__.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/action.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/capture.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/colorspace.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/icons/pyblish-32x32.png (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/lib.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/ops.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/pipeline.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/plugin.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/render_lib.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/api/workio.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/blender_addon/startup/init.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/hooks/pre_add_run_python_script_arg.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/hooks/pre_pyside_install.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/hooks/pre_windows_console.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/convert_legacy.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_action.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_blendScene.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_camera.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_layout.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_model.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_pointcache.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_render.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_review.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_rig.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_usd.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/create/create_workfile.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/import_workfile.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_action.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_audio.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_blend.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_blendscene.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_cache.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_camera_abc.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_camera_fbx.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_fbx.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_layout_json.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/load/load_look.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/collect_current_file.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/collect_instance.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/collect_render.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/collect_review.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/collect_workfile.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_abc.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_abc_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_blend.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_blend_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_camera_abc.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_camera_fbx.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_fbx.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_fbx_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_layout.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_playblast.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_thumbnail.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/extract_usd.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/increment_workfile_version.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/integrate_animation.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_camera_zero_keyframe.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_deadline_publish.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_file_saved.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_instance_empty.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_mesh_has_uv.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_mesh_no_negative_scale.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_model_uv_map1.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_no_colons_in_name.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_object_mode.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_render_camera_is_set.py (100%) rename {client/ayon_core/hosts/blender => server_addon/blender/client/ayon_blender}/plugins/publish/validate_transform_zero.py (100%) diff --git a/client/ayon_core/hosts/blender/__init__.py b/server_addon/blender/client/ayon_blender/__init__.py similarity index 100% rename from client/ayon_core/hosts/blender/__init__.py rename to server_addon/blender/client/ayon_blender/__init__.py diff --git a/client/ayon_core/hosts/blender/addon.py b/server_addon/blender/client/ayon_blender/addon.py similarity index 100% rename from client/ayon_core/hosts/blender/addon.py rename to server_addon/blender/client/ayon_blender/addon.py diff --git a/client/ayon_core/hosts/blender/api/__init__.py b/server_addon/blender/client/ayon_blender/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/blender/api/__init__.py rename to server_addon/blender/client/ayon_blender/api/__init__.py diff --git a/client/ayon_core/hosts/blender/api/action.py b/server_addon/blender/client/ayon_blender/api/action.py similarity index 100% rename from client/ayon_core/hosts/blender/api/action.py rename to server_addon/blender/client/ayon_blender/api/action.py diff --git a/client/ayon_core/hosts/blender/api/capture.py b/server_addon/blender/client/ayon_blender/api/capture.py similarity index 100% rename from client/ayon_core/hosts/blender/api/capture.py rename to server_addon/blender/client/ayon_blender/api/capture.py diff --git a/client/ayon_core/hosts/blender/api/colorspace.py b/server_addon/blender/client/ayon_blender/api/colorspace.py similarity index 100% rename from client/ayon_core/hosts/blender/api/colorspace.py rename to server_addon/blender/client/ayon_blender/api/colorspace.py diff --git a/client/ayon_core/hosts/blender/api/icons/pyblish-32x32.png b/server_addon/blender/client/ayon_blender/api/icons/pyblish-32x32.png similarity index 100% rename from client/ayon_core/hosts/blender/api/icons/pyblish-32x32.png rename to server_addon/blender/client/ayon_blender/api/icons/pyblish-32x32.png diff --git a/client/ayon_core/hosts/blender/api/lib.py b/server_addon/blender/client/ayon_blender/api/lib.py similarity index 100% rename from client/ayon_core/hosts/blender/api/lib.py rename to server_addon/blender/client/ayon_blender/api/lib.py diff --git a/client/ayon_core/hosts/blender/api/ops.py b/server_addon/blender/client/ayon_blender/api/ops.py similarity index 100% rename from client/ayon_core/hosts/blender/api/ops.py rename to server_addon/blender/client/ayon_blender/api/ops.py diff --git a/client/ayon_core/hosts/blender/api/pipeline.py b/server_addon/blender/client/ayon_blender/api/pipeline.py similarity index 100% rename from client/ayon_core/hosts/blender/api/pipeline.py rename to server_addon/blender/client/ayon_blender/api/pipeline.py diff --git a/client/ayon_core/hosts/blender/api/plugin.py b/server_addon/blender/client/ayon_blender/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/blender/api/plugin.py rename to server_addon/blender/client/ayon_blender/api/plugin.py diff --git a/client/ayon_core/hosts/blender/api/render_lib.py b/server_addon/blender/client/ayon_blender/api/render_lib.py similarity index 100% rename from client/ayon_core/hosts/blender/api/render_lib.py rename to server_addon/blender/client/ayon_blender/api/render_lib.py diff --git a/client/ayon_core/hosts/blender/api/workio.py b/server_addon/blender/client/ayon_blender/api/workio.py similarity index 100% rename from client/ayon_core/hosts/blender/api/workio.py rename to server_addon/blender/client/ayon_blender/api/workio.py diff --git a/client/ayon_core/hosts/blender/blender_addon/startup/init.py b/server_addon/blender/client/ayon_blender/blender_addon/startup/init.py similarity index 100% rename from client/ayon_core/hosts/blender/blender_addon/startup/init.py rename to server_addon/blender/client/ayon_blender/blender_addon/startup/init.py diff --git a/client/ayon_core/hosts/blender/hooks/pre_add_run_python_script_arg.py b/server_addon/blender/client/ayon_blender/hooks/pre_add_run_python_script_arg.py similarity index 100% rename from client/ayon_core/hosts/blender/hooks/pre_add_run_python_script_arg.py rename to server_addon/blender/client/ayon_blender/hooks/pre_add_run_python_script_arg.py diff --git a/client/ayon_core/hosts/blender/hooks/pre_pyside_install.py b/server_addon/blender/client/ayon_blender/hooks/pre_pyside_install.py similarity index 100% rename from client/ayon_core/hosts/blender/hooks/pre_pyside_install.py rename to server_addon/blender/client/ayon_blender/hooks/pre_pyside_install.py diff --git a/client/ayon_core/hosts/blender/hooks/pre_windows_console.py b/server_addon/blender/client/ayon_blender/hooks/pre_windows_console.py similarity index 100% rename from client/ayon_core/hosts/blender/hooks/pre_windows_console.py rename to server_addon/blender/client/ayon_blender/hooks/pre_windows_console.py diff --git a/client/ayon_core/hosts/blender/plugins/create/convert_legacy.py b/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/convert_legacy.py rename to server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_action.py b/server_addon/blender/client/ayon_blender/plugins/create/create_action.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_action.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_action.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_animation.py b/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_animation.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_blendScene.py b/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_blendScene.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_camera.py b/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_camera.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_camera.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_layout.py b/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_layout.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_layout.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_model.py b/server_addon/blender/client/ayon_blender/plugins/create/create_model.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_model.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_model.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_pointcache.py b/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_pointcache.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_render.py b/server_addon/blender/client/ayon_blender/plugins/create/create_render.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_render.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_render.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_review.py b/server_addon/blender/client/ayon_blender/plugins/create/create_review.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_review.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_review.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_rig.py b/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_rig.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_rig.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_usd.py b/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_usd.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_usd.py diff --git a/client/ayon_core/hosts/blender/plugins/create/create_workfile.py b/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/create/create_workfile.py rename to server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py diff --git a/client/ayon_core/hosts/blender/plugins/load/import_workfile.py b/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/import_workfile.py rename to server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_action.py b/server_addon/blender/client/ayon_blender/plugins/load/load_action.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_action.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_action.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_animation.py b/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_animation.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_audio.py b/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_audio.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_audio.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_blend.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_blend.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_blend.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_blendscene.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_blendscene.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_cache.py b/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_cache.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_cache.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_camera_abc.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_camera_fbx.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_fbx.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_layout_json.py b/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_layout_json.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py diff --git a/client/ayon_core/hosts/blender/plugins/load/load_look.py b/server_addon/blender/client/ayon_blender/plugins/load/load_look.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/load/load_look.py rename to server_addon/blender/client/ayon_blender/plugins/load/load_look.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/collect_current_file.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/collect_current_file.py rename to server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/collect_instance.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/collect_instance.py rename to server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/collect_render.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/collect_render.py rename to server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/collect_review.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/collect_review.py rename to server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/collect_workfile.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/collect_workfile.py rename to server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_abc.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_abc_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_abc_animation.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_blend.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_blend.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_blend_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_blend_animation.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_camera_abc.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_camera_fbx.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_fbx.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_fbx_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_fbx_animation.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_layout.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_layout.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_playblast.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_playblast.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_thumbnail.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_thumbnail.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/extract_usd.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/extract_usd.py rename to server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/increment_workfile_version.py b/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/increment_workfile_version.py rename to server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/integrate_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/integrate_animation.py rename to server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_camera_zero_keyframe.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_camera_zero_keyframe.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_deadline_publish.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_deadline_publish.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_file_saved.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_file_saved.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_instance_empty.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_instance_empty.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_mesh_has_uv.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_mesh_has_uv.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_mesh_no_negative_scale.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_mesh_no_negative_scale.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_model_uv_map1.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_model_uv_map1.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_no_colons_in_name.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_no_colons_in_name.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_object_mode.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_object_mode.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_render_camera_is_set.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_render_camera_is_set.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py diff --git a/client/ayon_core/hosts/blender/plugins/publish/validate_transform_zero.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py similarity index 100% rename from client/ayon_core/hosts/blender/plugins/publish/validate_transform_zero.py rename to server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py From 5ef9b5d17c2ebaa527b635e480a02da7fbe9d1c0 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:28:03 +0200 Subject: [PATCH 065/124] fix imports --- server_addon/blender/client/ayon_blender/addon.py | 6 +++--- .../blender/client/ayon_blender/api/pipeline.py | 13 ++++++------- .../blender/client/ayon_blender/api/plugin.py | 2 +- .../ayon_blender/blender_addon/startup/init.py | 2 +- .../ayon_blender/plugins/create/convert_legacy.py | 2 +- .../ayon_blender/plugins/create/create_action.py | 2 +- .../ayon_blender/plugins/create/create_animation.py | 2 +- .../plugins/create/create_blendScene.py | 2 +- .../ayon_blender/plugins/create/create_camera.py | 4 ++-- .../ayon_blender/plugins/create/create_layout.py | 2 +- .../ayon_blender/plugins/create/create_model.py | 2 +- .../plugins/create/create_pointcache.py | 2 +- .../ayon_blender/plugins/create/create_render.py | 6 +++--- .../ayon_blender/plugins/create/create_review.py | 2 +- .../ayon_blender/plugins/create/create_rig.py | 2 +- .../ayon_blender/plugins/create/create_usd.py | 2 +- .../ayon_blender/plugins/create/create_workfile.py | 4 ++-- .../ayon_blender/plugins/load/import_workfile.py | 2 +- .../client/ayon_blender/plugins/load/load_action.py | 4 ++-- .../ayon_blender/plugins/load/load_animation.py | 4 ++-- .../client/ayon_blender/plugins/load/load_audio.py | 4 ++-- .../client/ayon_blender/plugins/load/load_blend.py | 6 +++--- .../ayon_blender/plugins/load/load_blendscene.py | 6 +++--- .../client/ayon_blender/plugins/load/load_cache.py | 4 ++-- .../ayon_blender/plugins/load/load_camera_abc.py | 4 ++-- .../ayon_blender/plugins/load/load_camera_fbx.py | 4 ++-- .../client/ayon_blender/plugins/load/load_fbx.py | 4 ++-- .../ayon_blender/plugins/load/load_layout_json.py | 4 ++-- .../client/ayon_blender/plugins/load/load_look.py | 4 ++-- .../plugins/publish/collect_current_file.py | 2 +- .../plugins/publish/collect_instance.py | 2 +- .../ayon_blender/plugins/publish/collect_render.py | 2 +- .../ayon_blender/plugins/publish/extract_abc.py | 2 +- .../plugins/publish/extract_abc_animation.py | 2 +- .../plugins/publish/extract_camera_abc.py | 2 +- .../plugins/publish/extract_camera_fbx.py | 2 +- .../ayon_blender/plugins/publish/extract_fbx.py | 2 +- .../plugins/publish/extract_fbx_animation.py | 4 ++-- .../ayon_blender/plugins/publish/extract_layout.py | 4 ++-- .../plugins/publish/extract_playblast.py | 4 ++-- .../plugins/publish/extract_thumbnail.py | 4 ++-- .../ayon_blender/plugins/publish/extract_usd.py | 2 +- .../plugins/publish/increment_workfile_version.py | 2 +- .../publish/validate_camera_zero_keyframe.py | 4 ++-- .../plugins/publish/validate_deadline_publish.py | 2 +- .../plugins/publish/validate_mesh_has_uv.py | 4 ++-- .../publish/validate_mesh_no_negative_scale.py | 4 ++-- .../plugins/publish/validate_model_uv_map1.py | 4 ++-- .../plugins/publish/validate_no_colons_in_name.py | 4 ++-- .../plugins/publish/validate_object_mode.py | 4 ++-- .../plugins/publish/validate_transform_zero.py | 6 +++--- 51 files changed, 87 insertions(+), 88 deletions(-) diff --git a/server_addon/blender/client/ayon_blender/addon.py b/server_addon/blender/client/ayon_blender/addon.py index 6a4b325365..d9a20e8dab 100644 --- a/server_addon/blender/client/ayon_blender/addon.py +++ b/server_addon/blender/client/ayon_blender/addon.py @@ -1,7 +1,7 @@ import os from ayon_core.addon import AYONAddon, IHostAddon -BLENDER_ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) +BLENDER_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) class BlenderAddon(AYONAddon, IHostAddon): @@ -12,7 +12,7 @@ class BlenderAddon(AYONAddon, IHostAddon): """Modify environments to contain all required for implementation.""" # Prepare path to implementation script implementation_user_script_path = os.path.join( - BLENDER_ROOT_DIR, + BLENDER_ADDON_ROOT, "blender_addon" ) @@ -61,7 +61,7 @@ class BlenderAddon(AYONAddon, IHostAddon): if app.host_name != self.host_name: return [] return [ - os.path.join(BLENDER_ROOT_DIR, "hooks") + os.path.join(BLENDER_ADDON_ROOT, "hooks") ] def get_workfile_extensions(self): diff --git a/server_addon/blender/client/ayon_blender/api/pipeline.py b/server_addon/blender/client/ayon_blender/api/pipeline.py index 84e78d0883..d2ff129a48 100644 --- a/server_addon/blender/client/ayon_blender/api/pipeline.py +++ b/server_addon/blender/client/ayon_blender/api/pipeline.py @@ -5,9 +5,6 @@ from typing import Callable, Dict, Iterator, List, Optional import bpy -from . import lib -from . import ops - import pyblish.api import ayon_api @@ -33,8 +30,12 @@ from ayon_core.lib import ( register_event_callback, emit_event ) -import ayon_core.hosts.blender from ayon_core.settings import get_project_settings +from ayon_blender import BLENDER_ADDON_ROOT + +from . import lib +from . import ops + from .workio import ( open_file, save_file, @@ -44,9 +45,7 @@ from .workio import ( work_root, ) - -HOST_DIR = os.path.dirname(os.path.abspath(ayon_core.hosts.blender.__file__)) -PLUGINS_DIR = os.path.join(HOST_DIR, "plugins") +PLUGINS_DIR = os.path.join(BLENDER_ADDON_ROOT, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish") LOAD_PATH = os.path.join(PLUGINS_DIR, "load") CREATE_PATH = os.path.join(PLUGINS_DIR, "create") diff --git a/server_addon/blender/client/ayon_blender/api/plugin.py b/server_addon/blender/client/ayon_blender/api/plugin.py index e00e127f70..2d82a6857f 100644 --- a/server_addon/blender/client/ayon_blender/api/plugin.py +++ b/server_addon/blender/client/ayon_blender/api/plugin.py @@ -496,7 +496,7 @@ class AssetLoader(LoaderPlugin): # Only containerise if it's not already a collection from a .blend file. # representation = context["representation"]["name"] # if representation != "blend": - # from ayon_core.hosts.blender.api.pipeline import containerise + # from ayon_blender.api.pipeline import containerise # return containerise( # name=name, # namespace=namespace, diff --git a/server_addon/blender/client/ayon_blender/blender_addon/startup/init.py b/server_addon/blender/client/ayon_blender/blender_addon/startup/init.py index 816f30f73f..bd0d52627c 100644 --- a/server_addon/blender/client/ayon_blender/blender_addon/startup/init.py +++ b/server_addon/blender/client/ayon_blender/blender_addon/startup/init.py @@ -1,5 +1,5 @@ from ayon_core.pipeline import install_host -from ayon_core.hosts.blender.api import BlenderHost +from ayon_blender.api import BlenderHost def register(): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py b/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py index 613574eee0..c51e58dbcb 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- """Converter for legacy Houdini products.""" from ayon_core.pipeline.create.creator_plugins import ProductConvertorPlugin -from ayon_core.hosts.blender.api.lib import imprint +from ayon_blender.api.lib import imprint class BlenderLegacyConvertor(ProductConvertorPlugin): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_action.py b/server_addon/blender/client/ayon_blender/plugins/create/create_action.py index 070b9843c3..90e351e877 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_action.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_action.py @@ -2,7 +2,7 @@ import bpy -from ayon_core.hosts.blender.api import lib, plugin +from ayon_blender.api import lib, plugin class CreateAction(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py b/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py index b806a5a7ca..89d836ec0d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py @@ -1,6 +1,6 @@ """Create an animation asset.""" -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateAnimation(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py b/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py index 51250bf18b..66ac812b6b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py @@ -2,7 +2,7 @@ import bpy -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateBlendScene(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py b/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py index cd82bec236..3780344abc 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py @@ -2,8 +2,8 @@ import bpy -from ayon_core.hosts.blender.api import plugin, lib -from ayon_core.hosts.blender.api.pipeline import AVALON_INSTANCES +from ayon_blender.api import plugin, lib +from ayon_blender.api.pipeline import AVALON_INSTANCES class CreateCamera(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py b/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py index 289c39fc38..c781b8a683 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py @@ -2,7 +2,7 @@ import bpy -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateLayout(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_model.py b/server_addon/blender/client/ayon_blender/plugins/create/create_model.py index 837ba47417..b55fd5e76b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_model.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_model.py @@ -2,7 +2,7 @@ import bpy -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateModel(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py b/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py index 0aa2d62c17..4aa088da5c 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py @@ -1,6 +1,6 @@ """Create a pointcache asset.""" -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreatePointcache(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_render.py b/server_addon/blender/client/ayon_blender/plugins/create/create_render.py index bf3d1e62b3..6b6ebbce0a 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_render.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_render.py @@ -2,9 +2,9 @@ import bpy from ayon_core.lib import version_up -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.render_lib import prepare_rendering -from ayon_core.hosts.blender.api.workio import save_file +from ayon_blender.api import plugin +from ayon_blender.api.render_lib import prepare_rendering +from ayon_blender.api.workio import save_file class CreateRenderlayer(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_review.py b/server_addon/blender/client/ayon_blender/plugins/create/create_review.py index b478ec59f4..d28ee596d3 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_review.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_review.py @@ -1,6 +1,6 @@ """Create review.""" -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateReview(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py b/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py index 10b6b20d36..36307c0a34 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py @@ -2,7 +2,7 @@ import bpy -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateRig(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py b/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py index 2c2d0c46c6..a893b6bdaa 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py @@ -1,6 +1,6 @@ """Create a USD Export.""" -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CreateUSD(plugin.BaseCreator): diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py b/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py index 296a03e317..ae4e7d033a 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py @@ -2,8 +2,8 @@ import bpy import ayon_api from ayon_core.pipeline import CreatedInstance, AutoCreator -from ayon_core.hosts.blender.api.plugin import BaseCreator -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api.plugin import BaseCreator +from ayon_blender.api.pipeline import ( AVALON_PROPERTY, AVALON_CONTAINERS ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py b/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py index d2e58c7752..e690980b6a 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py @@ -1,6 +1,6 @@ import bpy -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin def append_workfile(context, fname, do_import): diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_action.py b/server_addon/blender/client/ayon_blender/plugins/load/load_action.py index 8135df042a..2ea77785fb 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_action.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_action.py @@ -7,8 +7,8 @@ from typing import Dict, List, Optional import bpy from ayon_core.pipeline import get_representation_path -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import ( containerise_existing, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py b/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py index c9f3b33a6f..1367cab175 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py @@ -4,8 +4,8 @@ from typing import Dict, List, Optional import bpy -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import AVALON_PROPERTY +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import AVALON_PROPERTY class BlendAnimationLoader(plugin.AssetLoader): diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py b/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py index 3d2f412e2b..62f585363c 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py @@ -10,8 +10,8 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py index f9377d615c..026afe6244 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py @@ -9,9 +9,9 @@ from ayon_core.pipeline import ( registered_host ) from ayon_core.pipeline.create import CreateContext -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.lib import imprint -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin +from ayon_blender.api.lib import imprint +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py index f91d828d83..9e0de26a8b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py @@ -7,9 +7,9 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.lib import imprint -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin +from ayon_blender.api.lib import imprint +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py b/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py index 30c847f89d..570f5086f2 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py @@ -11,11 +11,11 @@ from ayon_core.pipeline import ( AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class CacheModelLoader(plugin.AssetLoader): diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py index a49bb40d9a..6df035994b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py @@ -10,8 +10,8 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api import plugin, lib -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin, lib +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py index a510d42850..a9a9fcbeb3 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py @@ -10,8 +10,8 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api import plugin, lib -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin, lib +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py index e323d49dea..9959a04ab5 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py @@ -10,8 +10,8 @@ from ayon_core.pipeline import ( get_representation_path, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api import plugin, lib -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin, lib +from ayon_blender.api.pipeline import ( AVALON_CONTAINERS, AVALON_PROPERTY, ) diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py b/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py index d20eaad9fc..93a8543f2e 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py @@ -15,12 +15,12 @@ from ayon_core.pipeline import ( loaders_from_representation, AVALON_CONTAINER_ID, ) -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api.pipeline import ( AVALON_INSTANCES, AVALON_CONTAINERS, AVALON_PROPERTY, ) -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class JsonLayoutLoader(plugin.AssetLoader): diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_look.py b/server_addon/blender/client/ayon_blender/plugins/load/load_look.py index 75401f94ec..01e90b317d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_look.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_look.py @@ -9,8 +9,8 @@ import json import bpy from ayon_core.pipeline import get_representation_path -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import ( +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import ( containerise_existing, AVALON_PROPERTY ) diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py index 7370f6cbe8..e22bfa8e61 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py @@ -1,5 +1,5 @@ import pyblish.api -from ayon_core.hosts.blender.api import workio +from ayon_blender.api import workio class CollectBlenderCurrentFile(pyblish.api.ContextPlugin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py index 314ffd368a..73ae1c941e 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py @@ -3,7 +3,7 @@ import bpy import pyblish.api from ayon_core.pipeline.publish import KnownPublishError -from ayon_core.hosts.blender.api.pipeline import AVALON_PROPERTY +from ayon_blender.api.pipeline import AVALON_PROPERTY class CollectBlenderInstanceData(pyblish.api.InstancePlugin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py index 1ad2de2b7d..917039b3f6 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py @@ -6,7 +6,7 @@ import re import bpy -from ayon_core.hosts.blender.api import colorspace +from ayon_blender.api import colorspace import pyblish.api diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py index 6590be515c..84327b9cf7 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py @@ -4,7 +4,7 @@ import bpy from ayon_core.lib import BoolDef from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class ExtractABC(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py index f33af13282..78555b99f8 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py @@ -3,7 +3,7 @@ import os import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class ExtractAnimationABC( diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py index c60c92dee1..ee02491f3f 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py @@ -3,7 +3,7 @@ import os import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class ExtractCameraABC(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py index bcaf9ebc44..acaeb0fae7 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py @@ -3,7 +3,7 @@ import os import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class ExtractCamera(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py index e6367dbc0d..fde4877014 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py @@ -3,7 +3,7 @@ import os import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin +from ayon_blender.api import plugin class ExtractFBX(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py index ae02909152..c825718b7c 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py @@ -6,8 +6,8 @@ import bpy_extras import bpy_extras.anim_utils from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import AVALON_PROPERTY +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import AVALON_PROPERTY def get_all_parents(obj): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py index 0679483dd5..9d1073691b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py @@ -8,8 +8,8 @@ import bpy_extras.anim_utils from ayon_api import get_representations from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin -from ayon_core.hosts.blender.api.pipeline import AVALON_PROPERTY +from ayon_blender.api import plugin +from ayon_blender.api.pipeline import AVALON_PROPERTY class ExtractLayout(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py index ce6f40f967..deb950acb7 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py @@ -7,8 +7,8 @@ import pyblish.api import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import capture -from ayon_core.hosts.blender.api.lib import maintained_time +from ayon_blender.api import capture +from ayon_blender.api.lib import maintained_time class ExtractPlayblast(publish.Extractor, publish.OptionalPyblishPluginMixin): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py index 4330c57d99..8c569de5fd 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py @@ -4,8 +4,8 @@ import json import pyblish.api from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import capture -from ayon_core.hosts.blender.api.lib import maintained_time +from ayon_blender.api import capture +from ayon_blender.api.lib import maintained_time import bpy diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py index 1d4fa3d7ac..3d62e4bb90 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py @@ -3,7 +3,7 @@ import os import bpy from ayon_core.pipeline import publish -from ayon_core.hosts.blender.api import plugin, lib +from ayon_blender.api import plugin, lib class ExtractUSD(publish.Extractor): diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py b/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py index b6e0ea3e19..4af5a726a5 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py @@ -1,6 +1,6 @@ import pyblish.api from ayon_core.pipeline.publish import OptionalPyblishPluginMixin -from ayon_core.hosts.blender.api.workio import save_file +from ayon_blender.api.workio import save_file class IncrementWorkfileVersion( diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py index cce95e9cf9..aafae315d0 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py @@ -4,7 +4,7 @@ import bpy import pyblish.api -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action from ayon_core.pipeline.publish import ( ValidateContentsOrder, PublishValidationError, @@ -25,7 +25,7 @@ class ValidateCameraZeroKeyframe(pyblish.api.InstancePlugin, hosts = ["blender"] families = ["camera"] label = "Zero Keyframe" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction] + actions = [ayon_blender.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance) -> List: diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py index a86e73ba81..099e909dc7 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py @@ -9,7 +9,7 @@ from ayon_core.pipeline.publish import ( PublishValidationError, OptionalPyblishPluginMixin ) -from ayon_core.hosts.blender.api.render_lib import prepare_rendering +from ayon_blender.api.render_lib import prepare_rendering class ValidateDeadlinePublish(pyblish.api.InstancePlugin, diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py index 9871dfeb4e..8f5f5aede8 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py @@ -9,7 +9,7 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin, PublishValidationError ) -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action class ValidateMeshHasUvs( @@ -22,7 +22,7 @@ class ValidateMeshHasUvs( hosts = ["blender"] families = ["model"] label = "Mesh Has UVs" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction] + actions = [ayon_blender.api.action.SelectInvalidAction] optional = True @staticmethod diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py index fb16bb7f8d..de81400bda 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py @@ -9,7 +9,7 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin, PublishValidationError ) -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action class ValidateMeshNoNegativeScale(pyblish.api.InstancePlugin, @@ -20,7 +20,7 @@ class ValidateMeshNoNegativeScale(pyblish.api.InstancePlugin, hosts = ["blender"] families = ["model"] label = "Mesh No Negative Scale" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction] + actions = [ayon_blender.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance) -> List: diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py index 752bc5fa58..fa2ff377da 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py @@ -11,7 +11,7 @@ from ayon_core.pipeline.publish import ( PublishValidationError, RepairAction ) -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action class ValidateModelMeshUvMap1( @@ -27,7 +27,7 @@ class ValidateModelMeshUvMap1( hosts = ["blender"] families = ["model"] label = "Mesh UVs named map1" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction, + actions = [ayon_blender.api.action.SelectInvalidAction, RepairAction] optional = True enabled = False diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py index 5620946f1e..14fdba2996 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py @@ -4,7 +4,7 @@ import bpy import pyblish.api -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, @@ -25,7 +25,7 @@ class ValidateNoColonsInName(pyblish.api.InstancePlugin, hosts = ["blender"] families = ["model", "rig"] label = "No Colons in names" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction] + actions = [ayon_blender.api.action.SelectInvalidAction] @staticmethod def get_invalid(instance) -> List: diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py index d215ffc1be..3832275560 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py @@ -7,7 +7,7 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin, PublishValidationError ) -import ayon_core.hosts.blender.api.action +import ayon_blender.api.action class ValidateObjectIsInObjectMode( @@ -20,7 +20,7 @@ class ValidateObjectIsInObjectMode( hosts = ["blender"] families = ["model", "rig", "layout"] label = "Validate Object Mode" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction] + actions = [ayon_blender.api.action.SelectInvalidAction] optional = False @staticmethod diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py index 465ec15d7b..21e3467ab1 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py @@ -6,8 +6,8 @@ import bpy import pyblish.api -from ayon_core.hosts.blender.api import plugin, lib -import ayon_core.hosts.blender.api.action +from ayon_blender.api import plugin, lib +import ayon_blender.api.action from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, @@ -24,7 +24,7 @@ class ValidateTransformZero(pyblish.api.InstancePlugin, hosts = ["blender"] families = ["model"] label = "Transform Zero" - actions = [ayon_core.hosts.blender.api.action.SelectInvalidAction, + actions = [ayon_blender.api.action.SelectInvalidAction, RepairAction] _identity = mathutils.Matrix() From 18667e202ecf9d547de8ff8bab85cead267f4b88 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:38:18 +0200 Subject: [PATCH 066/124] remove unused class 'Loader' --- server_addon/blender/client/ayon_blender/api/__init__.py | 2 -- server_addon/blender/client/ayon_blender/api/plugin.py | 6 ------ 2 files changed, 8 deletions(-) diff --git a/server_addon/blender/client/ayon_blender/api/__init__.py b/server_addon/blender/client/ayon_blender/api/__init__.py index ce2b444997..da2a6fbbbb 100644 --- a/server_addon/blender/client/ayon_blender/api/__init__.py +++ b/server_addon/blender/client/ayon_blender/api/__init__.py @@ -15,7 +15,6 @@ from .pipeline import ( from .plugin import ( Creator, - Loader, ) from .workio import ( @@ -51,7 +50,6 @@ __all__ = [ "BlenderHost", "Creator", - "Loader", # Workfiles API "open_file", diff --git a/server_addon/blender/client/ayon_blender/api/plugin.py b/server_addon/blender/client/ayon_blender/api/plugin.py index 2d82a6857f..31a78d6149 100644 --- a/server_addon/blender/client/ayon_blender/api/plugin.py +++ b/server_addon/blender/client/ayon_blender/api/plugin.py @@ -376,12 +376,6 @@ class BaseCreator(Creator): ] -class Loader(LoaderPlugin): - """Base class for Loader plug-ins.""" - - hosts = ["blender"] - - class AssetLoader(LoaderPlugin): """A basic AssetLoader for Blender From 0e67a3ed39167e0a8a0eadddd069225e494c5d1d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:52:37 +0200 Subject: [PATCH 067/124] added settings category --- .../blender/client/ayon_blender/api/plugin.py | 16 ++++++++++++++++ .../plugins/publish/collect_current_file.py | 4 ++-- .../plugins/publish/collect_instance.py | 3 ++- .../plugins/publish/collect_render.py | 6 +++--- .../plugins/publish/collect_review.py | 4 ++-- .../plugins/publish/collect_workfile.py | 5 +++-- .../ayon_blender/plugins/publish/extract_abc.py | 2 +- .../plugins/publish/extract_abc_animation.py | 4 ++-- .../plugins/publish/extract_blend.py | 5 ++++- .../plugins/publish/extract_blend_animation.py | 5 +++-- .../plugins/publish/extract_camera_abc.py | 4 +++- .../plugins/publish/extract_camera_fbx.py | 4 +++- .../ayon_blender/plugins/publish/extract_fbx.py | 4 +++- .../plugins/publish/extract_fbx_animation.py | 4 ++-- .../plugins/publish/extract_layout.py | 4 +++- .../plugins/publish/extract_playblast.py | 6 ++++-- .../plugins/publish/extract_thumbnail.py | 5 ++--- .../ayon_blender/plugins/publish/extract_usd.py | 6 +++--- .../publish/increment_workfile_version.py | 5 +++-- .../plugins/publish/integrate_animation.py | 5 +++-- .../publish/validate_camera_zero_keyframe.py | 9 +++++---- .../plugins/publish/validate_deadline_publish.py | 8 +++++--- .../plugins/publish/validate_file_saved.py | 7 +++++-- .../plugins/publish/validate_instance_empty.py | 3 ++- .../plugins/publish/validate_mesh_has_uv.py | 7 +++---- .../publish/validate_mesh_no_negative_scale.py | 9 +++++---- .../plugins/publish/validate_model_uv_map1.py | 5 +++-- .../publish/validate_no_colons_in_name.py | 9 +++++---- .../plugins/publish/validate_object_mode.py | 5 +++-- .../publish/validate_render_camera_is_set.py | 7 +++++-- .../plugins/publish/validate_transform_zero.py | 8 ++++---- 31 files changed, 112 insertions(+), 66 deletions(-) diff --git a/server_addon/blender/client/ayon_blender/api/plugin.py b/server_addon/blender/client/ayon_blender/api/plugin.py index 31a78d6149..f4266bc3a2 100644 --- a/server_addon/blender/client/ayon_blender/api/plugin.py +++ b/server_addon/blender/client/ayon_blender/api/plugin.py @@ -4,6 +4,7 @@ import itertools from pathlib import Path from typing import Dict, List, Optional +import pyblish.api import bpy from ayon_core.pipeline import ( @@ -13,6 +14,7 @@ from ayon_core.pipeline import ( AVALON_INSTANCE_ID, AYON_INSTANCE_ID, ) +from ayon_core.pipeline.publish import Extractor from ayon_core.lib import BoolDef from .pipeline import ( @@ -161,10 +163,23 @@ def deselect_all(): bpy.context.view_layer.objects.active = active +class BlenderInstancePlugin(pyblish.api.InstancePlugin): + settings_category = "blender" + + +class BlenderContextPlugin(pyblish.api.ContextPlugin): + settings_category = "blender" + + +class BlenderExtractor(Extractor): + settings_category = "blender" + + class BaseCreator(Creator): """Base class for Blender Creator plug-ins.""" defaults = ['Main'] + settings_category = "blender" create_as_asset_group = False @staticmethod @@ -386,6 +401,7 @@ class AssetLoader(LoaderPlugin): it's different for different types (e.g. model, rig, animation, etc.). """ + settings_category = "blender" @staticmethod def _get_instance_empty(instance_name: str, nodes: List) -> Optional[bpy.types.Object]: diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py index e22bfa8e61..6568372169 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_current_file.py @@ -1,8 +1,8 @@ import pyblish.api -from ayon_blender.api import workio +from ayon_blender.api import workio, plugin -class CollectBlenderCurrentFile(pyblish.api.ContextPlugin): +class CollectBlenderCurrentFile(plugin.BlenderContextPlugin): """Inject the current working file into context""" order = pyblish.api.CollectorOrder - 0.5 diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py index 73ae1c941e..7d6f841ba3 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_instance.py @@ -3,10 +3,11 @@ import bpy import pyblish.api from ayon_core.pipeline.publish import KnownPublishError +from ayon_blender.api import plugin from ayon_blender.api.pipeline import AVALON_PROPERTY -class CollectBlenderInstanceData(pyblish.api.InstancePlugin): +class CollectBlenderInstanceData(plugin.BlenderInstancePlugin): """Validator to verify that the instance is not empty""" order = pyblish.api.CollectorOrder diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py index 917039b3f6..ac5dc5bf6f 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_render.py @@ -5,12 +5,12 @@ import os import re import bpy - -from ayon_blender.api import colorspace import pyblish.api +from ayon_blender.api import colorspace, plugin -class CollectBlenderRender(pyblish.api.InstancePlugin): + +class CollectBlenderRender(plugin.BlenderInstancePlugin): """Gather all publishable render instances.""" order = pyblish.api.CollectorOrder + 0.01 diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py index 2c077398da..c013910b5a 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_review.py @@ -1,9 +1,9 @@ import bpy - import pyblish.api +from ayon_blender.api import plugin -class CollectReview(pyblish.api.InstancePlugin): +class CollectReview(plugin.BlenderInstancePlugin): """Collect Review data """ diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py b/server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py index 6561c89605..347a5caf01 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/collect_workfile.py @@ -1,9 +1,10 @@ from pathlib import Path -from pyblish.api import InstancePlugin, CollectorOrder +from pyblish.api import CollectorOrder +from ayon_blender.api import plugin -class CollectWorkfile(InstancePlugin): +class CollectWorkfile(plugin.BlenderInstancePlugin): """Inject workfile data into its instance.""" order = CollectorOrder diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py index 84327b9cf7..5da0258586 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc.py @@ -7,7 +7,7 @@ from ayon_core.pipeline import publish from ayon_blender.api import plugin -class ExtractABC(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractABC(plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin): """Extract as ABC.""" label = "Extract ABC" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py index 78555b99f8..503593c8d3 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_abc_animation.py @@ -7,8 +7,8 @@ from ayon_blender.api import plugin class ExtractAnimationABC( - publish.Extractor, - publish.OptionalPyblishPluginMixin, + plugin.BlenderExtractor, + publish.OptionalPyblishPluginMixin, ): """Extract as ABC.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py index 19fe9c6271..520bc274a1 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend.py @@ -3,9 +3,12 @@ import os import bpy from ayon_core.pipeline import publish +from ayon_blender.api import plugin -class ExtractBlend(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractBlend( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """Extract a blend file.""" label = "Extract Blend" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py index 315fbb19af..cca8ab2dd6 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_blend_animation.py @@ -3,11 +3,12 @@ import os import bpy from ayon_core.pipeline import publish +from ayon_blender.api import plugin class ExtractBlendAnimation( - publish.Extractor, - publish.OptionalPyblishPluginMixin, + plugin.BlenderExtractor, + publish.OptionalPyblishPluginMixin, ): """Extract a blend file.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py index ee02491f3f..278cd293c5 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_abc.py @@ -6,7 +6,9 @@ from ayon_core.pipeline import publish from ayon_blender.api import plugin -class ExtractCameraABC(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractCameraABC( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """Extract camera as ABC.""" label = "Extract Camera (ABC)" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py index acaeb0fae7..9094355a72 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_camera_fbx.py @@ -6,7 +6,9 @@ from ayon_core.pipeline import publish from ayon_blender.api import plugin -class ExtractCamera(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractCamera( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """Extract as the camera as FBX.""" label = "Extract Camera (FBX)" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py index fde4877014..085f7b18c3 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx.py @@ -6,7 +6,9 @@ from ayon_core.pipeline import publish from ayon_blender.api import plugin -class ExtractFBX(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractFBX( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """Extract as FBX.""" label = "Extract FBX" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py index c825718b7c..7f49e919db 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_fbx_animation.py @@ -42,8 +42,8 @@ def get_highest_root(objects): class ExtractAnimationFBX( - publish.Extractor, - publish.OptionalPyblishPluginMixin, + plugin.BlenderExtractor, + publish.OptionalPyblishPluginMixin, ): """Extract as animation.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py index 9d1073691b..0732d29c9d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_layout.py @@ -12,7 +12,9 @@ from ayon_blender.api import plugin from ayon_blender.api.pipeline import AVALON_PROPERTY -class ExtractLayout(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractLayout( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """Extract a layout.""" label = "Extract Layout (JSON)" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py index deb950acb7..0f769c296d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_playblast.py @@ -7,11 +7,13 @@ import pyblish.api import bpy from ayon_core.pipeline import publish -from ayon_blender.api import capture +from ayon_blender.api import capture, plugin from ayon_blender.api.lib import maintained_time -class ExtractPlayblast(publish.Extractor, publish.OptionalPyblishPluginMixin): +class ExtractPlayblast( + plugin.BlenderExtractor, publish.OptionalPyblishPluginMixin +): """ Extract viewport playblast. diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py index 8c569de5fd..40097aaa89 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_thumbnail.py @@ -3,14 +3,13 @@ import glob import json import pyblish.api -from ayon_core.pipeline import publish -from ayon_blender.api import capture +from ayon_blender.api import capture, plugin from ayon_blender.api.lib import maintained_time import bpy -class ExtractThumbnail(publish.Extractor): +class ExtractThumbnail(plugin.BlenderExtractor): """Extract viewport thumbnail. Takes review camera and creates a thumbnail based on viewport diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py b/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py index 3d62e4bb90..7ea89ae3dc 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/extract_usd.py @@ -2,11 +2,11 @@ import os import bpy -from ayon_core.pipeline import publish +from ayon_core.pipeline import KnownPublishError from ayon_blender.api import plugin, lib -class ExtractUSD(publish.Extractor): +class ExtractUSD(plugin.BlenderExtractor): """Extract as USD.""" label = "Extract USD" @@ -40,7 +40,7 @@ class ExtractUSD(publish.Extractor): root = lib.get_highest_root(objects=instance[:]) if not root: instance_node = instance.data["transientData"]["instance_node"] - raise publish.KnownPublishError( + raise KnownPublishError( f"No root object found in instance: {instance_node.name}" ) self.log.debug(f"Exporting using active root: {root.name}") diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py b/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py index 4af5a726a5..50d16ea54a 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/increment_workfile_version.py @@ -1,11 +1,12 @@ import pyblish.api from ayon_core.pipeline.publish import OptionalPyblishPluginMixin from ayon_blender.api.workio import save_file +from ayon_blender.api import plugin class IncrementWorkfileVersion( - pyblish.api.ContextPlugin, - OptionalPyblishPluginMixin + plugin.BlenderContextPlugin, + OptionalPyblishPluginMixin ): """Increment current workfile version.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py b/server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py index 5d3a1dac93..b95c280ab0 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/integrate_animation.py @@ -2,11 +2,12 @@ import json import pyblish.api from ayon_core.pipeline.publish import OptionalPyblishPluginMixin +from ayon_blender.api import plugin class IntegrateAnimation( - pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin, + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin, ): """Generate a JSON file for animation.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py index aafae315d0..df66f71dc5 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_camera_zero_keyframe.py @@ -2,9 +2,8 @@ from typing import List import bpy -import pyblish.api - import ayon_blender.api.action +from ayon_blender.api import plugin from ayon_core.pipeline.publish import ( ValidateContentsOrder, PublishValidationError, @@ -12,8 +11,10 @@ from ayon_core.pipeline.publish import ( ) -class ValidateCameraZeroKeyframe(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateCameraZeroKeyframe( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """Camera must have a keyframe at frame 0. Unreal shifts the first keyframe to frame 0. Forcing the camera to have diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py index 099e909dc7..fe544ee310 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_deadline_publish.py @@ -2,18 +2,20 @@ import os import bpy -import pyblish.api from ayon_core.pipeline.publish import ( RepairAction, ValidateContentsOrder, PublishValidationError, OptionalPyblishPluginMixin ) +from ayon_blender.api import plugin from ayon_blender.api.render_lib import prepare_rendering -class ValidateDeadlinePublish(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateDeadlinePublish( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """Validates Render File Directory is not the same in every submission """ diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py index aa73525555..e6b7b01c71 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_file_saved.py @@ -6,6 +6,7 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin, PublishValidationError ) +from ayon_blender.api import plugin class SaveWorkfileAction(pyblish.api.Action): @@ -18,8 +19,10 @@ class SaveWorkfileAction(pyblish.api.Action): bpy.ops.wm.avalon_workfiles() -class ValidateFileSaved(pyblish.api.ContextPlugin, - OptionalPyblishPluginMixin): +class ValidateFileSaved( + plugin.BlenderContextPlugin, + OptionalPyblishPluginMixin +): """Validate that the workfile has been saved.""" order = pyblish.api.ValidatorOrder - 0.01 diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py index f0f4106379..9561cc7020 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_instance_empty.py @@ -1,8 +1,9 @@ import pyblish.api from ayon_core.pipeline.publish import PublishValidationError +from ayon_blender.api import plugin -class ValidateInstanceEmpty(pyblish.api.InstancePlugin): +class ValidateInstanceEmpty(plugin.BlenderInstancePlugin): """Validator to verify that the instance is not empty""" order = pyblish.api.ValidatorOrder - 0.01 diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py index 8f5f5aede8..3dd49e0e45 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_has_uv.py @@ -2,19 +2,18 @@ from typing import List import bpy -import pyblish.api - from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, PublishValidationError ) import ayon_blender.api.action +from ayon_blender.api import plugin class ValidateMeshHasUvs( - pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin, + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin, ): """Validate that the current mesh has UV's.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py index de81400bda..91de310e46 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_mesh_no_negative_scale.py @@ -2,18 +2,19 @@ from typing import List import bpy -import pyblish.api - from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, PublishValidationError ) import ayon_blender.api.action +from ayon_blender.api import plugin -class ValidateMeshNoNegativeScale(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateMeshNoNegativeScale( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """Ensure that meshes don't have a negative scale.""" order = ValidateContentsOrder diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py index fa2ff377da..fff4abc98d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py @@ -12,11 +12,12 @@ from ayon_core.pipeline.publish import ( RepairAction ) import ayon_blender.api.action +from ayon_blender.api import plugin class ValidateModelMeshUvMap1( - pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin, + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin, ): """Validate model mesh uvs are named `map1`. diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py index 14fdba2996..dbafb53263 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_no_colons_in_name.py @@ -2,9 +2,8 @@ from typing import List import bpy -import pyblish.api - import ayon_blender.api.action +from ayon_blender.api import plugin from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, @@ -12,8 +11,10 @@ from ayon_core.pipeline.publish import ( ) -class ValidateNoColonsInName(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateNoColonsInName( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """There cannot be colons in names Object or bone names cannot include colons. Other software do not diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py index 3832275560..4dc2c39949 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_object_mode.py @@ -8,11 +8,12 @@ from ayon_core.pipeline.publish import ( PublishValidationError ) import ayon_blender.api.action +from ayon_blender.api import plugin class ValidateObjectIsInObjectMode( - pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin, + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin, ): """Validate that the objects in the instance are in Object Mode.""" diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py index 46bfe45739..15eb64d2ad 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_render_camera_is_set.py @@ -6,10 +6,13 @@ from ayon_core.pipeline.publish import ( OptionalPyblishPluginMixin, PublishValidationError ) +from ayon_blender.api import plugin -class ValidateRenderCameraIsSet(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateRenderCameraIsSet( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """Validate that there is a camera set as active for rendering.""" order = pyblish.api.ValidatorOrder diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py index 21e3467ab1..c7bfc6e8a6 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_transform_zero.py @@ -4,8 +4,6 @@ from typing import List import mathutils import bpy -import pyblish.api - from ayon_blender.api import plugin, lib import ayon_blender.api.action from ayon_core.pipeline.publish import ( @@ -16,8 +14,10 @@ from ayon_core.pipeline.publish import ( ) -class ValidateTransformZero(pyblish.api.InstancePlugin, - OptionalPyblishPluginMixin): +class ValidateTransformZero( + plugin.BlenderInstancePlugin, + OptionalPyblishPluginMixin +): """Transforms can't have any values""" order = ValidateContentsOrder From 9f8fbae1940b07601650f25010b4e2da2a590557 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:53:03 +0200 Subject: [PATCH 068/124] renamed base plugin class names --- server_addon/blender/client/ayon_blender/api/ops.py | 2 +- server_addon/blender/client/ayon_blender/api/plugin.py | 8 ++++---- .../client/ayon_blender/plugins/create/convert_legacy.py | 2 +- .../client/ayon_blender/plugins/create/create_action.py | 2 +- .../ayon_blender/plugins/create/create_animation.py | 2 +- .../ayon_blender/plugins/create/create_blendScene.py | 2 +- .../client/ayon_blender/plugins/create/create_camera.py | 2 +- .../client/ayon_blender/plugins/create/create_layout.py | 2 +- .../client/ayon_blender/plugins/create/create_model.py | 2 +- .../ayon_blender/plugins/create/create_pointcache.py | 2 +- .../client/ayon_blender/plugins/create/create_render.py | 2 +- .../client/ayon_blender/plugins/create/create_review.py | 2 +- .../client/ayon_blender/plugins/create/create_rig.py | 2 +- .../client/ayon_blender/plugins/create/create_usd.py | 2 +- .../client/ayon_blender/plugins/create/create_workfile.py | 4 ++-- .../client/ayon_blender/plugins/load/import_workfile.py | 4 ++-- .../client/ayon_blender/plugins/load/load_action.py | 2 +- .../client/ayon_blender/plugins/load/load_animation.py | 2 +- .../client/ayon_blender/plugins/load/load_audio.py | 2 +- .../client/ayon_blender/plugins/load/load_blend.py | 2 +- .../client/ayon_blender/plugins/load/load_blendscene.py | 2 +- .../client/ayon_blender/plugins/load/load_cache.py | 2 +- .../client/ayon_blender/plugins/load/load_camera_abc.py | 2 +- .../client/ayon_blender/plugins/load/load_camera_fbx.py | 2 +- .../blender/client/ayon_blender/plugins/load/load_fbx.py | 2 +- .../client/ayon_blender/plugins/load/load_layout_json.py | 2 +- .../blender/client/ayon_blender/plugins/load/load_look.py | 2 +- 27 files changed, 32 insertions(+), 32 deletions(-) diff --git a/server_addon/blender/client/ayon_blender/api/ops.py b/server_addon/blender/client/ayon_blender/api/ops.py index c03ec98d0c..7cf9600067 100644 --- a/server_addon/blender/client/ayon_blender/api/ops.py +++ b/server_addon/blender/client/ayon_blender/api/ops.py @@ -305,7 +305,7 @@ class LaunchCreator(LaunchQtApp): class LaunchLoader(LaunchQtApp): - """Launch Avalon Loader.""" + """Launch AYON Loader.""" bl_idname = "wm.avalon_loader" bl_label = "Load..." diff --git a/server_addon/blender/client/ayon_blender/api/plugin.py b/server_addon/blender/client/ayon_blender/api/plugin.py index f4266bc3a2..e72bf20287 100644 --- a/server_addon/blender/client/ayon_blender/api/plugin.py +++ b/server_addon/blender/client/ayon_blender/api/plugin.py @@ -175,7 +175,7 @@ class BlenderExtractor(Extractor): settings_category = "blender" -class BaseCreator(Creator): +class BlenderCreator(Creator): """Base class for Blender Creator plug-ins.""" defaults = ['Main'] @@ -280,7 +280,7 @@ class BaseCreator(Creator): return instance_node def collect_instances(self): - """Override abstract method from BaseCreator. + """Override abstract method from BlenderCreator. Collect existing instances related to this creator plugin.""" # Cache instances in shared data @@ -307,7 +307,7 @@ class BaseCreator(Creator): self._add_instance_to_context(instance) def update_instances(self, update_list): - """Override abstract method from BaseCreator. + """Override abstract method from BlenderCreator. Store changes of existing instances so they can be recollected. Args: @@ -391,7 +391,7 @@ class BaseCreator(Creator): ] -class AssetLoader(LoaderPlugin): +class BlenderLoader(LoaderPlugin): """A basic AssetLoader for Blender This will implement the basic logic for linking/appending assets diff --git a/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py b/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py index c51e58dbcb..095f3ab919 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/convert_legacy.py @@ -42,7 +42,7 @@ class BlenderLegacyConvertor(ProductConvertorPlugin): parameter on them. This is using cached entries done in - :py:meth:`~BaseCreator.cache_instance_data()` + :py:meth:`~BlenderCreator.cache_instance_data()` """ self.legacy_instances = self.collection_shared_data.get( diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_action.py b/server_addon/blender/client/ayon_blender/plugins/create/create_action.py index 90e351e877..123a2e0df1 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_action.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_action.py @@ -5,7 +5,7 @@ import bpy from ayon_blender.api import lib, plugin -class CreateAction(plugin.BaseCreator): +class CreateAction(plugin.BlenderCreator): """Action output for character rigs.""" identifier = "io.openpype.creators.blender.action" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py b/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py index 89d836ec0d..cfb2c254ef 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_animation.py @@ -3,7 +3,7 @@ from ayon_blender.api import plugin, lib -class CreateAnimation(plugin.BaseCreator): +class CreateAnimation(plugin.BlenderCreator): """Animation output for character rigs.""" identifier = "io.openpype.creators.blender.animation" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py b/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py index 66ac812b6b..363a35883b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_blendScene.py @@ -5,7 +5,7 @@ import bpy from ayon_blender.api import plugin, lib -class CreateBlendScene(plugin.BaseCreator): +class CreateBlendScene(plugin.BlenderCreator): """Generic group of assets.""" identifier = "io.openpype.creators.blender.blendscene" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py b/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py index 3780344abc..8cfe8f989b 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_camera.py @@ -6,7 +6,7 @@ from ayon_blender.api import plugin, lib from ayon_blender.api.pipeline import AVALON_INSTANCES -class CreateCamera(plugin.BaseCreator): +class CreateCamera(plugin.BlenderCreator): """Polygonal static geometry.""" identifier = "io.openpype.creators.blender.camera" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py b/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py index c781b8a683..1e0f8effdd 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_layout.py @@ -5,7 +5,7 @@ import bpy from ayon_blender.api import plugin, lib -class CreateLayout(plugin.BaseCreator): +class CreateLayout(plugin.BlenderCreator): """Layout output for character rigs.""" identifier = "io.openpype.creators.blender.layout" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_model.py b/server_addon/blender/client/ayon_blender/plugins/create/create_model.py index b55fd5e76b..7e8bf566ea 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_model.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_model.py @@ -5,7 +5,7 @@ import bpy from ayon_blender.api import plugin, lib -class CreateModel(plugin.BaseCreator): +class CreateModel(plugin.BlenderCreator): """Polygonal static geometry.""" identifier = "io.openpype.creators.blender.model" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py b/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py index 4aa088da5c..9730ddb89d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_pointcache.py @@ -3,7 +3,7 @@ from ayon_blender.api import plugin, lib -class CreatePointcache(plugin.BaseCreator): +class CreatePointcache(plugin.BlenderCreator): """Polygonal static geometry.""" identifier = "io.openpype.creators.blender.pointcache" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_render.py b/server_addon/blender/client/ayon_blender/plugins/create/create_render.py index 6b6ebbce0a..6bbedb957f 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_render.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_render.py @@ -7,7 +7,7 @@ from ayon_blender.api.render_lib import prepare_rendering from ayon_blender.api.workio import save_file -class CreateRenderlayer(plugin.BaseCreator): +class CreateRenderlayer(plugin.BlenderCreator): """Single baked camera.""" identifier = "io.openpype.creators.blender.render" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_review.py b/server_addon/blender/client/ayon_blender/plugins/create/create_review.py index d28ee596d3..dbef9e371f 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_review.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_review.py @@ -3,7 +3,7 @@ from ayon_blender.api import plugin, lib -class CreateReview(plugin.BaseCreator): +class CreateReview(plugin.BlenderCreator): """Single baked camera.""" identifier = "io.openpype.creators.blender.review" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py b/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py index 36307c0a34..aad24bda69 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_rig.py @@ -5,7 +5,7 @@ import bpy from ayon_blender.api import plugin, lib -class CreateRig(plugin.BaseCreator): +class CreateRig(plugin.BlenderCreator): """Artist-friendly rig with controls to direct motion.""" identifier = "io.openpype.creators.blender.rig" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py b/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py index a893b6bdaa..d7770b15f7 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_usd.py @@ -3,7 +3,7 @@ from ayon_blender.api import plugin, lib -class CreateUSD(plugin.BaseCreator): +class CreateUSD(plugin.BlenderCreator): """Create USD Export""" identifier = "io.openpype.creators.blender.usd" diff --git a/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py b/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py index ae4e7d033a..03cfc322a9 100644 --- a/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py +++ b/server_addon/blender/client/ayon_blender/plugins/create/create_workfile.py @@ -2,14 +2,14 @@ import bpy import ayon_api from ayon_core.pipeline import CreatedInstance, AutoCreator -from ayon_blender.api.plugin import BaseCreator +from ayon_blender.api.plugin import BlenderCreator from ayon_blender.api.pipeline import ( AVALON_PROPERTY, AVALON_CONTAINERS ) -class CreateWorkfile(BaseCreator, AutoCreator): +class CreateWorkfile(BlenderCreator, AutoCreator): """Workfile auto-creator. The workfile instance stores its data on the `AVALON_CONTAINERS` collection diff --git a/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py b/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py index e690980b6a..16cba6913d 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/import_workfile.py @@ -34,7 +34,7 @@ def append_workfile(context, fname, do_import): collection.children.link(coll) -class AppendBlendLoader(plugin.AssetLoader): +class AppendBlendLoader(plugin.BlenderLoader): """Append workfile in Blender (unmanaged) Warning: @@ -59,7 +59,7 @@ class AppendBlendLoader(plugin.AssetLoader): return -class ImportBlendLoader(plugin.AssetLoader): +class ImportBlendLoader(plugin.BlenderLoader): """Import workfile in the current Blender scene (unmanaged) Warning: diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_action.py b/server_addon/blender/client/ayon_blender/plugins/load/load_action.py index 2ea77785fb..ddfaa94044 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_action.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_action.py @@ -16,7 +16,7 @@ from ayon_blender.api.pipeline import ( logger = logging.getLogger("ayon").getChild("blender").getChild("load_action") -class BlendActionLoader(plugin.AssetLoader): +class BlendActionLoader(plugin.BlenderLoader): """Load action from a .blend file. Warning: diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py b/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py index 1367cab175..241b76b600 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_animation.py @@ -8,7 +8,7 @@ from ayon_blender.api import plugin from ayon_blender.api.pipeline import AVALON_PROPERTY -class BlendAnimationLoader(plugin.AssetLoader): +class BlendAnimationLoader(plugin.BlenderLoader): """Load animations from a .blend file. Warning: diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py b/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py index 62f585363c..b8682e7c13 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_audio.py @@ -17,7 +17,7 @@ from ayon_blender.api.pipeline import ( ) -class AudioLoader(plugin.AssetLoader): +class AudioLoader(plugin.BlenderLoader): """Load audio in Blender.""" product_types = {"audio"} diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py index 026afe6244..c9f3ec0c71 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_blend.py @@ -17,7 +17,7 @@ from ayon_blender.api.pipeline import ( ) -class BlendLoader(plugin.AssetLoader): +class BlendLoader(plugin.BlenderLoader): """Load assets from a .blend file.""" product_types = {"model", "rig", "layout", "camera"} diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py b/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py index 9e0de26a8b..590ab0079e 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_blendscene.py @@ -15,7 +15,7 @@ from ayon_blender.api.pipeline import ( ) -class BlendSceneLoader(plugin.AssetLoader): +class BlendSceneLoader(plugin.BlenderLoader): """Load assets from a .blend file.""" product_types = {"blendScene"} diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py b/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py index 570f5086f2..599610ff39 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_cache.py @@ -18,7 +18,7 @@ from ayon_blender.api.pipeline import ( from ayon_blender.api import plugin, lib -class CacheModelLoader(plugin.AssetLoader): +class CacheModelLoader(plugin.BlenderLoader): """Load cache models. Stores the imported asset in a collection named after the asset. diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py index 6df035994b..7305afd423 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_abc.py @@ -17,7 +17,7 @@ from ayon_blender.api.pipeline import ( ) -class AbcCameraLoader(plugin.AssetLoader): +class AbcCameraLoader(plugin.BlenderLoader): """Load a camera from Alembic file. Stores the imported asset in an empty named after the asset. diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py index a9a9fcbeb3..d2900c6c3f 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_camera_fbx.py @@ -17,7 +17,7 @@ from ayon_blender.api.pipeline import ( ) -class FbxCameraLoader(plugin.AssetLoader): +class FbxCameraLoader(plugin.BlenderLoader): """Load a camera from FBX. Stores the imported asset in an empty named after the asset. diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py b/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py index 9959a04ab5..fe3d747dab 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_fbx.py @@ -17,7 +17,7 @@ from ayon_blender.api.pipeline import ( ) -class FbxModelLoader(plugin.AssetLoader): +class FbxModelLoader(plugin.BlenderLoader): """Load FBX models. Stores the imported asset in an empty named after the asset. diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py b/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py index 93a8543f2e..9a2d17b4fc 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_layout_json.py @@ -23,7 +23,7 @@ from ayon_blender.api.pipeline import ( from ayon_blender.api import plugin -class JsonLayoutLoader(plugin.AssetLoader): +class JsonLayoutLoader(plugin.BlenderLoader): """Load layout published from Unreal.""" product_types = {"layout"} diff --git a/server_addon/blender/client/ayon_blender/plugins/load/load_look.py b/server_addon/blender/client/ayon_blender/plugins/load/load_look.py index 01e90b317d..d214917d3e 100644 --- a/server_addon/blender/client/ayon_blender/plugins/load/load_look.py +++ b/server_addon/blender/client/ayon_blender/plugins/load/load_look.py @@ -16,7 +16,7 @@ from ayon_blender.api.pipeline import ( ) -class BlendLookLoader(plugin.AssetLoader): +class BlendLookLoader(plugin.BlenderLoader): """Load models from a .blend file. Because they come from a .blend file we can simply link the collection that From d6eb124e90aad155fb7088602f1c8ff89aa180da Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:54:50 +0200 Subject: [PATCH 069/124] fix import --- server_addon/blender/client/ayon_blender/__init__.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/server_addon/blender/client/ayon_blender/__init__.py b/server_addon/blender/client/ayon_blender/__init__.py index 2a6603606a..d67afbde0b 100644 --- a/server_addon/blender/client/ayon_blender/__init__.py +++ b/server_addon/blender/client/ayon_blender/__init__.py @@ -1,6 +1,10 @@ -from .addon import BlenderAddon +from .addon import ( + BlenderAddon, + BLENDER_ADDON_ROOT, +) __all__ = ( "BlenderAddon", + "BLENDER_ADDON_ROOT", ) From bf67d300fdc6196ca769c66709f772c9ba7d3f07 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Fri, 31 May 2024 17:55:15 +0200 Subject: [PATCH 070/124] bump version and add more information to package.py --- client/ayon_core/addon/base.py | 1 + server_addon/blender/client/ayon_blender/__init__.py | 3 +++ server_addon/blender/client/ayon_blender/addon.py | 3 +++ server_addon/blender/client/ayon_blender/version.py | 3 +++ server_addon/blender/package.py | 10 +++++++++- 5 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 server_addon/blender/client/ayon_blender/version.py diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 56d5c46858..afe102f51a 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -51,6 +51,7 @@ IGNORED_MODULES_IN_AYON = set() # - this is used to log the missing addon MOVED_ADDON_MILESTONE_VERSIONS = { "applications": VersionInfo(0, 2, 0), + "blender": VersionInfo(0, 2, 0), "celaction": VersionInfo(0, 2, 0), "clockify": VersionInfo(0, 2, 0), "flame": VersionInfo(0, 2, 0), diff --git a/server_addon/blender/client/ayon_blender/__init__.py b/server_addon/blender/client/ayon_blender/__init__.py index d67afbde0b..221dcd4138 100644 --- a/server_addon/blender/client/ayon_blender/__init__.py +++ b/server_addon/blender/client/ayon_blender/__init__.py @@ -1,3 +1,4 @@ +from .version import __version__ from .addon import ( BlenderAddon, BLENDER_ADDON_ROOT, @@ -5,6 +6,8 @@ from .addon import ( __all__ = ( + "__version__", + "BlenderAddon", "BLENDER_ADDON_ROOT", ) diff --git a/server_addon/blender/client/ayon_blender/addon.py b/server_addon/blender/client/ayon_blender/addon.py index d9a20e8dab..9711580369 100644 --- a/server_addon/blender/client/ayon_blender/addon.py +++ b/server_addon/blender/client/ayon_blender/addon.py @@ -1,11 +1,14 @@ import os from ayon_core.addon import AYONAddon, IHostAddon +from .version import __version__ + BLENDER_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) class BlenderAddon(AYONAddon, IHostAddon): name = "blender" + version = __version__ host_name = "blender" def add_implementation_envs(self, env, _app): diff --git a/server_addon/blender/client/ayon_blender/version.py b/server_addon/blender/client/ayon_blender/version.py new file mode 100644 index 0000000000..365c44e71b --- /dev/null +++ b/server_addon/blender/client/ayon_blender/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'blender' version.""" +__version__ = "0.2.0" diff --git a/server_addon/blender/package.py b/server_addon/blender/package.py index d2c02a4909..4e0ac112e1 100644 --- a/server_addon/blender/package.py +++ b/server_addon/blender/package.py @@ -1,3 +1,11 @@ name = "blender" title = "Blender" -version = "0.1.9" +version = "0.2.0" + +client_dir = "ayon_blender" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} + From fb30e3d8b6f883f786f313e0ec9202887beb18af Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 11:25:13 +0200 Subject: [PATCH 071/124] removed unused import --- .../ayon_blender/plugins/publish/validate_model_uv_map1.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py index fff4abc98d..74f550b6db 100644 --- a/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py +++ b/server_addon/blender/client/ayon_blender/plugins/publish/validate_model_uv_map1.py @@ -3,8 +3,6 @@ from typing import List import bpy -import pyblish.api - from ayon_core.pipeline.publish import ( ValidateContentsOrder, OptionalPyblishPluginMixin, From 5e8aca34204e3c065217e314880ea89b2d2373af Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:36:26 +0200 Subject: [PATCH 072/124] added version property to addon class --- client/ayon_core/addon/base.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index d2c072c50c..9eb5773927 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -8,7 +8,7 @@ import inspect import logging import threading import collections - +import warnings from uuid import uuid4 from abc import ABCMeta, abstractmethod @@ -551,6 +551,9 @@ class AYONAddon(object): enabled = True _id = None + # Temporary variable for 'version' property + _missing_version_warned = False + def __init__(self, manager, settings): self.manager = manager @@ -581,6 +584,25 @@ class AYONAddon(object): pass + @property + def version(self): + """Addon version. + + Todo: + Should be abstract property (required). Introduced in + ayon-core 0.3.3 . + + Returns: + str: Addon version as semver compatible string. + + """ + if not self.__class__._missing_version_warned: + self.__class__._missing_version_warned = True + warnings.warn( + f"Addon '{self.name}' does not have defined version." + ) + return "0.0.0" + def initialize(self, settings): """Initialization of addon attributes. From 8f0522ac3e846cb62fb29cf6fb0059274cc60231 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:36:40 +0200 Subject: [PATCH 073/124] log addon version and show it in report --- client/ayon_core/addon/base.py | 98 ++++++++++++++++++++++++---------- 1 file changed, 69 insertions(+), 29 deletions(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 9eb5773927..a70c1b7961 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -718,6 +718,30 @@ class OpenPypeAddOn(OpenPypeModule): enabled = True +class _AddonReportInfo: + def __init__( + self, class_name, name, version, report_value_by_label + ): + self.class_name = class_name + self.name = name + self.version = version + self.report_value_by_label = report_value_by_label + + @classmethod + def from_addon(cls, addon, report): + class_name = addon.__class__.__name__ + report_value_by_label = { + label: reported.get(class_name) + for label, reported in report.items() + } + return cls( + addon.__class__.__name__, + addon.name, + addon.version, + report_value_by_label + ) + + class AddonsManager: """Manager of addons that helps to load and prepare them to work. @@ -894,10 +918,10 @@ class AddonsManager: name_alias = getattr(addon, "openpype_alias", None) if name_alias: aliased_names.append((name_alias, addon)) - enabled_str = "X" - if not addon.enabled: - enabled_str = " " - self.log.debug("[{}] {}".format(enabled_str, name)) + enabled_str = "X" if addon.enabled else " " + self.log.debug( + f"[{enabled_str}] {addon.name} ({addon.version})" + ) now = time.time() report[addon.__class__.__name__] = now - prev_start_time @@ -1197,39 +1221,55 @@ class AddonsManager: available_col_names |= set(addon_names.keys()) # Prepare ordered dictionary for columns - cols = collections.OrderedDict() - # Add addon names to first columnt - cols["Addon name"] = list(sorted( - addon.__class__.__name__ + addons_info = [ + _AddonReportInfo.from_addon(addon, self._report) for addon in self.addons if addon.__class__.__name__ in available_col_names - )) + ] + addons_info.sort(key=lambda x: x.name) + + addon_name_rows = [ + addon_info.name + for addon_info in addons_info + ] + addon_version_rows = [ + addon_info.version + for addon_info in addons_info + ] + # Add total key (as last addon) - cols["Addon name"].append(self._report_total_key) + addon_name_rows.append(self._report_total_key) + addon_version_rows.append(f"({len(addons_info)})") + + cols = collections.OrderedDict() + # Add addon names to first columnt + cols["Addon name"] = addon_name_rows + cols["Version"] = addon_version_rows # Add columns from report + total_by_addon = { + row: 0 + for row in addon_name_rows + } for label in self._report.keys(): - cols[label] = [] - - total_addon_times = {} - for addon_name in cols["Addon name"]: - total_addon_times[addon_name] = 0 - - for label, reported in self._report.items(): - for addon_name in cols["Addon name"]: - col_time = reported.get(addon_name) - if col_time is None: - cols[label].append("N/A") + rows = [] + col_total = 0 + for addon_info in addons_info: + value = addon_info.report_value_by_label.get(label) + if value is None: + rows.append("N/A") continue - cols[label].append("{:.3f}".format(col_time)) - total_addon_times[addon_name] += col_time - + rows.append("{:.3f}".format(value)) + total_by_addon[addon_info.name] += value + col_total += value + total_by_addon[self._report_total_key] += col_total + rows.append("{:.3f}".format(col_total)) + cols[label] = rows # Add to also total column that should sum the row - cols[self._report_total_key] = [] - for addon_name in cols["Addon name"]: - cols[self._report_total_key].append( - "{:.3f}".format(total_addon_times[addon_name]) - ) + cols[self._report_total_key] = [ + "{:.3f}".format(total_by_addon[addon_name]) + for addon_name in cols["Addon name"] + ] # Prepare column widths and total row count # - column width is by From 3e9c08205ee83d1b4006c9f25d3f3bd50c62d03a Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:40:18 +0200 Subject: [PATCH 074/124] added version to job queue --- client/ayon_core/modules/job_queue/__init__.py | 3 +++ client/ayon_core/modules/job_queue/addon.py | 3 +++ client/ayon_core/modules/job_queue/version.py | 1 + 3 files changed, 7 insertions(+) create mode 100644 client/ayon_core/modules/job_queue/version.py diff --git a/client/ayon_core/modules/job_queue/__init__.py b/client/ayon_core/modules/job_queue/__init__.py index 0a4c62abfb..041782dd29 100644 --- a/client/ayon_core/modules/job_queue/__init__.py +++ b/client/ayon_core/modules/job_queue/__init__.py @@ -1,6 +1,9 @@ +from .version import __version__ from .addon import JobQueueAddon __all__ = ( + "__version__", + "JobQueueAddon", ) diff --git a/client/ayon_core/modules/job_queue/addon.py b/client/ayon_core/modules/job_queue/addon.py index 0fa54eb2f0..96f6ff0d4d 100644 --- a/client/ayon_core/modules/job_queue/addon.py +++ b/client/ayon_core/modules/job_queue/addon.py @@ -44,9 +44,12 @@ import platform from ayon_core.addon import AYONAddon, click_wrap from ayon_core.settings import get_studio_settings +from .version import __version__ + class JobQueueAddon(AYONAddon): name = "job_queue" + version = __version__ def initialize(self, studio_settings): addon_settings = studio_settings.get(self.name) or {} diff --git a/client/ayon_core/modules/job_queue/version.py b/client/ayon_core/modules/job_queue/version.py new file mode 100644 index 0000000000..5becc17c04 --- /dev/null +++ b/client/ayon_core/modules/job_queue/version.py @@ -0,0 +1 @@ +__version__ = "1.0.0" From b7e2b83efce5ee9f5d2c22a03f4fe3562f230acd Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:40:29 +0200 Subject: [PATCH 075/124] added version to timers manager --- client/ayon_core/modules/timers_manager/__init__.py | 3 +++ client/ayon_core/modules/timers_manager/timers_manager.py | 2 ++ client/ayon_core/modules/timers_manager/version.py | 1 + 3 files changed, 6 insertions(+) create mode 100644 client/ayon_core/modules/timers_manager/version.py diff --git a/client/ayon_core/modules/timers_manager/__init__.py b/client/ayon_core/modules/timers_manager/__init__.py index 5d7a4166d3..1ec0d9b74b 100644 --- a/client/ayon_core/modules/timers_manager/__init__.py +++ b/client/ayon_core/modules/timers_manager/__init__.py @@ -1,7 +1,10 @@ +from .version import __version__ from .timers_manager import ( TimersManager ) __all__ = ( + "__version__", + "TimersManager", ) diff --git a/client/ayon_core/modules/timers_manager/timers_manager.py b/client/ayon_core/modules/timers_manager/timers_manager.py index 4212ff6b25..2aac7b2a49 100644 --- a/client/ayon_core/modules/timers_manager/timers_manager.py +++ b/client/ayon_core/modules/timers_manager/timers_manager.py @@ -10,6 +10,7 @@ from ayon_core.addon import ( ) from ayon_core.lib.events import register_event_callback +from .version import __version__ from .exceptions import InvalidContextError TIMER_MODULE_DIR = os.path.dirname(os.path.abspath(__file__)) @@ -96,6 +97,7 @@ class TimersManager( See `ExampleTimersManagerConnector`. """ name = "timers_manager" + version = __version__ label = "Timers Service" _required_methods = ( diff --git a/client/ayon_core/modules/timers_manager/version.py b/client/ayon_core/modules/timers_manager/version.py new file mode 100644 index 0000000000..5becc17c04 --- /dev/null +++ b/client/ayon_core/modules/timers_manager/version.py @@ -0,0 +1 @@ +__version__ = "1.0.0" From 090208d8bc1cd2653487babb9d0af19820fd1362 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:43:05 +0200 Subject: [PATCH 076/124] fix timers manager version --- client/ayon_core/modules/timers_manager/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/modules/timers_manager/version.py b/client/ayon_core/modules/timers_manager/version.py index 5becc17c04..485f44ac21 100644 --- a/client/ayon_core/modules/timers_manager/version.py +++ b/client/ayon_core/modules/timers_manager/version.py @@ -1 +1 @@ -__version__ = "1.0.0" +__version__ = "0.1.1" From 75f55101f8a70bc09106813ab8a1054fc2ab2cbb Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:43:24 +0200 Subject: [PATCH 077/124] added version to webserver --- client/ayon_core/modules/webserver/__init__.py | 3 +++ client/ayon_core/modules/webserver/version.py | 1 + client/ayon_core/modules/webserver/webserver_module.py | 3 +++ 3 files changed, 7 insertions(+) create mode 100644 client/ayon_core/modules/webserver/version.py diff --git a/client/ayon_core/modules/webserver/__init__.py b/client/ayon_core/modules/webserver/__init__.py index 0d3f767638..a978b94bc4 100644 --- a/client/ayon_core/modules/webserver/__init__.py +++ b/client/ayon_core/modules/webserver/__init__.py @@ -1,8 +1,11 @@ +from .version import __version__ from .webserver_module import ( WebServerAddon ) __all__ = ( + "__version__", + "WebServerAddon", ) diff --git a/client/ayon_core/modules/webserver/version.py b/client/ayon_core/modules/webserver/version.py new file mode 100644 index 0000000000..5becc17c04 --- /dev/null +++ b/client/ayon_core/modules/webserver/version.py @@ -0,0 +1 @@ +__version__ = "1.0.0" diff --git a/client/ayon_core/modules/webserver/webserver_module.py b/client/ayon_core/modules/webserver/webserver_module.py index c324e0dd18..997b6f754c 100644 --- a/client/ayon_core/modules/webserver/webserver_module.py +++ b/client/ayon_core/modules/webserver/webserver_module.py @@ -26,9 +26,12 @@ import socket from ayon_core import resources from ayon_core.addon import AYONAddon, ITrayService +from .version import __version__ + class WebServerAddon(AYONAddon, ITrayService): name = "webserver" + version = __version__ label = "WebServer" webserver_url_env = "AYON_WEBSERVER_URL" From c687ec7430497ab7fd306cf03830d1784e5bebff Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:43:59 +0200 Subject: [PATCH 078/124] use version in deadline addon --- client/ayon_core/modules/deadline/deadline_module.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/client/ayon_core/modules/deadline/deadline_module.py b/client/ayon_core/modules/deadline/deadline_module.py index b1089bbfe2..ea0350d2d9 100644 --- a/client/ayon_core/modules/deadline/deadline_module.py +++ b/client/ayon_core/modules/deadline/deadline_module.py @@ -7,6 +7,8 @@ import six from ayon_core.lib import Logger from ayon_core.modules import AYONAddon, IPluginPaths +from .version import __version__ + class DeadlineWebserviceError(Exception): """ @@ -16,6 +18,7 @@ class DeadlineWebserviceError(Exception): class DeadlineModule(AYONAddon, IPluginPaths): name = "deadline" + version = __version__ def initialize(self, studio_settings): # This module is always enabled From 1bf0421e7af8104c89ffe21c3cdd99e1d708c2bd Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:44:09 +0200 Subject: [PATCH 079/124] define version if actions --- client/ayon_core/modules/launcher_action.py | 1 + client/ayon_core/modules/loader_action.py | 1 + 2 files changed, 2 insertions(+) diff --git a/client/ayon_core/modules/launcher_action.py b/client/ayon_core/modules/launcher_action.py index 38e88d36ca..344b0bc389 100644 --- a/client/ayon_core/modules/launcher_action.py +++ b/client/ayon_core/modules/launcher_action.py @@ -7,6 +7,7 @@ from ayon_core.addon import AYONAddon, ITrayAction class LauncherAction(AYONAddon, ITrayAction): label = "Launcher" name = "launcher_tool" + version = "1.0.0" def initialize(self, settings): diff --git a/client/ayon_core/modules/loader_action.py b/client/ayon_core/modules/loader_action.py index 1e45db05dc..a58d7fd456 100644 --- a/client/ayon_core/modules/loader_action.py +++ b/client/ayon_core/modules/loader_action.py @@ -3,6 +3,7 @@ from ayon_core.addon import AYONAddon, ITrayAddon class LoaderAddon(AYONAddon, ITrayAddon): name = "loader_tool" + version = "1.0.0" def initialize(self, settings): # Tray attributes From 8e27a2238d3474c3f394422328206425e85e4454 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:45:50 +0200 Subject: [PATCH 080/124] added version to royal render --- client/ayon_core/modules/royalrender/__init__.py | 3 +++ client/ayon_core/modules/royalrender/addon.py | 3 +++ client/ayon_core/modules/royalrender/version.py | 1 + 3 files changed, 7 insertions(+) create mode 100644 client/ayon_core/modules/royalrender/version.py diff --git a/client/ayon_core/modules/royalrender/__init__.py b/client/ayon_core/modules/royalrender/__init__.py index 121530beda..8bf207e7db 100644 --- a/client/ayon_core/modules/royalrender/__init__.py +++ b/client/ayon_core/modules/royalrender/__init__.py @@ -1,6 +1,9 @@ +from .version import __version__ from .addon import RoyalRenderAddon __all__ = ( + "__version__", + "RoyalRenderAddon", ) diff --git a/client/ayon_core/modules/royalrender/addon.py b/client/ayon_core/modules/royalrender/addon.py index e69cf9feec..264d3516c1 100644 --- a/client/ayon_core/modules/royalrender/addon.py +++ b/client/ayon_core/modules/royalrender/addon.py @@ -4,10 +4,13 @@ import os from ayon_core.addon import AYONAddon, IPluginPaths +from .version import __version__ + class RoyalRenderAddon(AYONAddon, IPluginPaths): """Class providing basic Royal Render implementation logic.""" name = "royalrender" + version = __version__ # _rr_api = None # @property diff --git a/client/ayon_core/modules/royalrender/version.py b/client/ayon_core/modules/royalrender/version.py new file mode 100644 index 0000000000..485f44ac21 --- /dev/null +++ b/client/ayon_core/modules/royalrender/version.py @@ -0,0 +1 @@ +__version__ = "0.1.1" From 807e931d0a9513ed79c4bf970332ecd5468c1241 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:46:04 +0200 Subject: [PATCH 081/124] added version to python console action --- client/ayon_core/modules/python_console_interpreter/addon.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/modules/python_console_interpreter/addon.py b/client/ayon_core/modules/python_console_interpreter/addon.py index ffad3ce707..b0dce2585e 100644 --- a/client/ayon_core/modules/python_console_interpreter/addon.py +++ b/client/ayon_core/modules/python_console_interpreter/addon.py @@ -4,6 +4,7 @@ from ayon_core.addon import AYONAddon, ITrayAction class PythonInterpreterAction(AYONAddon, ITrayAction): label = "Console" name = "python_interpreter" + version = "1.0.0" admin_action = True def initialize(self, settings): From 8ae140fc6cfb70f1e6d19a311e3f4355c47ca3a5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:47:20 +0200 Subject: [PATCH 082/124] change warning to print --- client/ayon_core/addon/base.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index a70c1b7961..bbefc4ca1d 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -8,7 +8,6 @@ import inspect import logging import threading import collections -import warnings from uuid import uuid4 from abc import ABCMeta, abstractmethod @@ -598,8 +597,9 @@ class AYONAddon(object): """ if not self.__class__._missing_version_warned: self.__class__._missing_version_warned = True - warnings.warn( - f"Addon '{self.name}' does not have defined version." + print( + f"DEV WARNING: Addon '{self.name}' does not have" + f" defined version." ) return "0.0.0" From e531b94981b76b91197c3590cfd1c5d90a503880 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 13:49:34 +0200 Subject: [PATCH 083/124] make sure '_initializing_addons' is set to 'False' --- client/ayon_core/tools/tray/tray.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/tools/tray/tray.py b/client/ayon_core/tools/tray/tray.py index 957518afe4..eca87eb11d 100644 --- a/client/ayon_core/tools/tray/tray.py +++ b/client/ayon_core/tools/tray/tray.py @@ -447,8 +447,10 @@ class SystemTrayIcon(QtWidgets.QSystemTrayIcon): def initialize_addons(self): self._initializing_addons = True - self.tray_man.initialize_addons() - self._initializing_addons = False + try: + self.tray_man.initialize_addons() + finally: + self._initializing_addons = False def _click_timer_timeout(self): self._click_timer.stop() From 48ec3a73c012bfc38e1483eb0050bf17e0934e36 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:00:13 +0200 Subject: [PATCH 084/124] moved hiero integratoin next to server codebase --- .../hiero/client/ayon_hiero}/__init__.py | 0 .../hiero/client/ayon_hiero}/addon.py | 0 .../hiero/client/ayon_hiero}/api/__init__.py | 0 .../hiero/client/ayon_hiero}/api/constants.py | 0 .../hiero/client/ayon_hiero}/api/events.py | 0 .../hiero/client/ayon_hiero}/api/launchforhiero.py | 0 .../hiero/client/ayon_hiero}/api/lib.py | 0 .../hiero/client/ayon_hiero}/api/menu.py | 0 .../hiero/client/ayon_hiero}/api/otio/__init__.py | 0 .../client/ayon_hiero}/api/otio/hiero_export.py | 0 .../client/ayon_hiero}/api/otio/hiero_import.py | 0 .../hiero/client/ayon_hiero}/api/otio/utils.py | 0 .../hiero/client/ayon_hiero}/api/pipeline.py | 0 .../hiero/client/ayon_hiero}/api/plugin.py | 0 .../api/startup/HieroPlayer/PlayerPresets.hrox | 0 .../api/startup/Icons/1_add_handles_end.png | Bin .../ayon_hiero}/api/startup/Icons/2_add_handles.png | Bin .../client/ayon_hiero}/api/startup/Icons/3D.png | Bin .../api/startup/Icons/3_add_handles_start.png | Bin .../client/ayon_hiero}/api/startup/Icons/4_2D.png | Bin .../client/ayon_hiero}/api/startup/Icons/edit.png | Bin .../client/ayon_hiero}/api/startup/Icons/fusion.png | Bin .../ayon_hiero}/api/startup/Icons/hierarchy.png | Bin .../ayon_hiero}/api/startup/Icons/houdini.png | Bin .../client/ayon_hiero}/api/startup/Icons/layers.psd | Bin .../client/ayon_hiero}/api/startup/Icons/lense.png | Bin .../client/ayon_hiero}/api/startup/Icons/lense1.png | Bin .../client/ayon_hiero}/api/startup/Icons/maya.png | Bin .../client/ayon_hiero}/api/startup/Icons/nuke.png | Bin .../ayon_hiero}/api/startup/Icons/pype_icon.png | Bin .../ayon_hiero}/api/startup/Icons/resolution.png | Bin .../ayon_hiero}/api/startup/Icons/resolution.psd | Bin .../ayon_hiero}/api/startup/Icons/retiming.png | Bin .../ayon_hiero}/api/startup/Icons/retiming.psd | Bin .../client/ayon_hiero}/api/startup/Icons/review.png | Bin .../client/ayon_hiero}/api/startup/Icons/review.psd | Bin .../client/ayon_hiero}/api/startup/Icons/volume.png | Bin .../ayon_hiero}/api/startup/Icons/z_layer_bg.png | Bin .../ayon_hiero}/api/startup/Icons/z_layer_fg.png | Bin .../ayon_hiero}/api/startup/Icons/z_layer_main.png | Bin .../api/startup/Python/Startup/SpreadsheetExport.py | 0 .../api/startup/Python/Startup/Startup.py | 0 .../Python/Startup/otioexporter/OTIOExportTask.py | 0 .../Python/Startup/otioexporter/OTIOExportUI.py | 0 .../startup/Python/Startup/otioexporter/__init__.py | 0 .../api/startup/Python/Startup/project_helpers.py | 0 .../api/startup/Python/Startup/selection_tracker.py | 0 .../api/startup/Python/Startup/setFrameRate.py | 0 .../startup/Python/StartupUI/PimpMySpreadsheet.py | 0 .../api/startup/Python/StartupUI/Purge.py | 0 .../Python/StartupUI/nukeStyleKeyboardShortcuts.py | 0 .../Python/StartupUI/otioimporter/OTIOImport.py | 0 .../Python/StartupUI/otioimporter/__init__.py | 0 .../api/startup/Python/StartupUI/setPosterFrame.py | 0 .../pipeline.xml | 0 .../pipeline.xml | 0 .../pipeline.xml | 0 .../hiero/client/ayon_hiero}/api/style.css | 0 .../hiero/client/ayon_hiero}/api/tags.py | 0 .../hiero/client/ayon_hiero}/api/workio.py | 0 .../ayon_hiero}/plugins/create/create_shot_clip.py | 0 .../client/ayon_hiero}/plugins/load/load_clip.py | 0 .../client/ayon_hiero}/plugins/load/load_effects.py | 0 .../plugins/publish/collect_clip_effects.py | 0 .../plugins/publish/collect_frame_tag_instances.py | 0 .../plugins/publish/collect_tag_tasks.py | 0 .../plugins/publish/extract_clip_effects.py | 0 .../ayon_hiero}/plugins/publish/extract_frames.py | 0 .../plugins/publish/extract_thumbnail.py | 0 .../publish/integrate_version_up_workfile.py | 0 .../plugins/publish/precollect_instances.py | 0 .../plugins/publish/precollect_workfile.py | 0 .../publish_old_workflow/collect_tag_comments.py | 0 .../publish_old_workflow/precollect_retime.py | 0 .../ayon_hiero}/vendor/google/protobuf/__init__.py | 0 .../ayon_hiero}/vendor/google/protobuf/any_pb2.py | 0 .../ayon_hiero}/vendor/google/protobuf/api_pb2.py | 0 .../vendor/google/protobuf/compiler/__init__.py | 0 .../vendor/google/protobuf/compiler/plugin_pb2.py | 0 .../vendor/google/protobuf/descriptor.py | 0 .../vendor/google/protobuf/descriptor_database.py | 0 .../vendor/google/protobuf/descriptor_pb2.py | 0 .../vendor/google/protobuf/descriptor_pool.py | 0 .../vendor/google/protobuf/duration_pb2.py | 0 .../ayon_hiero}/vendor/google/protobuf/empty_pb2.py | 0 .../vendor/google/protobuf/field_mask_pb2.py | 0 .../vendor/google/protobuf/internal/__init__.py | 0 .../google/protobuf/internal/_parameterized.py | 0 .../google/protobuf/internal/api_implementation.py | 0 .../vendor/google/protobuf/internal/builder.py | 0 .../vendor/google/protobuf/internal/containers.py | 0 .../vendor/google/protobuf/internal/decoder.py | 0 .../vendor/google/protobuf/internal/encoder.py | 0 .../google/protobuf/internal/enum_type_wrapper.py | 0 .../google/protobuf/internal/extension_dict.py | 0 .../google/protobuf/internal/message_listener.py | 0 .../protobuf/internal/message_set_extensions_pb2.py | 0 .../protobuf/internal/missing_enum_values_pb2.py | 0 .../internal/more_extensions_dynamic_pb2.py | 0 .../google/protobuf/internal/more_extensions_pb2.py | 0 .../google/protobuf/internal/more_messages_pb2.py | 0 .../google/protobuf/internal/no_package_pb2.py | 0 .../google/protobuf/internal/python_message.py | 0 .../google/protobuf/internal/type_checkers.py | 0 .../google/protobuf/internal/well_known_types.py | 0 .../vendor/google/protobuf/internal/wire_format.py | 0 .../vendor/google/protobuf/json_format.py | 0 .../ayon_hiero}/vendor/google/protobuf/message.py | 0 .../vendor/google/protobuf/message_factory.py | 0 .../vendor/google/protobuf/proto_builder.py | 0 .../vendor/google/protobuf/pyext/__init__.py | 0 .../vendor/google/protobuf/pyext/cpp_message.py | 0 .../vendor/google/protobuf/pyext/python_pb2.py | 0 .../vendor/google/protobuf/reflection.py | 0 .../ayon_hiero}/vendor/google/protobuf/service.py | 0 .../vendor/google/protobuf/service_reflection.py | 0 .../vendor/google/protobuf/source_context_pb2.py | 0 .../vendor/google/protobuf/struct_pb2.py | 0 .../vendor/google/protobuf/symbol_database.py | 0 .../vendor/google/protobuf/text_encoding.py | 0 .../vendor/google/protobuf/text_format.py | 0 .../vendor/google/protobuf/timestamp_pb2.py | 0 .../ayon_hiero}/vendor/google/protobuf/type_pb2.py | 0 .../vendor/google/protobuf/util/__init__.py | 0 .../vendor/google/protobuf/util/json_format_pb2.py | 0 .../google/protobuf/util/json_format_proto3_pb2.py | 0 .../vendor/google/protobuf/wrappers_pb2.py | 0 127 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/addon.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/constants.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/events.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/launchforhiero.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/lib.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/menu.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/otio/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/otio/hiero_export.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/otio/hiero_import.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/otio/utils.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/pipeline.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/plugin.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/HieroPlayer/PlayerPresets.hrox (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/1_add_handles_end.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/2_add_handles.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/3D.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/3_add_handles_start.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/4_2D.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/edit.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/fusion.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/hierarchy.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/houdini.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/layers.psd (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/lense.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/lense1.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/maya.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/nuke.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/pype_icon.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/resolution.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/resolution.psd (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/retiming.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/retiming.psd (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/review.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/review.psd (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/volume.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/z_layer_bg.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/z_layer_fg.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Icons/z_layer_main.png (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/SpreadsheetExport.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/Startup.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/otioexporter/OTIOExportTask.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/otioexporter/OTIOExportUI.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/otioexporter/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/project_helpers.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/selection_tracker.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/Startup/setFrameRate.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/PimpMySpreadsheet.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/Purge.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/nukeStyleKeyboardShortcuts.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/otioimporter/OTIOImport.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/otioimporter/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/Python/StartupUI/setPosterFrame.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/TaskPresets/10.5/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/TaskPresets/11.1/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/startup/TaskPresets/11.2/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/style.css (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/tags.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/api/workio.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/create/create_shot_clip.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/load/load_clip.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/load/load_effects.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/collect_clip_effects.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/collect_frame_tag_instances.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/collect_tag_tasks.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/extract_clip_effects.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/extract_frames.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/extract_thumbnail.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/integrate_version_up_workfile.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/precollect_instances.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish/precollect_workfile.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish_old_workflow/collect_tag_comments.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/plugins/publish_old_workflow/precollect_retime.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/any_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/api_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/compiler/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/compiler/plugin_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/descriptor.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/descriptor_database.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/descriptor_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/descriptor_pool.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/duration_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/empty_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/field_mask_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/_parameterized.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/api_implementation.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/builder.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/containers.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/decoder.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/encoder.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/enum_type_wrapper.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/extension_dict.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/message_listener.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/message_set_extensions_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/missing_enum_values_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/more_extensions_dynamic_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/more_extensions_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/more_messages_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/no_package_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/python_message.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/type_checkers.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/well_known_types.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/internal/wire_format.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/json_format.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/message.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/message_factory.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/proto_builder.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/pyext/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/pyext/cpp_message.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/pyext/python_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/reflection.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/service.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/service_reflection.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/source_context_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/struct_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/symbol_database.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/text_encoding.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/text_format.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/timestamp_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/type_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/util/__init__.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/util/json_format_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/util/json_format_proto3_pb2.py (100%) rename {client/ayon_core/hosts/hiero => server_addon/hiero/client/ayon_hiero}/vendor/google/protobuf/wrappers_pb2.py (100%) diff --git a/client/ayon_core/hosts/hiero/__init__.py b/server_addon/hiero/client/ayon_hiero/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/__init__.py rename to server_addon/hiero/client/ayon_hiero/__init__.py diff --git a/client/ayon_core/hosts/hiero/addon.py b/server_addon/hiero/client/ayon_hiero/addon.py similarity index 100% rename from client/ayon_core/hosts/hiero/addon.py rename to server_addon/hiero/client/ayon_hiero/addon.py diff --git a/client/ayon_core/hosts/hiero/api/__init__.py b/server_addon/hiero/client/ayon_hiero/api/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/__init__.py rename to server_addon/hiero/client/ayon_hiero/api/__init__.py diff --git a/client/ayon_core/hosts/hiero/api/constants.py b/server_addon/hiero/client/ayon_hiero/api/constants.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/constants.py rename to server_addon/hiero/client/ayon_hiero/api/constants.py diff --git a/client/ayon_core/hosts/hiero/api/events.py b/server_addon/hiero/client/ayon_hiero/api/events.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/events.py rename to server_addon/hiero/client/ayon_hiero/api/events.py diff --git a/client/ayon_core/hosts/hiero/api/launchforhiero.py b/server_addon/hiero/client/ayon_hiero/api/launchforhiero.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/launchforhiero.py rename to server_addon/hiero/client/ayon_hiero/api/launchforhiero.py diff --git a/client/ayon_core/hosts/hiero/api/lib.py b/server_addon/hiero/client/ayon_hiero/api/lib.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/lib.py rename to server_addon/hiero/client/ayon_hiero/api/lib.py diff --git a/client/ayon_core/hosts/hiero/api/menu.py b/server_addon/hiero/client/ayon_hiero/api/menu.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/menu.py rename to server_addon/hiero/client/ayon_hiero/api/menu.py diff --git a/client/ayon_core/hosts/hiero/api/otio/__init__.py b/server_addon/hiero/client/ayon_hiero/api/otio/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/otio/__init__.py rename to server_addon/hiero/client/ayon_hiero/api/otio/__init__.py diff --git a/client/ayon_core/hosts/hiero/api/otio/hiero_export.py b/server_addon/hiero/client/ayon_hiero/api/otio/hiero_export.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/otio/hiero_export.py rename to server_addon/hiero/client/ayon_hiero/api/otio/hiero_export.py diff --git a/client/ayon_core/hosts/hiero/api/otio/hiero_import.py b/server_addon/hiero/client/ayon_hiero/api/otio/hiero_import.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/otio/hiero_import.py rename to server_addon/hiero/client/ayon_hiero/api/otio/hiero_import.py diff --git a/client/ayon_core/hosts/hiero/api/otio/utils.py b/server_addon/hiero/client/ayon_hiero/api/otio/utils.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/otio/utils.py rename to server_addon/hiero/client/ayon_hiero/api/otio/utils.py diff --git a/client/ayon_core/hosts/hiero/api/pipeline.py b/server_addon/hiero/client/ayon_hiero/api/pipeline.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/pipeline.py rename to server_addon/hiero/client/ayon_hiero/api/pipeline.py diff --git a/client/ayon_core/hosts/hiero/api/plugin.py b/server_addon/hiero/client/ayon_hiero/api/plugin.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/plugin.py rename to server_addon/hiero/client/ayon_hiero/api/plugin.py diff --git a/client/ayon_core/hosts/hiero/api/startup/HieroPlayer/PlayerPresets.hrox b/server_addon/hiero/client/ayon_hiero/api/startup/HieroPlayer/PlayerPresets.hrox similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/HieroPlayer/PlayerPresets.hrox rename to server_addon/hiero/client/ayon_hiero/api/startup/HieroPlayer/PlayerPresets.hrox diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/1_add_handles_end.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/1_add_handles_end.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/1_add_handles_end.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/1_add_handles_end.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/2_add_handles.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/2_add_handles.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/2_add_handles.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/2_add_handles.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/3D.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/3D.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/3D.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/3D.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/3_add_handles_start.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/3_add_handles_start.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/3_add_handles_start.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/3_add_handles_start.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/4_2D.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/4_2D.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/4_2D.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/4_2D.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/edit.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/edit.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/edit.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/edit.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/fusion.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/fusion.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/fusion.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/fusion.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/hierarchy.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/hierarchy.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/hierarchy.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/hierarchy.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/houdini.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/houdini.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/houdini.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/houdini.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/layers.psd b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/layers.psd similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/layers.psd rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/layers.psd diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/lense.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/lense.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/lense.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/lense.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/lense1.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/lense1.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/lense1.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/lense1.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/maya.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/maya.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/maya.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/maya.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/nuke.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/nuke.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/nuke.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/nuke.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/pype_icon.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/pype_icon.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/pype_icon.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/pype_icon.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/resolution.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/resolution.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/resolution.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/resolution.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/resolution.psd b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/resolution.psd similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/resolution.psd rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/resolution.psd diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/retiming.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/retiming.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/retiming.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/retiming.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/retiming.psd b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/retiming.psd similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/retiming.psd rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/retiming.psd diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/review.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/review.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/review.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/review.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/review.psd b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/review.psd similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/review.psd rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/review.psd diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/volume.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/volume.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/volume.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/volume.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_bg.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_bg.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_bg.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_bg.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_fg.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_fg.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_fg.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_fg.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_main.png b/server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_main.png similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Icons/z_layer_main.png rename to server_addon/hiero/client/ayon_hiero/api/startup/Icons/z_layer_main.png diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/SpreadsheetExport.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/SpreadsheetExport.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/SpreadsheetExport.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/SpreadsheetExport.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/Startup.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/Startup.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/__init__.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/otioexporter/__init__.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/__init__.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/project_helpers.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/project_helpers.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/project_helpers.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/project_helpers.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/selection_tracker.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/selection_tracker.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/selection_tracker.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/selection_tracker.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/Startup/setFrameRate.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/setFrameRate.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/Startup/setFrameRate.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/setFrameRate.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/PimpMySpreadsheet.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/PimpMySpreadsheet.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/PimpMySpreadsheet.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/PimpMySpreadsheet.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/Purge.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/Purge.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/Purge.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/Purge.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/nukeStyleKeyboardShortcuts.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/nukeStyleKeyboardShortcuts.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/nukeStyleKeyboardShortcuts.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/nukeStyleKeyboardShortcuts.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/otioimporter/OTIOImport.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/OTIOImport.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/otioimporter/OTIOImport.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/OTIOImport.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/otioimporter/__init__.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/otioimporter/__init__.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py diff --git a/client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/setPosterFrame.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/setPosterFrame.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/Python/StartupUI/setPosterFrame.py rename to server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/setPosterFrame.py diff --git a/client/ayon_core/hosts/hiero/api/startup/TaskPresets/10.5/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml b/server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/10.5/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/TaskPresets/10.5/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml rename to server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/10.5/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml diff --git a/client/ayon_core/hosts/hiero/api/startup/TaskPresets/11.1/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml b/server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/11.1/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/TaskPresets/11.1/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml rename to server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/11.1/Processors/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml diff --git a/client/ayon_core/hosts/hiero/api/startup/TaskPresets/11.2/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml b/server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/11.2/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml similarity index 100% rename from client/ayon_core/hosts/hiero/api/startup/TaskPresets/11.2/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml rename to server_addon/hiero/client/ayon_hiero/api/startup/TaskPresets/11.2/hiero.exporters.FnShotProcessor.ShotProcessor/pipeline.xml diff --git a/client/ayon_core/hosts/hiero/api/style.css b/server_addon/hiero/client/ayon_hiero/api/style.css similarity index 100% rename from client/ayon_core/hosts/hiero/api/style.css rename to server_addon/hiero/client/ayon_hiero/api/style.css diff --git a/client/ayon_core/hosts/hiero/api/tags.py b/server_addon/hiero/client/ayon_hiero/api/tags.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/tags.py rename to server_addon/hiero/client/ayon_hiero/api/tags.py diff --git a/client/ayon_core/hosts/hiero/api/workio.py b/server_addon/hiero/client/ayon_hiero/api/workio.py similarity index 100% rename from client/ayon_core/hosts/hiero/api/workio.py rename to server_addon/hiero/client/ayon_hiero/api/workio.py diff --git a/client/ayon_core/hosts/hiero/plugins/create/create_shot_clip.py b/server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/create/create_shot_clip.py rename to server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py diff --git a/client/ayon_core/hosts/hiero/plugins/load/load_clip.py b/server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/load/load_clip.py rename to server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py diff --git a/client/ayon_core/hosts/hiero/plugins/load/load_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/load/load_effects.py rename to server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/collect_clip_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/collect_clip_effects.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/collect_frame_tag_instances.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_frame_tag_instances.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/collect_frame_tag_instances.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/collect_frame_tag_instances.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/collect_tag_tasks.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_tag_tasks.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/collect_tag_tasks.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/collect_tag_tasks.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/extract_clip_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/extract_clip_effects.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/extract_frames.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_frames.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/extract_frames.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/extract_frames.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/extract_thumbnail.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_thumbnail.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/extract_thumbnail.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/extract_thumbnail.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/integrate_version_up_workfile.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/integrate_version_up_workfile.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/integrate_version_up_workfile.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/integrate_version_up_workfile.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/precollect_instances.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/precollect_instances.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish/precollect_workfile.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish/precollect_workfile.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish_old_workflow/collect_tag_comments.py b/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/collect_tag_comments.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish_old_workflow/collect_tag_comments.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/collect_tag_comments.py diff --git a/client/ayon_core/hosts/hiero/plugins/publish_old_workflow/precollect_retime.py b/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py similarity index 100% rename from client/ayon_core/hosts/hiero/plugins/publish_old_workflow/precollect_retime.py rename to server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/__init__.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/__init__.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/__init__.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/any_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/any_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/any_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/any_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/api_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/api_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/api_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/api_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/compiler/__init__.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/compiler/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/compiler/__init__.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/compiler/__init__.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/compiler/plugin_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/compiler/plugin_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/compiler/plugin_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/compiler/plugin_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_database.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_database.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_database.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_database.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_pool.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_pool.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/descriptor_pool.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/descriptor_pool.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/duration_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/duration_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/duration_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/duration_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/empty_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/empty_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/empty_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/empty_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/field_mask_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/field_mask_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/field_mask_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/field_mask_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/__init__.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/__init__.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/__init__.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/_parameterized.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/_parameterized.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/_parameterized.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/_parameterized.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/api_implementation.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/api_implementation.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/api_implementation.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/api_implementation.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/builder.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/builder.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/builder.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/builder.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/containers.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/containers.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/containers.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/containers.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/decoder.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/decoder.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/decoder.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/decoder.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/encoder.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/encoder.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/encoder.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/encoder.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/enum_type_wrapper.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/enum_type_wrapper.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/enum_type_wrapper.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/enum_type_wrapper.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/extension_dict.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/extension_dict.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/extension_dict.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/extension_dict.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/message_listener.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/message_listener.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/message_listener.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/message_listener.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/message_set_extensions_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/message_set_extensions_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/message_set_extensions_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/message_set_extensions_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/missing_enum_values_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/missing_enum_values_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/missing_enum_values_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/missing_enum_values_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_extensions_dynamic_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_extensions_dynamic_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_extensions_dynamic_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_extensions_dynamic_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_extensions_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_extensions_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_extensions_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_extensions_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_messages_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_messages_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/more_messages_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/more_messages_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/no_package_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/no_package_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/no_package_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/no_package_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/python_message.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/python_message.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/python_message.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/python_message.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/type_checkers.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/type_checkers.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/type_checkers.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/type_checkers.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/well_known_types.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/well_known_types.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/well_known_types.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/well_known_types.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/wire_format.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/wire_format.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/internal/wire_format.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/internal/wire_format.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/json_format.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/json_format.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/json_format.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/json_format.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/message.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/message.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/message.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/message.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/message_factory.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/message_factory.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/message_factory.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/message_factory.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/proto_builder.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/proto_builder.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/proto_builder.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/proto_builder.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/__init__.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/__init__.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/__init__.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/cpp_message.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/cpp_message.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/cpp_message.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/cpp_message.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/python_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/python_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/pyext/python_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/pyext/python_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/reflection.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/reflection.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/reflection.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/reflection.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/service.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/service.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/service.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/service.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/service_reflection.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/service_reflection.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/service_reflection.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/service_reflection.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/source_context_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/source_context_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/source_context_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/source_context_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/struct_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/struct_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/struct_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/struct_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/symbol_database.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/symbol_database.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/symbol_database.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/symbol_database.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/text_encoding.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/text_encoding.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/text_encoding.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/text_encoding.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/text_format.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/text_format.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/text_format.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/text_format.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/timestamp_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/timestamp_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/timestamp_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/timestamp_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/type_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/type_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/type_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/type_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/util/__init__.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/__init__.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/util/__init__.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/__init__.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/util/json_format_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/json_format_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/util/json_format_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/json_format_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/util/json_format_proto3_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/json_format_proto3_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/util/json_format_proto3_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/util/json_format_proto3_pb2.py diff --git a/client/ayon_core/hosts/hiero/vendor/google/protobuf/wrappers_pb2.py b/server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/wrappers_pb2.py similarity index 100% rename from client/ayon_core/hosts/hiero/vendor/google/protobuf/wrappers_pb2.py rename to server_addon/hiero/client/ayon_hiero/vendor/google/protobuf/wrappers_pb2.py From 21c02e023cf9d894927ebf2ef8f084050474e63e Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:02:01 +0200 Subject: [PATCH 085/124] added more info to package py and added version.py --- server_addon/hiero/client/ayon_hiero/__init__.py | 3 +++ server_addon/hiero/client/ayon_hiero/addon.py | 3 +++ server_addon/hiero/client/ayon_hiero/version.py | 3 +++ server_addon/hiero/package.py | 8 +++++++- 4 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 server_addon/hiero/client/ayon_hiero/version.py diff --git a/server_addon/hiero/client/ayon_hiero/__init__.py b/server_addon/hiero/client/ayon_hiero/__init__.py index e6744d5aec..73a2343f66 100644 --- a/server_addon/hiero/client/ayon_hiero/__init__.py +++ b/server_addon/hiero/client/ayon_hiero/__init__.py @@ -1,3 +1,4 @@ +from .version import __version__ from .addon import ( HIERO_ROOT_DIR, HieroAddon, @@ -5,6 +6,8 @@ from .addon import ( __all__ = ( + "__version__", + "HIERO_ROOT_DIR", "HieroAddon", ) diff --git a/server_addon/hiero/client/ayon_hiero/addon.py b/server_addon/hiero/client/ayon_hiero/addon.py index f612493ca1..1d2c36c0b3 100644 --- a/server_addon/hiero/client/ayon_hiero/addon.py +++ b/server_addon/hiero/client/ayon_hiero/addon.py @@ -2,11 +2,14 @@ import os import platform from ayon_core.addon import AYONAddon, IHostAddon +from .version import __version__ + HIERO_ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) class HieroAddon(AYONAddon, IHostAddon): name = "hiero" + version = __version__ host_name = "hiero" def add_implementation_envs(self, env, _app): diff --git a/server_addon/hiero/client/ayon_hiero/version.py b/server_addon/hiero/client/ayon_hiero/version.py new file mode 100644 index 0000000000..6a2d180afb --- /dev/null +++ b/server_addon/hiero/client/ayon_hiero/version.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'hiero' version.""" +__version__ = "0.2.0" diff --git a/server_addon/hiero/package.py b/server_addon/hiero/package.py index 54c2f74fa7..1948d50e6d 100644 --- a/server_addon/hiero/package.py +++ b/server_addon/hiero/package.py @@ -1,3 +1,9 @@ name = "hiero" title = "Hiero" -version = "0.1.3" +version = "0.2.0" +client_dir = "ayon_hiero" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} From a07820cb8cac98cb43f37eb9fe1976e9619cf0d5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:05:23 +0200 Subject: [PATCH 086/124] fix imports --- server_addon/hiero/client/ayon_hiero/api/lib.py | 8 ++++---- server_addon/hiero/client/ayon_hiero/api/pipeline.py | 8 ++++---- server_addon/hiero/client/ayon_hiero/api/plugin.py | 2 +- .../ayon_hiero/api/startup/Python/Startup/Startup.py | 6 +++--- .../startup/Python/Startup/otioexporter/OTIOExportTask.py | 2 +- .../startup/Python/Startup/otioexporter/OTIOExportUI.py | 2 +- .../api/startup/Python/StartupUI/otioimporter/__init__.py | 2 +- .../client/ayon_hiero/plugins/create/create_shot_clip.py | 4 ++-- .../hiero/client/ayon_hiero/plugins/load/load_clip.py | 2 +- .../hiero/client/ayon_hiero/plugins/load/load_effects.py | 2 +- .../ayon_hiero/plugins/publish/extract_clip_effects.py | 1 - .../ayon_hiero/plugins/publish/precollect_instances.py | 4 ++-- .../ayon_hiero/plugins/publish/precollect_workfile.py | 2 +- .../plugins/publish_old_workflow/precollect_retime.py | 2 +- 14 files changed, 23 insertions(+), 24 deletions(-) diff --git a/server_addon/hiero/client/ayon_hiero/api/lib.py b/server_addon/hiero/client/ayon_hiero/api/lib.py index 456a68f125..2a6038fb98 100644 --- a/server_addon/hiero/client/ayon_hiero/api/lib.py +++ b/server_addon/hiero/client/ayon_hiero/api/lib.py @@ -453,19 +453,19 @@ def get_track_openpype_data(track, container_name=None): ) -@deprecated("ayon_core.hosts.hiero.api.lib.get_trackitem_openpype_tag") +@deprecated("ayon_hiero.api.lib.get_trackitem_openpype_tag") def get_track_item_pype_tag(track_item): # backward compatibility alias return get_trackitem_openpype_tag(track_item) -@deprecated("ayon_core.hosts.hiero.api.lib.set_trackitem_openpype_tag") +@deprecated("ayon_hiero.api.lib.set_trackitem_openpype_tag") def set_track_item_pype_tag(track_item, data=None): # backward compatibility alias return set_trackitem_openpype_tag(track_item, data) -@deprecated("ayon_core.hosts.hiero.api.lib.get_trackitem_openpype_data") +@deprecated("ayon_hiero.api.lib.get_trackitem_openpype_data") def get_track_item_pype_data(track_item): # backward compatibility alias return get_trackitem_openpype_data(track_item) @@ -802,7 +802,7 @@ class PublishAction(QtWidgets.QAction): # # ''' # import hiero.core -# from ayon_core.hosts.nuke.api.lib import ( +# from ayon_nuke.api.lib import ( # BuildWorkfile, # imprint # ) diff --git a/server_addon/hiero/client/ayon_hiero/api/pipeline.py b/server_addon/hiero/client/ayon_hiero/api/pipeline.py index 327a4ae29c..4a8930ac39 100644 --- a/server_addon/hiero/client/ayon_hiero/api/pipeline.py +++ b/server_addon/hiero/client/ayon_hiero/api/pipeline.py @@ -308,9 +308,9 @@ def reload_config(): import importlib for module in ( - "ayon_core.hosts.hiero.lib", - "ayon_core.hosts.hiero.menu", - "ayon_core.hosts.hiero.tags" + "ayon_hiero.lib", + "ayon_hiero.menu", + "ayon_hiero.tags" ): log.info("Reloading module: {}...".format(module)) try: @@ -328,7 +328,7 @@ def on_pyblish_instance_toggled(instance, old_value, new_value): log.info("instance toggle: {}, old_value: {}, new_value:{} ".format( instance, old_value, new_value)) - from ayon_core.hosts.hiero.api import ( + from ayon_hiero.api import ( get_trackitem_openpype_tag, set_publish_attribute ) diff --git a/server_addon/hiero/client/ayon_hiero/api/plugin.py b/server_addon/hiero/client/ayon_hiero/api/plugin.py index 1353673b31..b9f42a88e0 100644 --- a/server_addon/hiero/client/ayon_hiero/api/plugin.py +++ b/server_addon/hiero/client/ayon_hiero/api/plugin.py @@ -600,7 +600,7 @@ class Creator(LegacyCreator): def __init__(self, *args, **kwargs): super(Creator, self).__init__(*args, **kwargs) - import ayon_core.hosts.hiero.api as phiero + import ayon_hiero.api as phiero self.presets = get_current_project_settings()[ "hiero"]["create"].get(self.__class__.__name__, {}) diff --git a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py index cffab8067c..c916bf37e9 100644 --- a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py +++ b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/Startup.py @@ -2,11 +2,11 @@ import traceback # activate hiero from pype from ayon_core.pipeline import install_host -import ayon_core.hosts.hiero.api as phiero +import ayon_hiero.api as phiero install_host(phiero) try: - __import__("ayon_core.hosts.hiero.api") + __import__("ayon_hiero.api") __import__("pyblish") except ImportError as e: @@ -15,5 +15,5 @@ except ImportError as e: else: # Setup integration - import ayon_core.hosts.hiero.api as phiero + import ayon_hiero.api as phiero phiero.lib.setup() diff --git a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py index bd5048a832..d4cb342c72 100644 --- a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py +++ b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportTask.py @@ -8,7 +8,7 @@ import hiero.core from hiero.core import util import opentimelineio as otio -from ayon_core.hosts.hiero.api.otio import hiero_export +from ayon_hiero.api.otio import hiero_export class OTIOExportTask(hiero.core.TaskBase): diff --git a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py index 25aa8bb0cf..131b385f53 100644 --- a/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py +++ b/server_addon/hiero/client/ayon_hiero/api/startup/Python/Startup/otioexporter/OTIOExportUI.py @@ -22,7 +22,7 @@ except ImportError: FormLayout = QFormLayout # lint:ok -from ayon_core.hosts.hiero.api.otio import hiero_export +from ayon_hiero.api.otio import hiero_export class OTIOExportUI(hiero.ui.TaskUIBase): def __init__(self, preset): diff --git a/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py index 29507db975..c0f1cc9c67 100644 --- a/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py +++ b/server_addon/hiero/client/ayon_hiero/api/startup/Python/StartupUI/otioimporter/__init__.py @@ -9,7 +9,7 @@ import hiero.core import PySide2.QtWidgets as qw -from ayon_core.hosts.hiero.api.otio.hiero_import import load_otio +from ayon_hiero.api.otio.hiero_import import load_otio class OTIOProjectSelect(qw.QDialog): diff --git a/server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py b/server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py index 1fc808fdd1..201cf382e2 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/create/create_shot_clip.py @@ -1,6 +1,6 @@ from copy import deepcopy -import ayon_core.hosts.hiero.api as phiero -# from ayon_core.hosts.hiero.api import plugin, lib +import ayon_hiero.api as phiero +# from ayon_hiero.api import plugin, lib # reload(lib) # reload(plugin) # reload(phiero) diff --git a/server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py b/server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py index 715e8c508e..d93730c735 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/load/load_clip.py @@ -5,7 +5,7 @@ from ayon_core.lib.transcoding import ( VIDEO_EXTENSIONS, IMAGE_EXTENSIONS ) -import ayon_core.hosts.hiero.api as phiero +import ayon_hiero.api as phiero class LoadClip(phiero.SequenceLoader): diff --git a/server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py index 92aa2de325..24130f7485 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/load/load_effects.py @@ -7,7 +7,7 @@ from ayon_core.pipeline import ( load, get_representation_path, ) -from ayon_core.hosts.hiero import api as phiero +from ayon_hiero import api as phiero from ayon_core.lib import Logger diff --git a/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py index 25b52968fa..7ee979c37a 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/publish/extract_clip_effects.py @@ -1,4 +1,3 @@ -# from ayon_core import plugins import os import json import pyblish.api diff --git a/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py index b7a508f0b5..fa2c56182e 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_instances.py @@ -3,8 +3,8 @@ import pyblish from ayon_core.pipeline import AYON_INSTANCE_ID, AVALON_INSTANCE_ID from ayon_core.pipeline.editorial import is_overlapping_otio_ranges -from ayon_core.hosts.hiero import api as phiero -from ayon_core.hosts.hiero.api.otio import hiero_export +from ayon_hiero import api as phiero +from ayon_hiero.api.otio import hiero_export import hiero # # developer reload modules diff --git a/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py index 0b6b34ea6c..1dd21b3f21 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/publish/precollect_workfile.py @@ -7,7 +7,7 @@ from qtpy.QtGui import QPixmap import hiero.ui -from ayon_core.hosts.hiero.api.otio import hiero_export +from ayon_hiero.api.otio import hiero_export class PrecollectWorkfile(pyblish.api.ContextPlugin): diff --git a/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py b/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py index 8503a0b6a7..c511b40abc 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/publish_old_workflow/precollect_retime.py @@ -1,7 +1,7 @@ from pyblish import api import hiero import math -from ayon_core.hosts.hiero.api.otio.hiero_export import create_otio_time_range +from ayon_hiero.api.otio.hiero_export import create_otio_time_range class PrecollectRetime(api.InstancePlugin): """Calculate Retiming of selected track items.""" From 2b7338b97af79c8581c485af5d0ca44159fb28ff Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:08:49 +0200 Subject: [PATCH 087/124] added settings category --- .../client/ayon_hiero/plugins/publish/collect_clip_effects.py | 1 + 1 file changed, 1 insertion(+) diff --git a/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py b/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py index bfc63f2551..bd8af3b51a 100644 --- a/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py +++ b/server_addon/hiero/client/ayon_hiero/plugins/publish/collect_clip_effects.py @@ -9,6 +9,7 @@ class CollectClipEffects(pyblish.api.InstancePlugin): order = pyblish.api.CollectorOrder - 0.078 label = "Collect Clip Effects Instances" families = ["clip"] + settings_category = "hiero" effect_categories = [] From 9457a82ce66227929e17b231efa3f85675d79466 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:09:17 +0200 Subject: [PATCH 088/124] added hiero milestone --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index d2c072c50c..a8721c55b6 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -55,6 +55,7 @@ MOVED_ADDON_MILESTONE_VERSIONS = { "clockify": VersionInfo(0, 2, 0), "flame": VersionInfo(0, 2, 0), "fusion": VersionInfo(0, 2, 0), + "hiero": VersionInfo(0, 2, 0), "max": VersionInfo(0, 2, 0), "photoshop": VersionInfo(0, 2, 0), "traypublisher": VersionInfo(0, 2, 0), From 87fa03bbb81772d3270e89c0c2f73bcf83f30c25 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:11:48 +0200 Subject: [PATCH 089/124] remove settings for not existing plugins --- .../hiero/server/settings/publish_plugins.py | 39 ------------------- 1 file changed, 39 deletions(-) diff --git a/server_addon/hiero/server/settings/publish_plugins.py b/server_addon/hiero/server/settings/publish_plugins.py index 0e43d4ce3a..632bb15241 100644 --- a/server_addon/hiero/server/settings/publish_plugins.py +++ b/server_addon/hiero/server/settings/publish_plugins.py @@ -7,13 +7,6 @@ from ayon_server.settings import ( ) -class CollectInstanceVersionModel(BaseSettingsModel): - enabled: bool = SettingsField( - True, - title="Enabled" - ) - - class CollectClipEffectsDefModel(BaseSettingsModel): _layout = "expanded" name: str = SettingsField("", title="Name") @@ -38,46 +31,14 @@ class CollectClipEffectsModel(BaseSettingsModel): return value -class ExtractReviewCutUpVideoModel(BaseSettingsModel): - enabled: bool = SettingsField( - True, - title="Enabled" - ) - tags_addition: list[str] = SettingsField( - default_factory=list, - title="Additional tags" - ) - - class PublishPluginsModel(BaseSettingsModel): - CollectInstanceVersion: CollectInstanceVersionModel = SettingsField( - default_factory=CollectInstanceVersionModel, - title="Collect Instance Version" - ) CollectClipEffects: CollectClipEffectsModel = SettingsField( default_factory=CollectClipEffectsModel, title="Collect Clip Effects" ) - """# TODO: enhance settings with host api: - Rename class name and plugin name - to match title (it makes more sense) - """ - ExtractReviewCutUpVideo: ExtractReviewCutUpVideoModel = SettingsField( - default_factory=ExtractReviewCutUpVideoModel, - title="Exctract Review Trim" - ) DEFAULT_PUBLISH_PLUGIN_SETTINGS = { - "CollectInstanceVersion": { - "enabled": False, - }, - "ExtractReviewCutUpVideo": { - "enabled": True, - "tags_addition": [ - "review" - ] - }, "CollectClipEffectsModel": { "effect_categories": [] } From ceab71cfa97cc8498beb2e4656e659c5a52a2ac5 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:13:47 +0200 Subject: [PATCH 090/124] renamed 'HIERO_ROOT_DIR' to 'HIERO_ADDON_ROOT' --- server_addon/hiero/client/ayon_hiero/__init__.py | 4 ++-- server_addon/hiero/client/ayon_hiero/addon.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/server_addon/hiero/client/ayon_hiero/__init__.py b/server_addon/hiero/client/ayon_hiero/__init__.py index 73a2343f66..2dc490c1e9 100644 --- a/server_addon/hiero/client/ayon_hiero/__init__.py +++ b/server_addon/hiero/client/ayon_hiero/__init__.py @@ -1,6 +1,6 @@ from .version import __version__ from .addon import ( - HIERO_ROOT_DIR, + HIERO_ADDON_ROOT, HieroAddon, ) @@ -8,6 +8,6 @@ from .addon import ( __all__ = ( "__version__", - "HIERO_ROOT_DIR", + "HIERO_ADDON_ROOT", "HieroAddon", ) diff --git a/server_addon/hiero/client/ayon_hiero/addon.py b/server_addon/hiero/client/ayon_hiero/addon.py index 1d2c36c0b3..671e29151b 100644 --- a/server_addon/hiero/client/ayon_hiero/addon.py +++ b/server_addon/hiero/client/ayon_hiero/addon.py @@ -4,7 +4,7 @@ from ayon_core.addon import AYONAddon, IHostAddon from .version import __version__ -HIERO_ROOT_DIR = os.path.dirname(os.path.abspath(__file__)) +HIERO_ADDON_ROOT = os.path.dirname(os.path.abspath(__file__)) class HieroAddon(AYONAddon, IHostAddon): @@ -15,7 +15,7 @@ class HieroAddon(AYONAddon, IHostAddon): def add_implementation_envs(self, env, _app): # Add requirements to HIERO_PLUGIN_PATH new_hiero_paths = [ - os.path.join(HIERO_ROOT_DIR, "api", "startup") + os.path.join(HIERO_ADDON_ROOT, "api", "startup") ] old_hiero_path = env.get("HIERO_PLUGIN_PATH") or "" for path in old_hiero_path.split(os.pathsep): @@ -39,7 +39,7 @@ class HieroAddon(AYONAddon, IHostAddon): python_path_parts = [] if python_path: python_path_parts = python_path.split(os.pathsep) - vendor_path = os.path.join(HIERO_ROOT_DIR, "vendor") + vendor_path = os.path.join(HIERO_ADDON_ROOT, "vendor") python_path_parts.insert(0, vendor_path) env["PYTHONPATH"] = os.pathsep.join(python_path_parts) From 6cf485c733f322ffeb677a21e5b7cce63ec72f4a Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:14:44 +0200 Subject: [PATCH 091/124] use 'HIERO_ADDON_ROOT' in api --- server_addon/hiero/client/ayon_hiero/api/pipeline.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/server_addon/hiero/client/ayon_hiero/api/pipeline.py b/server_addon/hiero/client/ayon_hiero/api/pipeline.py index 4a8930ac39..58045c4331 100644 --- a/server_addon/hiero/client/ayon_hiero/api/pipeline.py +++ b/server_addon/hiero/client/ayon_hiero/api/pipeline.py @@ -6,7 +6,9 @@ import os import contextlib from collections import OrderedDict +import hiero from pyblish import api as pyblish + from ayon_core.lib import Logger from ayon_core.pipeline import ( schema, @@ -18,15 +20,14 @@ from ayon_core.pipeline import ( AYON_CONTAINER_ID, ) from ayon_core.tools.utils import host_tools +from ayon_hiero import HIERO_ADDON_ROOT + from . import lib, menu, events -import hiero log = Logger.get_logger(__name__) # plugin paths -API_DIR = os.path.dirname(os.path.abspath(__file__)) -HOST_DIR = os.path.dirname(API_DIR) -PLUGINS_DIR = os.path.join(HOST_DIR, "plugins") +PLUGINS_DIR = os.path.join(HIERO_ADDON_ROOT, "plugins") PUBLISH_PATH = os.path.join(PLUGINS_DIR, "publish").replace("\\", "/") LOAD_PATH = os.path.join(PLUGINS_DIR, "load").replace("\\", "/") CREATE_PATH = os.path.join(PLUGINS_DIR, "create").replace("\\", "/") From 3128c2fc673e7049d977d3e996b93be5f6f32c1b Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:25:00 +0200 Subject: [PATCH 092/124] fix ruff ignore --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 63d7434c06..dcb2c65417 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,7 +80,7 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" exclude = [ "client/ayon_core/hosts/unreal/integration/*", "client/ayon_core/hosts/aftereffects/api/extension/js/libs/*", - "client/ayon_core/hosts/hiero/api/startup/*", + "client/ayon_core/server_addon/hiero/client/ayon_hiero/api/startup/*", "client/ayon_core/modules/deadline/repository/custom/plugins/CelAction/*", "client/ayon_core/modules/deadline/repository/custom/plugins/HarmonyAYON/*", "client/ayon_core/modules/click_wrap.py", From 24c8acdb5fab012d3f40fcd80e631910f38b21a1 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 14:37:38 +0200 Subject: [PATCH 093/124] fix ruff ignore one more time --- pyproject.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index dcb2c65417..ca887f2299 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -80,11 +80,11 @@ dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" exclude = [ "client/ayon_core/hosts/unreal/integration/*", "client/ayon_core/hosts/aftereffects/api/extension/js/libs/*", - "client/ayon_core/server_addon/hiero/client/ayon_hiero/api/startup/*", "client/ayon_core/modules/deadline/repository/custom/plugins/CelAction/*", "client/ayon_core/modules/deadline/repository/custom/plugins/HarmonyAYON/*", "client/ayon_core/modules/click_wrap.py", - "client/ayon_core/scripts/slates/__init__.py" + "client/ayon_core/scripts/slates/__init__.py", + "server_addon/hiero/client/ayon_hiero/api/startup/*" ] [tool.ruff.lint.per-file-ignores] From f6417af5d3b5c4663d082927be62f24392f08e2e Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 15:29:26 +0200 Subject: [PATCH 094/124] change ignore for ruff --- pyproject.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 63d7434c06..9cbb4cc172 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,13 +78,13 @@ unfixable = [] dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" exclude = [ + "client/ayon_core/scripts/slates/__init__.py", + "client/ayon_core/modules/click_wrap.py", "client/ayon_core/hosts/unreal/integration/*", - "client/ayon_core/hosts/aftereffects/api/extension/js/libs/*", "client/ayon_core/hosts/hiero/api/startup/*", "client/ayon_core/modules/deadline/repository/custom/plugins/CelAction/*", "client/ayon_core/modules/deadline/repository/custom/plugins/HarmonyAYON/*", - "client/ayon_core/modules/click_wrap.py", - "client/ayon_core/scripts/slates/__init__.py" + "server_addon/aftereffects/client/ayon_aftereffects/api/extension/js/libs/*" ] [tool.ruff.lint.per-file-ignores] From 52a82a911004a90e16a6b1e10fd0ea86c3c5eb5c Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 15:29:58 +0200 Subject: [PATCH 095/124] log debug for missing settings --- client/ayon_core/pipeline/publish/lib.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/pipeline/publish/lib.py b/client/ayon_core/pipeline/publish/lib.py index 8d3644637b..94acf64047 100644 --- a/client/ayon_core/pipeline/publish/lib.py +++ b/client/ayon_core/pipeline/publish/lib.py @@ -343,7 +343,7 @@ def get_plugin_settings(plugin, project_settings, log, category=None): [plugin.__name__] ) except KeyError: - log.warning(( + log.debug(( "Couldn't find plugin '{}' settings" " under settings category '{}'" ).format(plugin.__name__, settings_category)) From 1c1489af848ae00bf70b0738f8eb0615c4df7ac6 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:01:40 +0200 Subject: [PATCH 096/124] warn about missing category and ignore missing publish plugin --- client/ayon_core/pipeline/publish/lib.py | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/client/ayon_core/pipeline/publish/lib.py b/client/ayon_core/pipeline/publish/lib.py index 94acf64047..7f63089d33 100644 --- a/client/ayon_core/pipeline/publish/lib.py +++ b/client/ayon_core/pipeline/publish/lib.py @@ -336,17 +336,16 @@ def get_plugin_settings(plugin, project_settings, log, category=None): settings_category = getattr(plugin, "settings_category", None) if settings_category: try: - return ( - project_settings - [settings_category] - ["publish"] - [plugin.__name__] - ) + category_settings = project_settings[settings_category] + except KeyError: + log.warning(( + "Couldn't find settings category '{}' in project settings" + ).format(settings_category)) + return {} + + try: + return category_settings["publish"][plugin.__name__] except KeyError: - log.debug(( - "Couldn't find plugin '{}' settings" - " under settings category '{}'" - ).format(plugin.__name__, settings_category)) return {} # Use project settings based on a category name From 34432b299fe666d7cf208ae880b64b5c75e75d51 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 3 Jun 2024 16:41:29 +0200 Subject: [PATCH 097/124] Bump version --- server_addon/maya/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/maya/package.py b/server_addon/maya/package.py index 274f74869b..0331fb2fb6 100644 --- a/server_addon/maya/package.py +++ b/server_addon/maya/package.py @@ -1,6 +1,6 @@ name = "maya" title = "Maya" -version = "0.2.0" +version = "0.2.1" ayon_required_addons = { "core": ">0.3.2", From 33bd9a82eb3fef006bb549c6f0a36f8a4e9d05c8 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:56:58 +0200 Subject: [PATCH 098/124] log addons alphabetically --- client/ayon_core/addon/base.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index bbefc4ca1d..87c40b096c 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -918,10 +918,6 @@ class AddonsManager: name_alias = getattr(addon, "openpype_alias", None) if name_alias: aliased_names.append((name_alias, addon)) - enabled_str = "X" if addon.enabled else " " - self.log.debug( - f"[{enabled_str}] {addon.name} ({addon.version})" - ) now = time.time() report[addon.__class__.__name__] = now - prev_start_time @@ -933,6 +929,13 @@ class AddonsManager: exc_info=True ) + for addon_name in sorted(self._addons_by_name.keys()): + addon = self._addons_by_name[addon_name] + enabled_str = "X" if addon.enabled else " " + self.log.debug( + f"[{enabled_str}] {addon.name} ({addon.version})" + ) + for item in aliased_names: name_alias, addon = item if name_alias not in self._addons_by_name: From 91edccbd703154e23692998ba3f453f0e58efae9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Mon, 3 Jun 2024 17:15:46 +0200 Subject: [PATCH 099/124] fix indentation --- client/ayon_core/addon/base.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 3fbba6c619..13f1550e6e 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -930,12 +930,12 @@ class AddonsManager: exc_info=True ) - for addon_name in sorted(self._addons_by_name.keys()): - addon = self._addons_by_name[addon_name] - enabled_str = "X" if addon.enabled else " " - self.log.debug( - f"[{enabled_str}] {addon.name} ({addon.version})" - ) + for addon_name in sorted(self._addons_by_name.keys()): + addon = self._addons_by_name[addon_name] + enabled_str = "X" if addon.enabled else " " + self.log.debug( + f"[{enabled_str}] {addon.name} ({addon.version})" + ) for item in aliased_names: name_alias, addon = item From 118b4c189f13741426f4ecabd47c4421ad22325b Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Tue, 4 Jun 2024 00:53:34 +0800 Subject: [PATCH 100/124] improve version up current workfile and code tweak --- client/ayon_core/pipeline/context_tools.py | 49 +++++++++++++++---- server/settings/tools.py | 19 +++---- .../maya/client/ayon_maya/api/menu.py | 8 +-- 3 files changed, 53 insertions(+), 23 deletions(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index f47c1f12f0..a42c509125 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -11,7 +11,12 @@ from pyblish.lib import MessageHandler from ayon_core import AYON_CORE_ROOT from ayon_core.host import HostBase -from ayon_core.lib import is_in_tests, initialize_ayon_connection, emit_event, version_up +from ayon_core.lib import ( + is_in_tests, + initialize_ayon_connection, + emit_event, + version_up +) from ayon_core.addon import load_addons, AddonsManager from ayon_core.settings import get_project_settings @@ -21,6 +26,8 @@ from .template_data import get_template_data_with_names from .workfile import ( get_workdir, get_custom_workfile_template_by_string_context, + get_workfile_template_key_from_context, + get_last_workfile ) from . import ( register_loader_plugin_path, @@ -581,15 +588,37 @@ def get_process_id(): return _process_id -def version_up_workfile(): +def version_up_current_workfile(): """Function to increment and save workfile """ host = registered_host() - current_file = host.get_current_workfile() - if not current_file: - log.debug( - "Current file is unsaved and can't be versioned up. " - "Please save your file first.") - return None - filepath = version_up(current_file) - host.save_workfile(filepath) + project_name = get_current_project_name() + folder_path = get_current_folder_path() + task_name = get_current_task_name() + host_name = get_current_host_name() + + template_key = get_workfile_template_key_from_context( + project_name, + folder_path, + task_name, + host_name, + ) + anatomy = Anatomy(project_name) + + data = get_template_data_with_names( + project_name, folder_path, task_name, host_name + ) + data["root"] = anatomy.roots + + work_template = anatomy.get_template_item("work", template_key) + + # Define saving file extension + extensions = host.get_workfile_extensions() + + work_root = work_template["directory"].format_strict(data) + file_template = work_template["file"].template + last_workfile_path = get_last_workfile( + work_root, file_template, data, extensions, True + ) + current_workfile_path = version_up(last_workfile_path) + host.save_workfile(current_workfile_path) diff --git a/server/settings/tools.py b/server/settings/tools.py index 0fb11404c9..368543dbda 100644 --- a/server/settings/tools.py +++ b/server/settings/tools.py @@ -118,8 +118,9 @@ class WorkfilesLockProfile(BaseSettingsModel): enabled: bool = SettingsField(True, title="Enabled") -class AyonMenuModel(BaseSettingsModel): - version_up_workfile: bool = SettingsField( +class AYONMenuModel(BaseSettingsModel): + _layout = "expanded" + version_up_current_workfile: bool = SettingsField( False, title="Version Up Workfile", description="Add 'Version Up Workfile' to AYON menu" @@ -127,10 +128,6 @@ class AyonMenuModel(BaseSettingsModel): class WorkfilesToolModel(BaseSettingsModel): - ayon_menu: AyonMenuModel = SettingsField( - default_factory=AyonMenuModel, - title="AYON Menu" - ) workfile_template_profiles: list[WorkfileTemplateProfile] = SettingsField( default_factory=list, title="Workfile template profiles" @@ -280,6 +277,10 @@ class PublishToolModel(BaseSettingsModel): class GlobalToolsModel(BaseSettingsModel): + ayon_menu: AYONMenuModel = SettingsField( + default_factory=AYONMenuModel, + title="Tools" + ) creator: CreatorToolModel = SettingsField( default_factory=CreatorToolModel, title="Creator" @@ -299,6 +300,9 @@ class GlobalToolsModel(BaseSettingsModel): DEFAULT_TOOLS_VALUES = { + "ayon_menu": { + "version_up_current_workfile": False + }, "creator": { "product_types_smart_select": [ { @@ -419,9 +423,6 @@ DEFAULT_TOOLS_VALUES = { ] }, "Workfiles": { - "ayon_menu": { - "version_up_workfile": False - }, "workfile_template_profiles": [ { "task_types": [], diff --git a/server_addon/maya/client/ayon_maya/api/menu.py b/server_addon/maya/client/ayon_maya/api/menu.py index 7eb4e89a9e..a6f8ae2db0 100644 --- a/server_addon/maya/client/ayon_maya/api/menu.py +++ b/server_addon/maya/client/ayon_maya/api/menu.py @@ -25,7 +25,7 @@ from .workfile_template_builder import ( build_workfile_template, update_workfile_template ) -from ayon_core.pipeline.context_tools import version_up_workfile +from ayon_core.pipeline.context_tools import version_up_current_workfile from ayon_core.tools.workfile_template_build import open_template_ui from .workfile_template_builder import MayaTemplateBuilder @@ -75,12 +75,12 @@ def install(project_settings): cmds.setParent("..", menu=True) - if project_settings["core"]["tools"]["Workfiles"]["ayon_menu"].get( - "version_up_workfile"): + if project_settings["core"]["tools"]["ayon_menu"].get( + "version_up_current_workfile"): cmds.menuItem(divider=True) cmds.menuItem( "Version Up Workfile", - command=lambda *args: version_up_workfile() + command=lambda *args: version_up_current_workfile() ) cmds.menuItem(divider=True) From ca307c799cbe19a7baa076d0acd1ef83446db7c3 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 3 Jun 2024 21:18:52 +0200 Subject: [PATCH 101/124] Expand folders when searching in the folder widgets (Loader + Launcher) --- client/ayon_core/tools/loader/ui/folders_widget.py | 2 ++ client/ayon_core/tools/utils/folders_widget.py | 2 ++ 2 files changed, 4 insertions(+) diff --git a/client/ayon_core/tools/loader/ui/folders_widget.py b/client/ayon_core/tools/loader/ui/folders_widget.py index 7b146456da..efd041937d 100644 --- a/client/ayon_core/tools/loader/ui/folders_widget.py +++ b/client/ayon_core/tools/loader/ui/folders_widget.py @@ -321,6 +321,8 @@ class LoaderFoldersWidget(QtWidgets.QWidget): """ self._folders_proxy_model.setFilterFixedString(name) + if name: + self._folders_view.expandAll() def set_merged_products_selection(self, items): """ diff --git a/client/ayon_core/tools/utils/folders_widget.py b/client/ayon_core/tools/utils/folders_widget.py index 2ad640de37..6aae68bf8a 100644 --- a/client/ayon_core/tools/utils/folders_widget.py +++ b/client/ayon_core/tools/utils/folders_widget.py @@ -370,6 +370,8 @@ class FoldersWidget(QtWidgets.QWidget): """ self._folders_proxy_model.setFilterFixedString(name) + if name: + self._folders_view.expandAll() def refresh(self): """Refresh folders model. From fa158d3f4633dc0f7d336f55110eecb142b295d7 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 3 Jun 2024 23:07:57 +0200 Subject: [PATCH 102/124] Expand tooltip --- .../plugins/workfile_build/assign_look_placeholder.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py b/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py index 8c888a1a1f..572c567d04 100644 --- a/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py +++ b/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py @@ -60,7 +60,10 @@ class AssignLookPlaceholderPlugin(MayaPlaceholderPlugin): "recurse", label="Recursive", tooltip="Assign look also to potential sub containers / " - "placeholders loaded from the load placeholder.", + "placeholders loaded from the load placeholder.\n" + "This will make sure that any placeholder contained " + "that itself loaded new geometry will recursively " + "also get the look assignment triggered.", default=options.get("recurse", False) ), ] From 76b9655a64ee06c1d34286b9ce210dcec9188dea Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Mon, 3 Jun 2024 23:09:22 +0200 Subject: [PATCH 103/124] Refactor imports --- .../plugins/workfile_build/assign_look_placeholder.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py b/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py index 572c567d04..aaecdd78b9 100644 --- a/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py +++ b/server_addon/maya/client/ayon_maya/plugins/workfile_build/assign_look_placeholder.py @@ -7,10 +7,8 @@ from ayon_core.lib import ( BoolDef ) from ayon_core.lib.events import weakref_partial -from ayon_core.hosts.maya.api.workfile_template_builder import ( - MayaPlaceholderPlugin, -) -from ayon_core.hosts.maya.api.lib import ( +from ayon_maya.api.workfile_template_builder import MayaPlaceholderPlugin +from ayon_maya.api.lib import ( get_all_children, assign_look, ) From c2b35e21416e092dd8d1768a6e04ca9133c95a94 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Tue, 4 Jun 2024 12:40:30 +0800 Subject: [PATCH 104/124] code tweaks - big roy's comment --- client/ayon_core/pipeline/context_tools.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index a42c509125..1649c927f7 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -592,6 +592,10 @@ def version_up_current_workfile(): """Function to increment and save workfile """ host = registered_host() + if not host.has_unsaved_changes(): + print("No unsaved changes, skipping file save..") + return + project_name = get_current_project_name() folder_path = get_current_folder_path() task_name = get_current_task_name() @@ -614,11 +618,14 @@ def version_up_current_workfile(): # Define saving file extension extensions = host.get_workfile_extensions() + current_file = host.get_current_workfile() + if current_file: + extensions = [os.path.splitext(current_file)[-1]] work_root = work_template["directory"].format_strict(data) file_template = work_template["file"].template last_workfile_path = get_last_workfile( work_root, file_template, data, extensions, True ) - current_workfile_path = version_up(last_workfile_path) - host.save_workfile(current_workfile_path) + new_workfile_path = version_up(last_workfile_path) + host.save_workfile(new_workfile_path) From fc2b830522d3ecb8595699f35d11f7f585defefe Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Tue, 4 Jun 2024 12:44:47 +0800 Subject: [PATCH 105/124] bump maya addon version --- server_addon/maya/package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/maya/package.py b/server_addon/maya/package.py index 274f74869b..0331fb2fb6 100644 --- a/server_addon/maya/package.py +++ b/server_addon/maya/package.py @@ -1,6 +1,6 @@ name = "maya" title = "Maya" -version = "0.2.0" +version = "0.2.1" ayon_required_addons = { "core": ">0.3.2", From 213742c877e1ea57755591d9fbf9e6028891f1c8 Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Tue, 4 Jun 2024 14:55:48 +0200 Subject: [PATCH 106/124] fixing missing families in loader plugin procedure merging https://github.com/ynput/ayon-core/pull/589 --- server_addon/hiero/client/ayon_hiero/api/plugin.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server_addon/hiero/client/ayon_hiero/api/plugin.py b/server_addon/hiero/client/ayon_hiero/api/plugin.py index b9f42a88e0..16eb1d55f3 100644 --- a/server_addon/hiero/client/ayon_hiero/api/plugin.py +++ b/server_addon/hiero/client/ayon_hiero/api/plugin.py @@ -550,7 +550,8 @@ class ClipLoader: log.debug("__ self.timeline_out: {}".format(self.timeline_out)) # check if slate is included - slate_on = "slate" in self.context["version"]["data"]["families"] + slate_on = "slate" in self.context["version"]["data"].get( + "families", []) log.debug("__ slate_on: {}".format(slate_on)) # if slate is on then remove the slate frame from beginning From f83ee81ba046af9ebe0dcce45d0cf91d159f85a5 Mon Sep 17 00:00:00 2001 From: Kayla Man <64118225+moonyuet@users.noreply.github.com> Date: Tue, 4 Jun 2024 22:27:19 +0800 Subject: [PATCH 107/124] Update client/ayon_core/version.py Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- client/ayon_core/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/version.py b/client/ayon_core/version.py index efcd78cd11..e4297e2000 100644 --- a/client/ayon_core/version.py +++ b/client/ayon_core/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- """Package declaring AYON core addon version.""" -__version__ = "0.3.4-dev.1" +__version__ = "0.3.3-dev.1" From 3e86be2783efc3acd32997f8f2b52817b83235ef Mon Sep 17 00:00:00 2001 From: Jakub Jezek Date: Wed, 5 Jun 2024 12:48:37 +0200 Subject: [PATCH 108/124] Refactor loop to handle empty sequence case Adjusted loop to handle empty current sequence by appending an empty list if no tracks are present. --- server_addon/hiero/client/ayon_hiero/api/pipeline.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/hiero/client/ayon_hiero/api/pipeline.py b/server_addon/hiero/client/ayon_hiero/api/pipeline.py index 58045c4331..d14d255a87 100644 --- a/server_addon/hiero/client/ayon_hiero/api/pipeline.py +++ b/server_addon/hiero/client/ayon_hiero/api/pipeline.py @@ -130,7 +130,7 @@ def ls(): all_items = lib.get_track_items() # append all video tracks - for track in lib.get_current_sequence(): + for track in (lib.get_current_sequence() or []): if type(track) != hiero.core.VideoTrack: continue all_items.append(track) From 48367f2638ebb714d7e187ce71f33a97e8cf01c8 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 13:47:22 +0200 Subject: [PATCH 109/124] fix circular import --- client/ayon_core/modules/webserver/__init__.py | 2 ++ .../modules/webserver/host_console_listener.py | 18 +++++++----------- .../ayon_core/modules/webserver/structures.py | 6 ++++++ client/ayon_core/tools/stdout_broker/broker.py | 10 +++++----- 4 files changed, 20 insertions(+), 16 deletions(-) create mode 100644 client/ayon_core/modules/webserver/structures.py diff --git a/client/ayon_core/modules/webserver/__init__.py b/client/ayon_core/modules/webserver/__init__.py index a978b94bc4..32f2c55f65 100644 --- a/client/ayon_core/modules/webserver/__init__.py +++ b/client/ayon_core/modules/webserver/__init__.py @@ -1,4 +1,5 @@ from .version import __version__ +from .structures import HostMsgAction from .webserver_module import ( WebServerAddon ) @@ -7,5 +8,6 @@ from .webserver_module import ( __all__ = ( "__version__", + "HostMsgAction", "WebServerAddon", ) diff --git a/client/ayon_core/modules/webserver/host_console_listener.py b/client/ayon_core/modules/webserver/host_console_listener.py index ed8a32b9f2..2efd768e24 100644 --- a/client/ayon_core/modules/webserver/host_console_listener.py +++ b/client/ayon_core/modules/webserver/host_console_listener.py @@ -9,22 +9,18 @@ from qtpy import QtWidgets from ayon_core.addon import ITrayService from ayon_core.tools.stdout_broker.window import ConsoleDialog +from .structures import HostMsgAction + log = logging.getLogger(__name__) +# Host listener icon type class IconType: IDLE = "idle" RUNNING = "running" FAILED = "failed" -class MsgAction: - CONNECTING = "connecting" - INITIALIZED = "initialized" - ADD = "add" - CLOSE = "close" - - class HostListener: def __init__(self, webserver, module): self._window_per_id = {} @@ -96,22 +92,22 @@ class HostListener: if msg.type == aiohttp.WSMsgType.TEXT: host_name, action, text = self._parse_message(msg) - if action == MsgAction.CONNECTING: + if action == HostMsgAction.CONNECTING: self._action_per_id[host_name] = None # must be sent to main thread, or action wont trigger self.module.execute_in_main_thread( lambda: self._host_is_connecting(host_name, text)) - elif action == MsgAction.CLOSE: + elif action == HostMsgAction.CLOSE: # clean close self._close(host_name) await ws.close() - elif action == MsgAction.INITIALIZED: + elif action == HostMsgAction.INITIALIZED: self.module.execute_in_main_thread( # must be queued as _host_is_connecting might not # be triggered/finished yet lambda: self._set_host_icon(host_name, IconType.RUNNING)) - elif action == MsgAction.ADD: + elif action == HostMsgAction.ADD: self.module.execute_in_main_thread( lambda: self._add_text(host_name, text)) elif msg.type == aiohttp.WSMsgType.ERROR: diff --git a/client/ayon_core/modules/webserver/structures.py b/client/ayon_core/modules/webserver/structures.py new file mode 100644 index 0000000000..a598e3342a --- /dev/null +++ b/client/ayon_core/modules/webserver/structures.py @@ -0,0 +1,6 @@ +# Host listener message actions +class HostMsgAction: + CONNECTING = "connecting" + INITIALIZED = "initialized" + ADD = "add" + CLOSE = "close" diff --git a/client/ayon_core/tools/stdout_broker/broker.py b/client/ayon_core/tools/stdout_broker/broker.py index e31eb0057e..291936008b 100644 --- a/client/ayon_core/tools/stdout_broker/broker.py +++ b/client/ayon_core/tools/stdout_broker/broker.py @@ -8,7 +8,7 @@ from datetime import datetime import websocket from ayon_core.lib import Logger -from ayon_core.modules.webserver.host_console_listener import MsgAction +from ayon_core.modules.webserver import HostMsgAction log = Logger.get_logger(__name__) @@ -65,7 +65,7 @@ class StdOutBroker: payload = { "host": self.host_id, - "action": MsgAction.INITIALIZED, + "action": HostMsgAction.INITIALIZED, "text": "Integration with {}".format( str.capitalize(self.host_name)) } @@ -99,7 +99,7 @@ class StdOutBroker: payload = { "host": self.host_id, - "action": MsgAction.CONNECTING, + "action": HostMsgAction.CONNECTING, "text": "Integration with {}".format( str.capitalize(self.host_name)) } @@ -113,7 +113,7 @@ class StdOutBroker: payload = { "host": self.host_id, - "action": MsgAction.CLOSE, + "action": HostMsgAction.CLOSE, "text": "Integration with {}".format( str.capitalize(self.host_name)) } @@ -157,7 +157,7 @@ class StdOutBroker: if lines: payload = { "host": self.host_id, - "action": MsgAction.ADD, + "action": HostMsgAction.ADD, "text": "\n".join(lines) } From 93dd3f2ba421dbcfd1d98fd524170e4411cc19e8 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 5 Jun 2024 21:01:58 +0800 Subject: [PATCH 110/124] menu named AYON menu and add condition check on workfile path save so that workfile is not overwritten --- client/ayon_core/pipeline/context_tools.py | 2 ++ server/settings/tools.py | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index 1649c927f7..8b72405048 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -628,4 +628,6 @@ def version_up_current_workfile(): work_root, file_template, data, extensions, True ) new_workfile_path = version_up(last_workfile_path) + if os.path.exists(new_workfile_path): + new_workfile_path = version_up(new_workfile_path) host.save_workfile(new_workfile_path) diff --git a/server/settings/tools.py b/server/settings/tools.py index 368543dbda..1d32169954 100644 --- a/server/settings/tools.py +++ b/server/settings/tools.py @@ -279,7 +279,7 @@ class PublishToolModel(BaseSettingsModel): class GlobalToolsModel(BaseSettingsModel): ayon_menu: AYONMenuModel = SettingsField( default_factory=AYONMenuModel, - title="Tools" + title="AYON Menu" ) creator: CreatorToolModel = SettingsField( default_factory=CreatorToolModel, From e4ea0ab94e2ea768bed0216c5e52bc8e9886c607 Mon Sep 17 00:00:00 2001 From: Kayla Man <64118225+moonyuet@users.noreply.github.com> Date: Wed, 5 Jun 2024 22:13:14 +0800 Subject: [PATCH 111/124] Update package.py Co-authored-by: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> --- package.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.py b/package.py index cea2d84484..73f7174b6f 100644 --- a/package.py +++ b/package.py @@ -1,6 +1,6 @@ name = "core" title = "Core" -version = "0.3.4-dev.1" +version = "0.3.3-dev.1" client_dir = "ayon_core" From 869d3365195c69dc06b1c2ab2b1b7de6ff0e443a Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 5 Jun 2024 22:14:39 +0800 Subject: [PATCH 112/124] code tweaks - big roy's comment --- client/ayon_core/pipeline/context_tools.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index 8b72405048..ab44dd014e 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -624,10 +624,9 @@ def version_up_current_workfile(): work_root = work_template["directory"].format_strict(data) file_template = work_template["file"].template - last_workfile_path = get_last_workfile( + workfile_path = get_last_workfile( work_root, file_template, data, extensions, True ) - new_workfile_path = version_up(last_workfile_path) - if os.path.exists(new_workfile_path): - new_workfile_path = version_up(new_workfile_path) - host.save_workfile(new_workfile_path) + if os.path.exists(workfile_path): + workfile_path = version_up(workfile_path) + host.save_workfile(workfile_path) From 5310fd734106c582ab9968eb8578cfbc923a17d2 Mon Sep 17 00:00:00 2001 From: Kayla Man Date: Wed, 5 Jun 2024 22:44:16 +0800 Subject: [PATCH 113/124] add the condition back --- client/ayon_core/pipeline/context_tools.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/client/ayon_core/pipeline/context_tools.py b/client/ayon_core/pipeline/context_tools.py index ab44dd014e..8b72405048 100644 --- a/client/ayon_core/pipeline/context_tools.py +++ b/client/ayon_core/pipeline/context_tools.py @@ -624,9 +624,10 @@ def version_up_current_workfile(): work_root = work_template["directory"].format_strict(data) file_template = work_template["file"].template - workfile_path = get_last_workfile( + last_workfile_path = get_last_workfile( work_root, file_template, data, extensions, True ) - if os.path.exists(workfile_path): - workfile_path = version_up(workfile_path) - host.save_workfile(workfile_path) + new_workfile_path = version_up(last_workfile_path) + if os.path.exists(new_workfile_path): + new_workfile_path = version_up(new_workfile_path) + host.save_workfile(new_workfile_path) From 8f17ebe99e46bd3897773f2ae21828b569f761d6 Mon Sep 17 00:00:00 2001 From: Roy Nieterau Date: Wed, 5 Jun 2024 17:55:08 +0200 Subject: [PATCH 114/124] Nice and shiny settings title for `Validate Outdated Containers` --- server/settings/publish_plugins.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/settings/publish_plugins.py b/server/settings/publish_plugins.py index 2640a3db37..4191cccb7b 100644 --- a/server/settings/publish_plugins.py +++ b/server/settings/publish_plugins.py @@ -798,7 +798,7 @@ class PublishPuginsModel(BaseSettingsModel): ) ValidateOutdatedContainers: PluginStateByHostModel = SettingsField( default_factory=PluginStateByHostModel, - title="Validate Containers" + title="Validate Outdated Containers" ) ValidateIntent: ValidateIntentModel = SettingsField( default_factory=ValidateIntentModel, From 8b1819698050b7c30fff8af7deefeb94f24f9c0d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:08:18 +0200 Subject: [PATCH 115/124] wrap 'get_containers' to try except --- client/ayon_core/tools/loader/control.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/client/ayon_core/tools/loader/control.py b/client/ayon_core/tools/loader/control.py index 35188369c2..9eb6fa1301 100644 --- a/client/ayon_core/tools/loader/control.py +++ b/client/ayon_core/tools/loader/control.py @@ -348,10 +348,18 @@ class LoaderController(BackendLoaderController, FrontendLoaderController): return set() if not self._loaded_products_cache.is_valid: - if isinstance(self._host, ILoadHost): - containers = self._host.get_containers() - else: - containers = self._host.ls() + try: + if isinstance(self._host, ILoadHost): + containers = self._host.get_containers() + else: + containers = self._host.ls() + + except BaseException: + self.log.error( + "Falied to collect loaded products.", exc_info=True + ) + containers = [] + repre_ids = set() for container in containers: repre_id = container.get("representation") From fbec72af402ba96908383cbd642702737b7133cc Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:22:13 +0200 Subject: [PATCH 116/124] moved royal integration next to server codebase --- .../client/ayon_royalrender}/__init__.py | 0 .../royalrender/client/ayon_royalrender}/addon.py | 0 .../royalrender/client/ayon_royalrender}/api.py | 0 .../royalrender/client/ayon_royalrender}/lib.py | 0 .../publish/collect_rr_path_from_instance.py | 0 .../plugins/publish/collect_sequences_from_job.py | 0 .../plugins/publish/create_maya_royalrender_job.py | 0 .../plugins/publish/create_nuke_royalrender_job.py | 0 .../publish/create_publish_royalrender_job.py | 0 .../plugins/publish/submit_jobs_to_royalrender.py | 0 .../royalrender/client/ayon_royalrender}/rr_job.py | 0 .../client/ayon_royalrender}/rr_root/README.md | 0 .../perjob/m50__openpype_publish_render.py | 0 .../rr_root/render_apps/_config/E01__OpenPype.png | Bin .../_config/E01__OpenPype__PublishJob.cfg | 0 .../render_apps/_config/E01__OpenPype___global.inc | 0 .../rr_root/render_apps/_install_paths/OpenPype.cfg | 0 .../_prepost_scripts/OpenPypeEnvironment.cfg | 0 .../PreOpenPypeInjectEnvironments.py | 0 .../royalrender/client/ayon_royalrender}/version.py | 0 20 files changed, 0 insertions(+), 0 deletions(-) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/__init__.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/addon.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/api.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/lib.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/collect_rr_path_from_instance.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/collect_sequences_from_job.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/create_maya_royalrender_job.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/create_nuke_royalrender_job.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/create_publish_royalrender_job.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/plugins/publish/submit_jobs_to_royalrender.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_job.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/README.md (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_config/E01__OpenPype.png (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_config/E01__OpenPype__PublishJob.cfg (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_config/E01__OpenPype___global.inc (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_install_paths/OpenPype.cfg (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_prepost_scripts/OpenPypeEnvironment.cfg (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/rr_root/render_apps/_prepost_scripts/PreOpenPypeInjectEnvironments.py (100%) rename {client/ayon_core/modules/royalrender => server_addon/royalrender/client/ayon_royalrender}/version.py (100%) diff --git a/client/ayon_core/modules/royalrender/__init__.py b/server_addon/royalrender/client/ayon_royalrender/__init__.py similarity index 100% rename from client/ayon_core/modules/royalrender/__init__.py rename to server_addon/royalrender/client/ayon_royalrender/__init__.py diff --git a/client/ayon_core/modules/royalrender/addon.py b/server_addon/royalrender/client/ayon_royalrender/addon.py similarity index 100% rename from client/ayon_core/modules/royalrender/addon.py rename to server_addon/royalrender/client/ayon_royalrender/addon.py diff --git a/client/ayon_core/modules/royalrender/api.py b/server_addon/royalrender/client/ayon_royalrender/api.py similarity index 100% rename from client/ayon_core/modules/royalrender/api.py rename to server_addon/royalrender/client/ayon_royalrender/api.py diff --git a/client/ayon_core/modules/royalrender/lib.py b/server_addon/royalrender/client/ayon_royalrender/lib.py similarity index 100% rename from client/ayon_core/modules/royalrender/lib.py rename to server_addon/royalrender/client/ayon_royalrender/lib.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/collect_rr_path_from_instance.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/collect_rr_path_from_instance.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/collect_sequences_from_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_sequences_from_job.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/collect_sequences_from_job.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_sequences_from_job.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/create_maya_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/create_maya_royalrender_job.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/create_nuke_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/create_nuke_royalrender_job.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/create_publish_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/create_publish_royalrender_job.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py diff --git a/client/ayon_core/modules/royalrender/plugins/publish/submit_jobs_to_royalrender.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py similarity index 100% rename from client/ayon_core/modules/royalrender/plugins/publish/submit_jobs_to_royalrender.py rename to server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py diff --git a/client/ayon_core/modules/royalrender/rr_job.py b/server_addon/royalrender/client/ayon_royalrender/rr_job.py similarity index 100% rename from client/ayon_core/modules/royalrender/rr_job.py rename to server_addon/royalrender/client/ayon_royalrender/rr_job.py diff --git a/client/ayon_core/modules/royalrender/rr_root/README.md b/server_addon/royalrender/client/ayon_royalrender/rr_root/README.md similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/README.md rename to server_addon/royalrender/client/ayon_royalrender/rr_root/README.md diff --git a/client/ayon_core/modules/royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py b/server_addon/royalrender/client/ayon_royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py rename to server_addon/royalrender/client/ayon_royalrender/rr_root/plugins/control_job/perjob/m50__openpype_publish_render.py diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype.png b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype.png similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype.png rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype.png diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype__PublishJob.cfg b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype__PublishJob.cfg similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype__PublishJob.cfg rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype__PublishJob.cfg diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype___global.inc b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype___global.inc similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_config/E01__OpenPype___global.inc rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_config/E01__OpenPype___global.inc diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_install_paths/OpenPype.cfg b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_install_paths/OpenPype.cfg similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_install_paths/OpenPype.cfg rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_install_paths/OpenPype.cfg diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_prepost_scripts/OpenPypeEnvironment.cfg b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_prepost_scripts/OpenPypeEnvironment.cfg similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_prepost_scripts/OpenPypeEnvironment.cfg rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_prepost_scripts/OpenPypeEnvironment.cfg diff --git a/client/ayon_core/modules/royalrender/rr_root/render_apps/_prepost_scripts/PreOpenPypeInjectEnvironments.py b/server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_prepost_scripts/PreOpenPypeInjectEnvironments.py similarity index 100% rename from client/ayon_core/modules/royalrender/rr_root/render_apps/_prepost_scripts/PreOpenPypeInjectEnvironments.py rename to server_addon/royalrender/client/ayon_royalrender/rr_root/render_apps/_prepost_scripts/PreOpenPypeInjectEnvironments.py diff --git a/client/ayon_core/modules/royalrender/version.py b/server_addon/royalrender/client/ayon_royalrender/version.py similarity index 100% rename from client/ayon_core/modules/royalrender/version.py rename to server_addon/royalrender/client/ayon_royalrender/version.py From 9e18a1d533fc18cac9f3014059982d6904bdb7c1 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:22:40 +0200 Subject: [PATCH 117/124] fixed imports --- server_addon/royalrender/client/ayon_royalrender/lib.py | 4 ++-- .../plugins/publish/collect_rr_path_from_instance.py | 2 +- .../plugins/publish/create_maya_royalrender_job.py | 2 +- .../plugins/publish/create_nuke_royalrender_job.py | 2 +- .../plugins/publish/create_publish_royalrender_job.py | 2 +- .../plugins/publish/submit_jobs_to_royalrender.py | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/server_addon/royalrender/client/ayon_royalrender/lib.py b/server_addon/royalrender/client/ayon_royalrender/lib.py index 82bc96e759..ec67cfa29e 100644 --- a/server_addon/royalrender/client/ayon_royalrender/lib.py +++ b/server_addon/royalrender/client/ayon_royalrender/lib.py @@ -16,8 +16,8 @@ from ayon_core.lib import ( is_in_tests, ) from ayon_core.lib.execute import run_ayon_launcher_process -from ayon_core.modules.royalrender.api import Api as rrApi -from ayon_core.modules.royalrender.rr_job import ( +from ayon_royalrender.api import Api as rrApi +from ayon_royalrender.rr_job import ( CustomAttribute, RRJob, RREnvList, diff --git a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py index 7fad573a8b..e3c3ddc74b 100644 --- a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py +++ b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/collect_rr_path_from_instance.py @@ -8,7 +8,7 @@ Provides: import os.path import pyblish.api -from ayon_core.modules.royalrender.rr_job import get_rr_platform +from ayon_royalrender.rr_job import get_rr_platform class CollectRRPathFromInstance(pyblish.api.InstancePlugin): diff --git a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py index d205b32b7d..4e52e8e24b 100644 --- a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py +++ b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_maya_royalrender_job.py @@ -4,7 +4,7 @@ import os from maya.OpenMaya import MGlobal # noqa: F401 -from ayon_core.modules.royalrender import lib +from ayon_royalrender import lib from ayon_core.pipeline.farm.tools import iter_expected_files diff --git a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py index 9a3bf3624b..442485d211 100644 --- a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py +++ b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_nuke_royalrender_job.py @@ -2,7 +2,7 @@ """Submitting render job to RoyalRender.""" import re -from ayon_core.modules.royalrender import lib +from ayon_royalrender import lib class CreateNukeRoyalRenderJob(lib.BaseCreateRoyalRenderJob): diff --git a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py index 51500f84f5..0bc092ecd8 100644 --- a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py +++ b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/create_publish_royalrender_job.py @@ -6,7 +6,7 @@ import json import pyblish.api -from ayon_core.modules.royalrender.rr_job import ( +from ayon_royalrender.rr_job import ( RRJob, RREnvList, get_rr_platform diff --git a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py index 09c1dc4a54..72a27dab2d 100644 --- a/server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py +++ b/server_addon/royalrender/client/ayon_royalrender/plugins/publish/submit_jobs_to_royalrender.py @@ -3,7 +3,7 @@ import tempfile import pyblish.api -from ayon_core.modules.royalrender.api import ( +from ayon_royalrender.api import ( RRJob, Api as rrApi, SubmitterParameter From 20b451c44921158af229c1269932d33815f648b9 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:22:50 +0200 Subject: [PATCH 118/124] bumped version --- server_addon/royalrender/client/ayon_royalrender/version.py | 4 +++- server_addon/royalrender/package.py | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/server_addon/royalrender/client/ayon_royalrender/version.py b/server_addon/royalrender/client/ayon_royalrender/version.py index 485f44ac21..4528939205 100644 --- a/server_addon/royalrender/client/ayon_royalrender/version.py +++ b/server_addon/royalrender/client/ayon_royalrender/version.py @@ -1 +1,3 @@ -__version__ = "0.1.1" +# -*- coding: utf-8 -*- +"""Package declaring AYON addon 'royalrender' version.""" +__version__ = "0.2.0" diff --git a/server_addon/royalrender/package.py b/server_addon/royalrender/package.py index 1fdea4abbb..49199a2386 100644 --- a/server_addon/royalrender/package.py +++ b/server_addon/royalrender/package.py @@ -1,3 +1,3 @@ name = "royalrender" title = "Royal Render" -version = "0.1.1" +version = "0.2.0" From b44ed889b96bd85532c4e202814352f59833ef6d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:23:01 +0200 Subject: [PATCH 119/124] define client dir and added core dependency --- server_addon/royalrender/package.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server_addon/royalrender/package.py b/server_addon/royalrender/package.py index 49199a2386..2a07b59f65 100644 --- a/server_addon/royalrender/package.py +++ b/server_addon/royalrender/package.py @@ -1,3 +1,10 @@ name = "royalrender" title = "Royal Render" version = "0.2.0" + +client_dir = "ayon_royalrender" + +ayon_required_addons = { + "core": ">0.3.2", +} +ayon_compatible_addons = {} From 4ec65f4cf6b3ef1386bc3f939e817792765990c2 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 18:23:38 +0200 Subject: [PATCH 120/124] define royalrender milestone --- client/ayon_core/addon/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/client/ayon_core/addon/base.py b/client/ayon_core/addon/base.py index 77bf8ff4f6..a257c83b09 100644 --- a/client/ayon_core/addon/base.py +++ b/client/ayon_core/addon/base.py @@ -64,6 +64,7 @@ MOVED_ADDON_MILESTONE_VERSIONS = { "maya": VersionInfo(0, 2, 0), "nuke": VersionInfo(0, 2, 0), "resolve": VersionInfo(0, 2, 0), + "royalrender": VersionInfo(0, 2, 0), "substancepainter": VersionInfo(0, 2, 0), "houdini": VersionInfo(0, 3, 0), } From 84cac2a1468ba7db9755d52c969f1c1c247a356d Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 19:15:34 +0200 Subject: [PATCH 121/124] create/copy files only if needed --- server_addon/create_ayon_addons.py | 196 ++++++++++++++--------------- 1 file changed, 95 insertions(+), 101 deletions(-) diff --git a/server_addon/create_ayon_addons.py b/server_addon/create_ayon_addons.py index 749077d2a8..ac053c8e09 100644 --- a/server_addon/create_ayon_addons.py +++ b/server_addon/create_ayon_addons.py @@ -1,3 +1,4 @@ +import io import os import sys import re @@ -9,7 +10,7 @@ import importlib.machinery import platform import collections from pathlib import Path -from typing import Any, Optional, Iterable, Pattern, List, Tuple +from typing import Optional, Iterable, Pattern, List, Tuple # Patterns of directories to be skipped for server part of addon IGNORE_DIR_PATTERNS: List[Pattern] = [ @@ -70,9 +71,7 @@ class ZipFileLongPaths(zipfile.ZipFile): else: tpath = "\\\\?\\" + tpath - return super(ZipFileLongPaths, self)._extract_member( - member, tpath, pwd - ) + return super()._extract_member(member, tpath, pwd) def _value_match_regexes(value: str, regexes: Iterable[Pattern]) -> bool: @@ -86,7 +85,7 @@ def find_files_in_subdir( src_path: str, ignore_file_patterns: Optional[List[Pattern]] = None, ignore_dir_patterns: Optional[List[Pattern]] = None, - ignore_subdirs: Optional[Iterable[Tuple[str]]] = None + include_empty_dirs: bool = True ): """Find all files to copy in subdirectories of given path. @@ -100,8 +99,7 @@ def find_files_in_subdir( to match files to ignore. ignore_dir_patterns (Optional[List[Pattern]]): List of regexes to match directories to ignore. - ignore_subdirs (Optional[Iterable[Tuple[str]]]): List of - subdirectories to ignore. + include_empty_dirs (Optional[bool]): Do not skip empty directories. Returns: List[Tuple[str, str]]: List of tuples with path to file and parent @@ -113,16 +111,18 @@ def find_files_in_subdir( if ignore_dir_patterns is None: ignore_dir_patterns = IGNORE_DIR_PATTERNS - output: list[tuple[str, str]] = [] + output: List[Tuple[str, str]] = [] hierarchy_queue = collections.deque() hierarchy_queue.append((src_path, [])) while hierarchy_queue: - item: tuple[str, str] = hierarchy_queue.popleft() + item: Tuple[str, List[str]] = hierarchy_queue.popleft() dirpath, parents = item - if ignore_subdirs and parents in ignore_subdirs: - continue - for name in os.listdir(dirpath): + subnames = list(os.listdir(dirpath)) + if not subnames and include_empty_dirs: + output.append((dirpath, os.path.sep.join(parents))) + + for name in subnames: path = os.path.join(dirpath, name) if os.path.isfile(path): if not _value_match_regexes(name, ignore_file_patterns): @@ -139,89 +139,54 @@ def find_files_in_subdir( return output -def read_addon_version(version_path: Path) -> str: - # Read version - version_content: dict[str, Any] = {} - with open(str(version_path), "r") as stream: - exec(stream.read(), version_content) - return version_content["__version__"] - - -def get_addon_version(addon_dir: Path) -> str: - return read_addon_version(addon_dir / "server" / "version.py") - - def create_addon_zip( output_dir: Path, addon_name: str, addon_version: str, - keep_source: bool, + files_mapping: List[Tuple[str, str]], + client_zip_content: io.BytesIO ): zip_filepath = output_dir / f"{addon_name}-{addon_version}.zip" - addon_output_dir = output_dir / addon_name / addon_version with ZipFileLongPaths(zip_filepath, "w", zipfile.ZIP_DEFLATED) as zipf: - # Add client code content to zip - src_root = os.path.normpath(str(addon_output_dir.absolute())) - src_root_offset = len(src_root) + 1 - for root, _, filenames in os.walk(str(addon_output_dir)): - rel_root = "" - if root != src_root: - rel_root = root[src_root_offset:] + for src_path, dst_subpath in files_mapping: + zipf.write(src_path, dst_subpath) - for filename in filenames: - src_path = os.path.join(root, filename) - if rel_root: - dst_path = os.path.join(rel_root, filename) - else: - dst_path = filename - - zipf.write(src_path, dst_path) - - if not keep_source: - shutil.rmtree(str(output_dir / addon_name)) + if client_zip_content is not None: + zipf.writestr("private/client.zip", client_zip_content.getvalue()) -def prepare_client_code( - addon_name: str, +def prepare_client_zip( addon_dir: Path, - addon_output_dir: Path, - addon_version: str + addon_name: str, + addon_version: str, + client_dir: str ): - client_dir = addon_dir / "client" - if not client_dir.exists(): - return + if not client_dir: + return None + client_dir_obj = addon_dir / "client" / client_dir + if not client_dir_obj.exists(): + return None - # Prepare private dir in output - private_dir = addon_output_dir / "private" - private_dir.mkdir(parents=True, exist_ok=True) + # Update version.py with server version if 'version.py' is available + version_path = client_dir_obj / "version.py" + if version_path.exists(): + with open(version_path, "w") as stream: + stream.write( + CLIENT_VERSION_CONTENT.format(addon_name, addon_version) + ) - # Copy pyproject toml if available - pyproject_toml = client_dir / "pyproject.toml" - if pyproject_toml.exists(): - shutil.copy(pyproject_toml, private_dir) + zip_content = io.BytesIO() + with ZipFileLongPaths(zip_content, "a", zipfile.ZIP_DEFLATED) as zipf: + # Add client code content to zip + for path, sub_path in find_files_in_subdir( + str(client_dir_obj), include_empty_dirs=False + ): + sub_path = os.path.join(client_dir, sub_path) + zipf.write(path, sub_path) - for subpath in client_dir.iterdir(): - if subpath.name == "pyproject.toml": - continue - - if subpath.is_file(): - continue - - # Update version.py with server version if 'version.py' is available - version_path = subpath / "version.py" - if version_path.exists(): - with open(version_path, "w") as stream: - stream.write( - CLIENT_VERSION_CONTENT.format(addon_name, addon_version) - ) - - zip_filepath = private_dir / "client.zip" - with ZipFileLongPaths(zip_filepath, "w", zipfile.ZIP_DEFLATED) as zipf: - # Add client code content to zip - for path, sub_path in find_files_in_subdir(str(subpath)): - sub_path = os.path.join(subpath.name, sub_path) - zipf.write(path, sub_path) + zip_content.seek(0) + return zip_content def import_filepath(path: Path, module_name: Optional[str] = None): @@ -241,44 +206,73 @@ def import_filepath(path: Path, module_name: Optional[str] = None): return module +def _get_server_mapping( + addon_dir: Path, addon_version: str +) -> List[Tuple[str, str]]: + server_dir = addon_dir / "server" + src_package_py = addon_dir / "package.py" + pyproject_toml = addon_dir / "client" / "pyproject.toml" + + mapping: List[Tuple[str, str]] = [ + (src_path, f"server/{sub_path}") + for src_path, sub_path in find_files_in_subdir(str(server_dir)) + ] + mapping.append((src_package_py.as_posix(), "package.py")) + if pyproject_toml.exists(): + mapping.append((pyproject_toml.as_posix(), "private/pyproject.toml")) + + return mapping + + def create_addon_package( addon_dir: Path, output_dir: Path, create_zip: bool, - keep_source: bool, ): src_package_py = addon_dir / "package.py" + package = import_filepath(src_package_py) + addon_name = package.name addon_version = package.version - addon_output_dir = output_dir / addon_dir.name / addon_version - if addon_output_dir.exists(): - shutil.rmtree(str(addon_output_dir)) - addon_output_dir.mkdir(parents=True) + files_mapping = _get_server_mapping(addon_dir, addon_version) - # Copy server content - dst_package_py = addon_output_dir / "package.py" - shutil.copy(src_package_py, dst_package_py) - - server_dir = addon_dir / "server" - shutil.copytree( - server_dir, addon_output_dir / "server", dirs_exist_ok=True - ) - - prepare_client_code( - package.name, addon_dir, addon_output_dir, addon_version + client_dir = getattr(package, "client_dir", None) + client_zip_content = prepare_client_zip( + addon_dir, addon_name, addon_version, client_dir ) if create_zip: create_addon_zip( - output_dir, addon_dir.name, addon_version, keep_source + output_dir, + addon_name, + addon_version, + files_mapping, + client_zip_content ) + else: + addon_output_dir = output_dir / addon_dir.name / addon_version + if addon_output_dir.exists(): + shutil.rmtree(str(addon_output_dir)) + + addon_output_dir.mkdir(parents=True, exist_ok=True) + + for src_path, dst_subpath in files_mapping: + dst_path = addon_output_dir / dst_subpath + dst_path.parent.mkdir(parents=True, exist_ok=True) + shutil.copy2(src_path, dst_path) + + if client_zip_content is not None: + private_dir = addon_output_dir / "private" + private_dir.mkdir(parents=True, exist_ok=True) + with open(private_dir / "client.zip", "wb") as stream: + stream.write(client_zip_content.read()) + def main( output_dir=None, skip_zip=True, - keep_source=False, clear_output_dir=False, addons=None, ): @@ -313,9 +307,7 @@ def main( if not server_dir.exists(): continue - create_addon_package( - addon_dir, output_dir, create_zip, keep_source - ) + create_addon_package(addon_dir, output_dir, create_zip) print(f"- package '{addon_dir.name}' created") print(f"Package creation finished. Output directory: {output_dir}") @@ -366,10 +358,12 @@ if __name__ == "__main__": ) args = parser.parse_args(sys.argv[1:]) + if args.keep_sources: + print("Keeping sources is not supported anymore!") + main( args.output_dir, args.skip_zip, - args.keep_sources, args.clear_output_dir, args.addons, ) From 09fd532c57b851bcb8a4b3991df9bca2d35ce5fc Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Wed, 5 Jun 2024 19:15:43 +0200 Subject: [PATCH 122/124] fix version in houdini addon --- server_addon/houdini/client/ayon_houdini/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server_addon/houdini/client/ayon_houdini/version.py b/server_addon/houdini/client/ayon_houdini/version.py index a30c770e1d..1b06708904 100644 --- a/server_addon/houdini/client/ayon_houdini/version.py +++ b/server_addon/houdini/client/ayon_houdini/version.py @@ -1,3 +1,3 @@ # -*- coding: utf-8 -*- -"""Package declaring Houdini addon version.""" +"""Package declaring AYON addon 'houdini' version.""" __version__ = "0.3.0" From 42b1d5ee12bc0a90fa06e6edcface268547ef811 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 6 Jun 2024 09:36:12 +0200 Subject: [PATCH 123/124] fix typo Co-authored-by: Roy Nieterau --- client/ayon_core/tools/loader/control.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/ayon_core/tools/loader/control.py b/client/ayon_core/tools/loader/control.py index 9eb6fa1301..9fead226f0 100644 --- a/client/ayon_core/tools/loader/control.py +++ b/client/ayon_core/tools/loader/control.py @@ -356,7 +356,7 @@ class LoaderController(BackendLoaderController, FrontendLoaderController): except BaseException: self.log.error( - "Falied to collect loaded products.", exc_info=True + "Failed to collect loaded products.", exc_info=True ) containers = [] From edc798672a05af8ee55daca86fbb1b924d814f42 Mon Sep 17 00:00:00 2001 From: Jakub Trllo <43494761+iLLiCiTiT@users.noreply.github.com> Date: Thu, 6 Jun 2024 11:17:41 +0200 Subject: [PATCH 124/124] Remove duplicated line --- pyproject.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ce0cc80864..2f30778519 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -78,7 +78,6 @@ unfixable = [] dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" exclude = [ - "client/ayon_core/scripts/slates/__init__.py", "client/ayon_core/hosts/unreal/integration/*", "client/ayon_core/modules/deadline/repository/custom/plugins/CelAction/*", "client/ayon_core/modules/deadline/repository/custom/plugins/HarmonyAYON/*",