use explicit imports

This commit is contained in:
Jakub Trllo 2022-08-23 10:54:58 +02:00
parent bcad1ab7fd
commit 88b900bda0
13 changed files with 132 additions and 77 deletions

View file

@ -1,11 +1,15 @@
from openpype.pipeline import CreatorError
from openpype.lib import prepare_template_data
from openpype.pipeline import CreatorError
from openpype.hosts.tvpaint.api import (
plugin,
pipeline,
lib,
CommunicationWrapper
)
from openpype.hosts.tvpaint.api.lib import (
get_layers_data,
get_groups_data,
execute_george_through_file,
)
from openpype.hosts.tvpaint.api.pipeline import list_instances
class CreateRenderlayer(plugin.Creator):
@ -63,7 +67,7 @@ class CreateRenderlayer(plugin.Creator):
# Validate that communication is initialized
if CommunicationWrapper.communicator:
# Get currently selected layers
layers_data = lib.get_layers_data()
layers_data = get_layers_data()
selected_layers = [
layer
@ -81,8 +85,8 @@ class CreateRenderlayer(plugin.Creator):
def process(self):
self.log.debug("Query data from workfile.")
instances = pipeline.list_instances()
layers_data = lib.get_layers_data()
instances = list_instances()
layers_data = get_layers_data()
self.log.debug("Checking for selection groups.")
# Collect group ids from selection
@ -109,7 +113,7 @@ class CreateRenderlayer(plugin.Creator):
self.log.debug(f"Selected group id is \"{group_id}\".")
self.data["group_id"] = group_id
group_data = lib.get_groups_data()
group_data = get_groups_data()
group_name = None
for group in group_data:
if group["group_id"] == group_id:
@ -176,7 +180,7 @@ class CreateRenderlayer(plugin.Creator):
return
self.log.debug("Querying groups data from workfile.")
groups_data = lib.get_groups_data()
groups_data = get_groups_data()
self.log.debug("Changing name of the group.")
selected_group = None
@ -195,7 +199,7 @@ class CreateRenderlayer(plugin.Creator):
b=selected_group["blue"],
name=new_group_name
)
lib.execute_george_through_file(rename_script)
execute_george_through_file(rename_script)
self.log.info(
f"Name of group with index {group_id}"

View file

@ -2,10 +2,10 @@ from openpype.pipeline import CreatorError
from openpype.lib import prepare_template_data
from openpype.hosts.tvpaint.api import (
plugin,
pipeline,
lib,
CommunicationWrapper
)
from openpype.hosts.tvpaint.api.lib import get_layers_data
from openpype.hosts.tvpaint.api.pipeline import list_instances
class CreateRenderPass(plugin.Creator):
@ -54,7 +54,7 @@ class CreateRenderPass(plugin.Creator):
# Validate that communication is initialized
if CommunicationWrapper.communicator:
# Get currently selected layers
layers_data = lib.layers_data()
layers_data = get_layers_data()
selected_layers = [
layer
@ -72,8 +72,8 @@ class CreateRenderPass(plugin.Creator):
def process(self):
self.log.debug("Query data from workfile.")
instances = pipeline.list_instances()
layers_data = lib.layers_data()
instances = list_instances()
layers_data = get_layers_data()
self.log.debug("Checking selection.")
# Get all selected layers and their group ids

View file

@ -1,5 +1,6 @@
import qargparse
from openpype.hosts.tvpaint.api import lib, plugin
from openpype.hosts.tvpaint.api import plugin
from openpype.hosts.tvpaint.api.lib import execute_george_through_file
class ImportImage(plugin.Loader):
@ -79,4 +80,4 @@ class ImportImage(plugin.Loader):
layer_name,
load_options_str
)
return lib.execute_george_through_file(george_script)
return execute_george_through_file(george_script)

View file

@ -1,7 +1,21 @@
import collections
import qargparse
from openpype.pipeline import get_representation_context
from openpype.hosts.tvpaint.api import lib, pipeline, plugin
from openpype.pipeline import (
get_representation_context,
register_host,
)
from openpype.hosts.tvpaint.api import plugin
from openpype.hosts.tvpaint.api.lib import (
get_layers_data,
execute_george_through_file,
)
from openpype.hosts.tvpaint.api.pipeline import (
write_workfile_metadata,
SECTION_NAME_CONTAINERS,
containerise,
)
class LoadImage(plugin.Loader):
@ -79,10 +93,10 @@ class LoadImage(plugin.Loader):
load_options_str
)
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)
loaded_layer = None
layers = lib.layers_data()
layers = get_layers_data()
for layer in layers:
if layer["name"] == layer_name:
loaded_layer = layer
@ -95,7 +109,7 @@ class LoadImage(plugin.Loader):
layer_names = [loaded_layer["name"]]
namespace = namespace or layer_name
return pipeline.containerise(
return containerise(
name=name,
namespace=namespace,
members=layer_names,
@ -109,7 +123,7 @@ class LoadImage(plugin.Loader):
return
if layers is None:
layers = lib.layers_data()
layers = get_layers_data()
available_ids = set(layer["layer_id"] for layer in layers)
@ -152,14 +166,15 @@ class LoadImage(plugin.Loader):
line = "tv_layerkill {}".format(layer_id)
george_script_lines.append(line)
george_script = "\n".join(george_script_lines)
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)
def _remove_container(self, container, members=None):
if not container:
return
representation = container["representation"]
members = self.get_members_from_container(container)
current_containers = pipeline.ls()
host = register_host()
current_containers = host.get_containers()
pop_idx = None
for idx, cur_con in enumerate(current_containers):
cur_members = self.get_members_from_container(cur_con)
@ -179,8 +194,8 @@ class LoadImage(plugin.Loader):
return
current_containers.pop(pop_idx)
pipeline.write_workfile_metadata(
pipeline.SECTION_NAME_CONTAINERS, current_containers
write_workfile_metadata(
SECTION_NAME_CONTAINERS, current_containers
)
def remove(self, container):
@ -214,7 +229,7 @@ class LoadImage(plugin.Loader):
break
old_layers = []
layers = lib.layers_data()
layers = get_layers_data()
previous_layer_ids = set(layer["layer_id"] for layer in layers)
if old_layers_are_ids:
for layer in layers:
@ -263,7 +278,7 @@ class LoadImage(plugin.Loader):
new_container = self.load(context, name, namespace, {})
new_layer_names = self.get_members_from_container(new_container)
layers = lib.layers_data()
layers = get_layers_data()
new_layers = []
for layer in layers:
@ -304,4 +319,4 @@ class LoadImage(plugin.Loader):
# Execute george scripts if there are any
if george_script_lines:
george_script = "\n".join(george_script_lines)
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)

View file

@ -1,6 +1,9 @@
import os
import tempfile
from openpype.hosts.tvpaint.api import lib, plugin
from openpype.hosts.tvpaint.api import plugin
from openpype.hosts.tvpaint.api.lib import (
execute_george_through_file,
)
class ImportSound(plugin.Loader):
@ -64,7 +67,7 @@ class ImportSound(plugin.Loader):
)
self.log.info("*** George script:\n{}\n***".format(george_script))
# Execute geoge script
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)
# Read output file
lines = []

View file

@ -11,7 +11,13 @@ from openpype.pipeline.workfile import (
get_last_workfile_with_version,
)
from openpype.pipeline.template_data import get_template_data_with_names
from openpype.hosts.tvpaint.api import lib, pipeline, plugin
from openpype.hosts.tvpaint.api import plugin
from openpype.hosts.tvpaint.api.lib import (
execute_george_through_file,
)
from openpype.hosts.tvpaint.api.pipeline import (
get_current_workfile_context,
)
class LoadWorkfile(plugin.Loader):
@ -26,9 +32,9 @@ class LoadWorkfile(plugin.Loader):
# Load context of current workfile as first thing
# - which context and extension has
host = registered_host()
current_file = host.current_file()
current_file = host.get_current_workfile()
context = pipeline.get_current_workfile_context()
context = get_current_workfile_context()
filepath = self.fname.replace("\\", "/")
@ -40,7 +46,7 @@ class LoadWorkfile(plugin.Loader):
george_script = "tv_LoadProject '\"'\"{}\"'\"'".format(
filepath
)
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)
# Save workfile.
host_name = "tvpaint"
@ -69,12 +75,13 @@ class LoadWorkfile(plugin.Loader):
file_template = anatomy.templates[template_key]["file"]
# Define saving file extension
extensions = host.get_workfile_extensions()
if current_file:
# Match the extension of current file
_, extension = os.path.splitext(current_file)
else:
# Fall back to the first extension supported for this host.
extension = host.file_extensions()[0]
extension = extensions[0]
data["ext"] = extension
@ -83,7 +90,7 @@ class LoadWorkfile(plugin.Loader):
folder_template, data
)
version = get_last_workfile_with_version(
work_root, file_template, data, host.file_extensions()
work_root, file_template, data, extensions
)[1]
if version is None:
@ -97,4 +104,4 @@ class LoadWorkfile(plugin.Loader):
file_template, data
)
path = os.path.join(work_root, filename)
host.save_file(path)
host.save_workfile(path)

