mirror of
https://github.com/ynput/ayon-core.git
synced 2025-12-25 05:14:40 +01:00
move public method above private
This commit is contained in:
parent
98acfd8dfc
commit
60c2c4e018
1 changed files with 61 additions and 57 deletions
|
|
@ -626,63 +626,7 @@ class PublishWorkfilesModel:
|
|||
self._cached_extensions = None
|
||||
self._cached_repre_extensions = None
|
||||
|
||||
@property
|
||||
def _extensions(self):
|
||||
if self._cached_extensions is None:
|
||||
exts = self._controller.get_workfile_extensions() or []
|
||||
self._cached_extensions = exts
|
||||
return self._cached_extensions
|
||||
|
||||
@property
|
||||
def _repre_extensions(self):
|
||||
if self._cached_repre_extensions is None:
|
||||
self._cached_repre_extensions = {
|
||||
ext.lstrip(".") for ext in self._extensions
|
||||
}
|
||||
return self._cached_repre_extensions
|
||||
|
||||
def _file_item_from_representation(
|
||||
self, repre_entity, project_anatomy, author, task_name=None
|
||||
):
|
||||
if task_name is not None:
|
||||
task_info = repre_entity["context"].get("task")
|
||||
if not task_info or task_info["name"] != task_name:
|
||||
return None
|
||||
|
||||
# Filter by extension
|
||||
extensions = self._repre_extensions
|
||||
workfile_path = None
|
||||
for repre_file in repre_entity["files"]:
|
||||
ext = (
|
||||
os.path.splitext(repre_file["name"])[1]
|
||||
.lower()
|
||||
.lstrip(".")
|
||||
)
|
||||
if ext in extensions:
|
||||
workfile_path = repre_file["path"]
|
||||
break
|
||||
|
||||
if not workfile_path:
|
||||
return None
|
||||
|
||||
try:
|
||||
workfile_path = workfile_path.format(
|
||||
root=project_anatomy.roots)
|
||||
except Exception as exc:
|
||||
print("Failed to format workfile path: {}".format(exc))
|
||||
|
||||
dirpath, filename = os.path.split(workfile_path)
|
||||
created_at = arrow.get(repre_entity["createdAt"]).to("local")
|
||||
return FileItem(
|
||||
dirpath,
|
||||
filename,
|
||||
created_at.float_timestamp,
|
||||
author,
|
||||
None,
|
||||
repre_entity["id"]
|
||||
)
|
||||
|
||||
def get_file_items(self, folder_id, task_name):
|
||||
def get_file_items(self, folder_id: str, task_name: str) -> list[FileItem]:
|
||||
# TODO refactor to use less server API calls
|
||||
project_name = self._controller.get_current_project_name()
|
||||
# Get subset docs of folder
|
||||
|
|
@ -735,6 +679,66 @@ class PublishWorkfilesModel:
|
|||
|
||||
return file_items
|
||||
|
||||
@property
|
||||
def _extensions(self):
|
||||
if self._cached_extensions is None:
|
||||
exts = self._controller.get_workfile_extensions() or []
|
||||
self._cached_extensions = exts
|
||||
return self._cached_extensions
|
||||
|
||||
@property
|
||||
def _repre_extensions(self):
|
||||
if self._cached_repre_extensions is None:
|
||||
self._cached_repre_extensions = {
|
||||
ext.lstrip(".") for ext in self._extensions
|
||||
}
|
||||
return self._cached_repre_extensions
|
||||
|
||||
def _file_item_from_representation(
|
||||
self,
|
||||
repre_entity: dict[str, Any],
|
||||
project_anatomy: "Anatomy",
|
||||
author: str,
|
||||
task_name: Optional[str] = None
|
||||
):
|
||||
if task_name is not None:
|
||||
task_info = repre_entity["context"].get("task")
|
||||
if not task_info or task_info["name"] != task_name:
|
||||
return None
|
||||
|
||||
# Filter by extension
|
||||
extensions = self._repre_extensions
|
||||
workfile_path = None
|
||||
for repre_file in repre_entity["files"]:
|
||||
ext = (
|
||||
os.path.splitext(repre_file["name"])[1]
|
||||
.lower()
|
||||
.lstrip(".")
|
||||
)
|
||||
if ext in extensions:
|
||||
workfile_path = repre_file["path"]
|
||||
break
|
||||
|
||||
if not workfile_path:
|
||||
return None
|
||||
|
||||
try:
|
||||
workfile_path = workfile_path.format(
|
||||
root=project_anatomy.roots)
|
||||
except Exception as exc:
|
||||
print("Failed to format workfile path: {}".format(exc))
|
||||
|
||||
dirpath, filename = os.path.split(workfile_path)
|
||||
created_at = arrow.get(repre_entity["createdAt"]).to("local")
|
||||
return FileItem(
|
||||
dirpath,
|
||||
filename,
|
||||
created_at.float_timestamp,
|
||||
author,
|
||||
None,
|
||||
repre_entity["id"]
|
||||
)
|
||||
|
||||
|
||||
class WorkfilesModel:
|
||||
"""Workfiles model."""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue