Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Commit

Permalink
Merge branch 'develop' into feature/OP-3437_CelAction-conversion-to-op3
Browse files Browse the repository at this point in the history
  • Loading branch information
jakubjezek001 committed Dec 5, 2022
2 parents 4acbb9f + ad4e504 commit 62e5e71
Show file tree
Hide file tree
Showing 117 changed files with 2,552 additions and 1,354 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,27 @@
# Changelog

## [3.14.8](https://github.com/pypeclub/OpenPype/tree/3.14.8)

[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.14.7...3.14.8)

**🚀 Enhancements**

- General: Refactored extract hierarchy plugin [\#4139](https://github.com/pypeclub/OpenPype/pull/4139)
- General: Find executable enhancement [\#4137](https://github.com/pypeclub/OpenPype/pull/4137)
- Ftrack: Reset session before instance processing [\#4129](https://github.com/pypeclub/OpenPype/pull/4129)
- Ftrack: Editorial asset sync issue [\#4126](https://github.com/pypeclub/OpenPype/pull/4126)
- Deadline: Build version resolving [\#4115](https://github.com/pypeclub/OpenPype/pull/4115)
- Houdini: New Publisher [\#3046](https://github.com/pypeclub/OpenPype/pull/3046)
- Fix: Standalone Publish Directories [\#4148](https://github.com/pypeclub/OpenPype/pull/4148)

**🐛 Bug fixes**

- Ftrack: Fix occational double parents issue [\#4153](https://github.com/pypeclub/OpenPype/pull/4153)
- General: Maketx executable issue [\#4136](https://github.com/pypeclub/OpenPype/pull/4136)
- Maya: Looks - add all connections [\#4135](https://github.com/pypeclub/OpenPype/pull/4135)
- General: Fix variable check in collect anatomy instance data [\#4117](https://github.com/pypeclub/OpenPype/pull/4117)


## [3.14.7](https://github.com/pypeclub/OpenPype/tree/3.14.7)

[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.14.6...3.14.7)
Expand Down
20 changes: 20 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,25 @@
# Changelog

## [3.14.8](https://github.com/pypeclub/OpenPype/tree/3.14.8)

[Full Changelog](https://github.com/pypeclub/OpenPype/compare/3.14.7...3.14.8)

**🚀 Enhancements**

- General: Refactored extract hierarchy plugin [\#4139](https://github.com/pypeclub/OpenPype/pull/4139)
- General: Find executable enhancement [\#4137](https://github.com/pypeclub/OpenPype/pull/4137)
- Ftrack: Reset session before instance processing [\#4129](https://github.com/pypeclub/OpenPype/pull/4129)
- Ftrack: Editorial asset sync issue [\#4126](https://github.com/pypeclub/OpenPype/pull/4126)
- Deadline: Build version resolving [\#4115](https://github.com/pypeclub/OpenPype/pull/4115)
- Houdini: New Publisher [\#3046](https://github.com/pypeclub/OpenPype/pull/3046)
- Fix: Standalone Publish Directories [\#4148](https://github.com/pypeclub/OpenPype/pull/4148)

**🐛 Bug fixes**

- Ftrack: Fix occational double parents issue [\#4153](https://github.com/pypeclub/OpenPype/pull/4153)
- General: Maketx executable issue [\#4136](https://github.com/pypeclub/OpenPype/pull/4136)
- Maya: Looks - add all connections [\#4135](https://github.com/pypeclub/OpenPype/pull/4135)
- General: Fix variable check in collect anatomy instance data [\#4117](https://github.com/pypeclub/OpenPype/pull/4117)

## [3.14.7](https://github.com/pypeclub/OpenPype/tree/3.14.7)

Expand Down
20 changes: 14 additions & 6 deletions openpype/action.py
Original file line number Diff line number Diff line change
Expand Up @@ -72,17 +72,19 @@ def get_errored_plugins_from_data(context):
return get_errored_plugins_from_context(context)


# 'RepairAction' and 'RepairContextAction' were moved to
# 'openpype.pipeline.publish' please change you imports.
# There is no "reasonable" way hot mark these classes as deprecated to show
# warning of wrong import.
# Deprecated since 3.14.* will be removed in 3.16.*
class RepairAction(pyblish.api.Action):
"""Repairs the action
To process the repairing this requires a static `repair(instance)` method
is available on the plugin.
Deprecated:
'RepairAction' and 'RepairContextAction' were moved to
'openpype.pipeline.publish' please change you imports.
There is no "reasonable" way hot mark these classes as deprecated
to show warning of wrong import. Deprecated since 3.14.* will be
removed in 3.16.*
"""
label = "Repair"
on = "failed" # This action is only available on a failed plug-in
Expand All @@ -103,13 +105,19 @@ def process(self, context, plugin):
plugin.repair(instance)


# Deprecated since 3.14.* will be removed in 3.16.*
class RepairContextAction(pyblish.api.Action):
"""Repairs the action
To process the repairing this requires a static `repair(instance)` method
is available on the plugin.
Deprecated:
'RepairAction' and 'RepairContextAction' were moved to
'openpype.pipeline.publish' please change you imports.
There is no "reasonable" way hot mark these classes as deprecated
to show warning of wrong import. Deprecated since 3.14.* will be
removed in 3.16.*
"""
label = "Repair"
on = "failed" # This action is only available on a failed plug-in
Expand Down
2 changes: 1 addition & 1 deletion openpype/host/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ def save_file(self, dst_path=None):
Remove when all usages are replaced.
"""

self.save_workfile()
self.save_workfile(dst_path)

def open_file(self, filepath):
"""Deprecated variant of 'open_workfile'.
Expand Down
72 changes: 72 additions & 0 deletions openpype/hosts/blender/plugins/publish/extract_abc_animation.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
import os

import bpy

from openpype.pipeline import publish
from openpype.hosts.blender.api import plugin


class ExtractAnimationABC(publish.Extractor):
"""Extract as ABC."""

label = "Extract Animation ABC"
hosts = ["blender"]
families = ["animation"]
optional = True

def process(self, instance):
# Define extract output file path
stagingdir = self.staging_dir(instance)
filename = f"{instance.name}.abc"
filepath = os.path.join(stagingdir, filename)

context = bpy.context

# Perform extraction
self.log.info("Performing extraction..")

plugin.deselect_all()

selected = []
asset_group = None

objects = []
for obj in instance:
if isinstance(obj, bpy.types.Collection):
for child in obj.all_objects:
objects.append(child)
for obj in objects:
children = [o for o in bpy.data.objects if o.parent == obj]
for child in children:
objects.append(child)

for obj in objects:
obj.select_set(True)
selected.append(obj)

context = plugin.create_blender_context(
active=asset_group, selected=selected)

# We export the abc
bpy.ops.wm.alembic_export(
context,
filepath=filepath,
selected=True,
flatten=False
)

plugin.deselect_all()

if "representations" not in instance.data:
instance.data["representations"] = []

representation = {
'name': 'abc',
'ext': 'abc',
'files': filename,
"stagingDir": stagingdir,
}
instance.data["representations"].append(representation)

self.log.info("Extracted instance '%s' to: %s",
instance.name, representation)
20 changes: 15 additions & 5 deletions openpype/hosts/flame/api/plugin.py
Original file line number Diff line number Diff line change
Expand Up @@ -596,18 +596,28 @@ def _convert_to_marker_data(self):
if not hero_track and self.vertical_sync:
# driving layer is set as negative match
for (_in, _out), hero_data in self.vertical_clip_match.items():
hero_data.update({"heroTrack": False})
if _in == self.clip_in and _out == self.clip_out:
"""
Since only one instance of hero clip is expected in
`self.vertical_clip_match`, this will loop only once
until none hero clip will be matched with hero clip.
`tag_hierarchy_data` will be set only once for every
clip which is not hero clip.
"""
_hero_data = deepcopy(hero_data)
_hero_data.update({"heroTrack": False})
if _in <= self.clip_in and _out >= self.clip_out:
data_subset = hero_data["subset"]
# add track index in case duplicity of names in hero data
if self.subset in data_subset:
hero_data["subset"] = self.subset + str(
_hero_data["subset"] = self.subset + str(
self.track_index)
# in case track name and subset name is the same then add
if self.subset_name == self.track_name:
hero_data["subset"] = self.subset
_hero_data["subset"] = self.subset
# assing data to return hierarchy data to tag
tag_hierarchy_data = hero_data
tag_hierarchy_data = _hero_data
break

# add data to return data dict
self.marker_data.update(tag_hierarchy_data)
Expand Down
30 changes: 3 additions & 27 deletions openpype/hosts/houdini/api/__init__.py
Original file line number Diff line number Diff line change
@@ -1,24 +1,13 @@
from .pipeline import (
install,
uninstall,

HoudiniHost,
ls,
containerise,
containerise
)

from .plugin import (
Creator,
)

from .workio import (
open_file,
save_file,
current_file,
has_unsaved_changes,
file_extensions,
work_root
)

from .lib import (
lsattr,
lsattrs,
Expand All @@ -29,30 +18,17 @@


__all__ = [
"install",
"uninstall",
"HoudiniHost",

"ls",
"containerise",

"Creator",

# Workfiles API
"open_file",
"save_file",
"current_file",
"has_unsaved_changes",
"file_extensions",
"work_root",

# Utility functions
"lsattr",
"lsattrs",
"read",

"maintained_selection"
]

# Backwards API compatibility
open = open_file
save = save_file
Loading

0 comments on commit 62e5e71

Please sign in to comment.