View file

@ -5,7 +5,22 @@ import tempfile
import pyblish.api
from openpype.pipeline import legacy_io
from openpype.hosts.tvpaint.api import pipeline, lib
from openpype.hosts.tvpaint.api.lib import (
execute_george,
execute_george_through_file,
get_layers_data,
get_groups_data,
)
from openpype.hosts.tvpaint.api.pipeline import (
SECTION_NAME_CONTEXT,
SECTION_NAME_INSTANCES,
SECTION_NAME_CONTAINERS,
get_workfile_metadata_string,
write_workfile_metadata,
get_current_workfile_context,
list_instances,
)
class ResetTVPaintWorkfileMetadata(pyblish.api.Action):
@ -15,12 +30,12 @@ class ResetTVPaintWorkfileMetadata(pyblish.api.Action):
def process(self, context, plugin):
metadata_keys = {
pipeline.SECTION_NAME_CONTEXT: {},
pipeline.SECTION_NAME_INSTANCES: [],
pipeline.SECTION_NAME_CONTAINERS: []
SECTION_NAME_CONTEXT: {},
SECTION_NAME_INSTANCES: [],
SECTION_NAME_CONTAINERS: []
}
for metadata_key, default in metadata_keys.items():
json_string = pipeline.get_workfile_metadata_string(metadata_key)
json_string = get_workfile_metadata_string(metadata_key)
if not json_string:
continue
@ -35,7 +50,7 @@ class ResetTVPaintWorkfileMetadata(pyblish.api.Action):
).format(metadata_key, default, json_string),
exc_info=True
)
pipeline.write_workfile_metadata(metadata_key, default)
write_workfile_metadata(metadata_key, default)
class CollectWorkfileData(pyblish.api.ContextPlugin):
@ -45,8 +60,8 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
actions = [ResetTVPaintWorkfileMetadata]
def process(self, context):
current_project_id = lib.execute_george("tv_projectcurrentid")
lib.execute_george("tv_projectselect {}".format(current_project_id))
current_project_id = execute_george("tv_projectcurrentid")
execute_george("tv_projectselect {}".format(current_project_id))
# Collect and store current context to have reference
current_context = {
@ -60,7 +75,7 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
# Collect context from workfile metadata
self.log.info("Collecting workfile context")
workfile_context = pipeline.get_current_workfile_context()
workfile_context = get_current_workfile_context()
# Store workfile context to pyblish context
context.data["workfile_context"] = workfile_context
if workfile_context:
@ -96,7 +111,7 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
# Collect instances
self.log.info("Collecting instance data from workfile")
instance_data = pipeline.list_instances()
instance_data = list_instances()
context.data["workfileInstances"] = instance_data
self.log.debug(
"Instance data:\"{}".format(json.dumps(instance_data, indent=4))
@ -104,7 +119,7 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
# Collect information about layers
self.log.info("Collecting layers data from workfile")
layers_data = lib.layers_data()
layers_data = get_layers_data()
layers_by_name = {}
for layer in layers_data:
layer_name = layer["name"]
@ -120,14 +135,14 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
# Collect information about groups
self.log.info("Collecting groups data from workfile")
group_data = lib.groups_data()
group_data = get_groups_data()
context.data["groupsData"] = group_data
self.log.debug(
"Group data:\"{}".format(json.dumps(group_data, indent=4))
)
self.log.info("Collecting scene data from workfile")
workfile_info_parts = lib.execute_george("tv_projectinfo").split(" ")
workfile_info_parts = execute_george("tv_projectinfo").split(" ")
# Project frame start - not used
workfile_info_parts.pop(-1)
@ -139,10 +154,10 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
workfile_path = " ".join(workfile_info_parts).replace("\"", "")
# Marks return as "{frame - 1} {state} ", example "0 set".
result = lib.execute_george("tv_markin")
result = execute_george("tv_markin")
mark_in_frame, mark_in_state, _ = result.split(" ")
result = lib.execute_george("tv_markout")
result = execute_george("tv_markout")
mark_out_frame, mark_out_state, _ = result.split(" ")
scene_data = {
@ -156,7 +171,7 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
"sceneMarkInState": mark_in_state == "set",
"sceneMarkOut": int(mark_out_frame),
"sceneMarkOutState": mark_out_state == "set",
"sceneStartFrame": int(lib.execute_george("tv_startframe")),
"sceneStartFrame": int(execute_george("tv_startframe")),
"sceneBgColor": self._get_bg_color()
}
self.log.debug(
@ -188,7 +203,7 @@ class CollectWorkfileData(pyblish.api.ContextPlugin):
]
george_script = "\n".join(george_script_lines)
lib.execute_george_through_file(george_script)
execute_george_through_file(george_script)
with open(output_filepath, "r") as stream:
data = stream.read()

View file

@ -5,7 +5,13 @@ import tempfile
from PIL import Image
import pyblish.api
from openpype.hosts.tvpaint.api import lib
from openpype.hosts.tvpaint.api.lib import (
execute_george,
execute_george_through_file,
get_layers_pre_post_behavior,
get_layers_exposure_frames,
)
from openpype.hosts.tvpaint.lib import (
calculate_layers_extraction_data,
get_frame_filename_template,
@ -61,7 +67,7 @@ class ExtractSequence(pyblish.api.Extractor):
# different way when Start Frame is not `0`
# NOTE It will be set back after rendering
scene_start_frame = instance.context.data["sceneStartFrame"]
lib.execute_george("tv_startframe 0")
execute_george("tv_startframe 0")
# Frame start/end may be stored as float
frame_start = int(instance.data["frameStart"])
@ -113,7 +119,7 @@ class ExtractSequence(pyblish.api.Extractor):
output_filepaths_by_frame_idx, thumbnail_fullpath = result
# Change scene frame Start back to previous value
lib.execute_george("tv_startframe {}".format(scene_start_frame))
execute_george("tv_startframe {}".format(scene_start_frame))
# Sequence of one frame
if not output_filepaths_by_frame_idx:
@ -241,7 +247,7 @@ class ExtractSequence(pyblish.api.Extractor):
george_script_lines.append(" ".join(orig_color_command))
lib.execute_george_through_file("\n".join(george_script_lines))
execute_george_through_file("\n".join(george_script_lines))
first_frame_filepath = None
output_filepaths_by_frame_idx = {}
@ -304,8 +310,8 @@ class ExtractSequence(pyblish.api.Extractor):
return [], None
self.log.debug("Collecting pre/post behavior of individual layers.")
behavior_by_layer_id = lib.get_layers_pre_post_behavior(layer_ids)
exposure_frames_by_layer_id = lib.get_layers_exposure_frames(
behavior_by_layer_id = get_layers_pre_post_behavior(layer_ids)
exposure_frames_by_layer_id = get_layers_exposure_frames(
layer_ids, layers
)
extraction_data_by_layer_id = calculate_layers_extraction_data(
@ -410,7 +416,7 @@ class ExtractSequence(pyblish.api.Extractor):
",".join(frames_to_render), layer_id, layer["name"]
))
# Let TVPaint render layer's image
lib.execute_george_through_file("\n".join(george_script_lines))
execute_george_through_file("\n".join(george_script_lines))
# Fill frames between `frame_start_index` and `frame_end_index`
self.log.debug("Filling frames not rendered frames.")

View file

@ -1,7 +1,7 @@
import pyblish.api
from openpype.api import version_up
from openpype.hosts.tvpaint.api import workio
from openpype.lib import version_up
from openpype.pipeline import registered_host
class IncrementWorkfileVersion(pyblish.api.ContextPlugin):
@ -17,6 +17,7 @@ class IncrementWorkfileVersion(pyblish.api.ContextPlugin):
assert all(result["success"] for result in context.data["results"]), (
"Publishing not successful so version is not increased.")
host = registered_host()
path = context.data["currentFile"]
workio.save_file(version_up(path))
host.save_workfile(version_up(path))
self.log.info('Incrementing workfile version')

View file

@ -1,6 +1,9 @@
import pyblish.api
from openpype.pipeline import PublishXmlValidationError
from openpype.hosts.tvpaint.api import pipeline
from openpype.hosts.tvpaint.api.pipeline import (
list_instances,
write_instances,
)
class FixAssetNames(pyblish.api.Action):
@ -15,7 +18,7 @@ class FixAssetNames(pyblish.api.Action):
def process(self, context, plugin):
context_asset_name = context.data["asset"]
old_instance_items = pipeline.list_instances()
old_instance_items = list_instances()
new_instance_items = []
for instance_item in old_instance_items:
instance_asset_name = instance_item.get("asset")
@ -25,7 +28,7 @@ class FixAssetNames(pyblish.api.Action):
):
instance_item["asset"] = context_asset_name
new_instance_items.append(instance_item)
pipeline._write_instances(new_instance_items)
write_instances(new_instance_items)
class ValidateAssetNames(pyblish.api.ContextPlugin):

View file

@ -2,7 +2,7 @@ import json
import pyblish.api
from openpype.pipeline import PublishXmlValidationError
from openpype.hosts.tvpaint.api import lib
from openpype.hosts.tvpaint.api.lib import execute_george
class ValidateMarksRepair(pyblish.api.Action):
@ -15,10 +15,10 @@ class ValidateMarksRepair(pyblish.api.Action):
def process(self, context, plugin):
expected_data = ValidateMarks.get_expected_data(context)
lib.execute_george(
execute_george(
"tv_markin {} set".format(expected_data["markIn"])
)
lib.execute_george(
execute_george(
"tv_markout {} set".format(expected_data["markOut"])
)

View file

@ -1,6 +1,6 @@
import pyblish.api
from openpype.pipeline import PublishXmlValidationError
from openpype.hosts.tvpaint.api import lib
from openpype.hosts.tvpaint.api.lib import execute_george
class RepairStartFrame(pyblish.api.Action):
@ -11,7 +11,7 @@ class RepairStartFrame(pyblish.api.Action):
on = "failed"
def process(self, context, plugin):
lib.execute_george("tv_startframe 0")
execute_george("tv_startframe 0")
class ValidateStartFrame(pyblish.api.ContextPlugin):
@ -24,7 +24,7 @@ class ValidateStartFrame(pyblish.api.ContextPlugin):
optional = True
def process(self, context):
start_frame = lib.execute_george("tv_startframe")
start_frame = execute_george("tv_startframe")
if start_frame == 0:
return

View file

@ -1,6 +1,5 @@
import pyblish.api
from openpype.pipeline import PublishXmlValidationError
from openpype.hosts.tvpaint.api import save_file
from openpype.pipeline import PublishXmlValidationError, registered_host
class ValidateWorkfileMetadataRepair(pyblish.api.Action):
@ -13,8 +12,9 @@ class ValidateWorkfileMetadataRepair(pyblish.api.Action):
def process(self, context, _plugin):
"""Save current workfile which should trigger storing of metadata."""
current_file = context.data["currentFile"]
host = registered_host()
# Save file should trigger
save_file(current_file)
host.save_workfile(current_file)
class ValidateWorkfileMetadata(pyblish.api.ContextPlugin):