diff --git a/openpype/lib/delivery.py b/openpype/lib/delivery.py
index 1e364c45d7..543c3d12e5 100644
--- a/openpype/lib/delivery.py
+++ b/openpype/lib/delivery.py
@@ -3,7 +3,6 @@ import os
import shutil
import glob
import clique
-import collections
import functools
import warnings
@@ -146,56 +145,38 @@ def get_format_dict(anatomy, location_path):
return get_format_dict(anatomy, location_path)
+@deprecated("openpype.pipeline.delivery.check_destination_path")
def check_destination_path(repre_id,
anatomy, anatomy_data,
datetime_data, template_name):
""" Try to create destination path based on 'template_name'.
- In the case that path cannot be filled, template contains unmatched
- keys, provide error message to filter out repre later.
+ In the case that path cannot be filled, template contains unmatched
+ keys, provide error message to filter out repre later.
- Args:
- anatomy (Anatomy)
- anatomy_data (dict): context to fill anatomy
- datetime_data (dict): values with actual date
- template_name (str): to pick correct delivery template
- Returns:
- (collections.defauldict): {"TYPE_OF_ERROR":"ERROR_DETAIL"}
+ Args:
+ anatomy (Anatomy)
+ anatomy_data (dict): context to fill anatomy
+ datetime_data (dict): values with actual date
+ template_name (str): to pick correct delivery template
+
+ Returns:
+ (collections.defauldict): {"TYPE_OF_ERROR":"ERROR_DETAIL"}
+
+ Deprecated:
+ Function was moved to different location and will be removed
+ after 3.16.* release.
"""
- anatomy_data.update(datetime_data)
- anatomy_filled = anatomy.format_all(anatomy_data)
- dest_path = anatomy_filled["delivery"][template_name]
- report_items = collections.defaultdict(list)
- if not dest_path.solved:
- msg = (
- "Missing keys in Representation's context"
- " for anatomy template \"{}\"."
- ).format(template_name)
+ from openpype.pipeline.delivery import check_destination_path
- sub_msg = (
- "Representation: {}
"
- ).format(repre_id)
-
- if dest_path.missing_keys:
- keys = ", ".join(dest_path.missing_keys)
- sub_msg += (
- "- Missing keys: \"{}\"
"
- ).format(keys)
-
- if dest_path.invalid_types:
- items = []
- for key, value in dest_path.invalid_types.items():
- items.append("\"{}\" {}".format(key, str(value)))
-
- keys = ", ".join(items)
- sub_msg += (
- "- Invalid value DataType: \"{}\"
"
- ).format(keys)
-
- report_items[msg].append(sub_msg)
-
- return report_items
+ return check_destination_path(
+ repre_id,
+ anatomy,
+ anatomy_data,
+ datetime_data,
+ template_name
+ )
def process_single_file(
diff --git a/openpype/modules/ftrack/event_handlers_user/action_delivery.py b/openpype/modules/ftrack/event_handlers_user/action_delivery.py
index 08d6e53078..8b314d8f1d 100644
--- a/openpype/modules/ftrack/event_handlers_user/action_delivery.py
+++ b/openpype/modules/ftrack/event_handlers_user/action_delivery.py
@@ -20,9 +20,9 @@ from openpype.pipeline import Anatomy
from openpype.pipeline.load import get_representation_path_with_anatomy
from openpype.pipeline.delivery import (
get_format_dict,
+ check_destination_path,
)
from openpype.lib.delivery import (
- check_destination_path,
process_single_file,
process_sequence
)
diff --git a/openpype/pipeline/delivery.py b/openpype/pipeline/delivery.py
index 5906892d59..79667161a6 100644
--- a/openpype/pipeline/delivery.py
+++ b/openpype/pipeline/delivery.py
@@ -1,6 +1,7 @@
"""Functions useful for delivery of published representations."""
import os
import shutil
+import collections
from openpype.lib import create_hard_link
@@ -46,3 +47,63 @@ def get_format_dict(anatomy, location_path):
for name in root_names:
format_dict["root"][name] = location_path
return format_dict
+
+
+def check_destination_path(
+ repre_id,
+ anatomy,
+ anatomy_data,
+ datetime_data,
+ template_name
+):
+ """ Try to create destination path based on 'template_name'.
+
+ In the case that path cannot be filled, template contains unmatched
+ keys, provide error message to filter out repre later.
+
+ Args:
+ repre_id (str): Representation id.
+ anatomy (Anatomy): Project anatomy.
+ anatomy_data (dict): Template data to fill anatomy templates.
+ datetime_data (dict): Values with actual date.
+ template_name (str): Name of template which should be used from anatomy
+ templates.
+ Returns:
+ Dict[str, List[str]]: Report of happened errors. Key is message title
+ value is detailed information.
+ """
+
+ anatomy_data.update(datetime_data)
+ anatomy_filled = anatomy.format_all(anatomy_data)
+ dest_path = anatomy_filled["delivery"][template_name]
+ report_items = collections.defaultdict(list)
+
+ if not dest_path.solved:
+ msg = (
+ "Missing keys in Representation's context"
+ " for anatomy template \"{}\"."
+ ).format(template_name)
+
+ sub_msg = (
+ "Representation: {}
"
+ ).format(repre_id)
+
+ if dest_path.missing_keys:
+ keys = ", ".join(dest_path.missing_keys)
+ sub_msg += (
+ "- Missing keys: \"{}\"
"
+ ).format(keys)
+
+ if dest_path.invalid_types:
+ items = []
+ for key, value in dest_path.invalid_types.items():
+ items.append("\"{}\" {}".format(key, str(value)))
+
+ keys = ", ".join(items)
+ sub_msg += (
+ "- Invalid value DataType: \"{}\"
"
+ ).format(keys)
+
+ report_items[msg].append(sub_msg)
+
+ return report_items
diff --git a/openpype/plugins/load/delivery.py b/openpype/plugins/load/delivery.py
index 0ea62510a4..1161636cb7 100644
--- a/openpype/plugins/load/delivery.py
+++ b/openpype/plugins/load/delivery.py
@@ -15,9 +15,9 @@ from openpype.lib import (
from openpype.pipeline.load import get_representation_path_with_anatomy
from openpype.pipeline.delivery import (
get_format_dict,
+ check_destination_path,
)
from openpype.lib.delivery import (
- check_destination_path,
process_single_file,
process_sequence,
)