diff --git a/openpype/lib/__init__.py b/openpype/lib/__init__.py index 7dd9a8793b..ebe7648ad7 100644 --- a/openpype/lib/__init__.py +++ b/openpype/lib/__init__.py @@ -84,6 +84,7 @@ from .avalon_context import ( get_hierarchy, get_linked_assets, get_latest_version, + get_system_general_anatomy_data, get_workfile_template_key, get_workfile_template_key_from_context, @@ -222,6 +223,7 @@ __all__ = [ "get_hierarchy", "get_linked_assets", "get_latest_version", + "get_system_general_anatomy_data", "get_workfile_template_key", "get_workfile_template_key_from_context", diff --git a/openpype/lib/avalon_context.py b/openpype/lib/avalon_context.py index 694aa376b1..3ce205c499 100644 --- a/openpype/lib/avalon_context.py +++ b/openpype/lib/avalon_context.py @@ -261,6 +261,18 @@ def get_hierarchy(asset_name=None): return "/".join(hierarchy_items) +def get_system_general_anatomy_data(): + system_settings = get_system_settings() + studio_name = system_settings["general"]["studio_name"] + studio_code = system_settings["general"]["studio_code"] + return { + "studio": { + "name": studio_name, + "code": studio_code + } + } + + def get_linked_asset_ids(asset_doc): """Return linked asset ids for `asset_doc` from DB @@ -497,18 +509,6 @@ def get_workfile_template_key( return default -def _get_system_general_data(): - system_settings = get_system_settings() - studio_name = system_settings["general"]["studio_name"] - studio_code = system_settings["general"]["studio_code"] - return { - "studio": { - "name": studio_name, - "code": studio_code - } - } - - # TODO rename function as is not just "work" specific def get_workdir_data(project_doc, asset_doc, task_name, host_name): """Prepare data for workdir template filling from entered information. @@ -552,7 +552,7 @@ def get_workdir_data(project_doc, asset_doc, task_name, host_name): "hierarchy": hierarchy, } - system_general_data = _get_system_general_data() + system_general_data = get_system_general_anatomy_data() data.update(system_general_data) return data @@ -1537,7 +1537,7 @@ def _get_task_context_data_for_anatomy( } } - system_general_data = _get_system_general_data() + system_general_data = get_system_general_anatomy_data() data.update(system_general_data) return data diff --git a/openpype/plugins/publish/collect_anatomy_context_data.py b/openpype/plugins/publish/collect_anatomy_context_data.py index 8b6aa3c2a6..03db64f191 100644 --- a/openpype/plugins/publish/collect_anatomy_context_data.py +++ b/openpype/plugins/publish/collect_anatomy_context_data.py @@ -12,12 +12,14 @@ Provides: context -> anatomyData """ -import os import json from openpype.settings import ( get_system_settings ) +from openpype.lib import ( + get_system_general_anatomy_data +) from avalon import api import pyblish.api @@ -82,13 +84,13 @@ class CollectAnatomyContextData(pyblish.api.ContextPlugin): "short": task_code, }, "username": context.data["user"], - "app": context.data["hostName"], - "studio": { - "name": studio_name, - "code": studio_code - } + "app": context.data["hostName"] } + # add system general settings anatomy data + system_general_data = get_system_general_anatomy_data() + context_data.update(system_general_data) + datetime_data = context.data.get("datetimeData") or {} context_data.update(datetime_data) diff --git a/openpype/tools/workfiles/app.py b/openpype/tools/workfiles/app.py index 884b78f3a3..40edec76bd 100644 --- a/openpype/tools/workfiles/app.py +++ b/openpype/tools/workfiles/app.py @@ -21,15 +21,12 @@ from openpype.tools.utils.tasks_widget import TasksWidget from openpype.tools.utils.delegates import PrettyTimeDelegate from openpype.lib import ( Anatomy, - get_workdir, get_workfile_doc, create_workfile_doc, save_workfile_data_to_doc, get_workfile_template_key, - create_workdir_extra_folders -) -from openpype.settings import ( - get_system_settings + create_workdir_extra_folders, + get_system_general_anatomy_data ) from .model import FilesModel from .view import FilesView @@ -94,10 +91,6 @@ class NameWindow(QtWidgets.QDialog): if asset_parents: parent_name = asset_parents[-1] - system_settings = get_system_settings() - studio_name = system_settings["general"]["studio_name"] - studio_code = system_settings["general"]["studio_code"] - self.data = { "project": { "name": project_doc["name"], @@ -113,13 +106,13 @@ class NameWindow(QtWidgets.QDialog): "version": 1, "user": getpass.getuser(), "comment": "", - "ext": None, - "studio": { - "name": studio_name, - "code": studio_code - } + "ext": None } + # add system general settings anatomy data + system_general_data = get_system_general_anatomy_data() + self.data.update(system_general_data) + # Store project anatomy self.anatomy = anatomy self.template = anatomy.templates[template_key]["file"]