From 618203bfdde5836dfaa4422be2989518a04fb25b Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 3 Feb 2021 15:31:09 +0100 Subject: [PATCH 1/5] crashed action with log traceback --- pype/modules/ftrack/actions/action_create_project_structure.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pype/modules/ftrack/actions/action_create_project_structure.py b/pype/modules/ftrack/actions/action_create_project_structure.py index 22190c16dbb..6162225e649 100644 --- a/pype/modules/ftrack/actions/action_create_project_structure.py +++ b/pype/modules/ftrack/actions/action_create_project_structure.py @@ -90,6 +90,7 @@ def launch(self, session, entities, event): self.create_ftrack_entities(basic_paths, project) except Exception as exc: + self.log.warning("Creating of structure crashed.", exc_info=True) session.rollback() return { "success": False, From ea5686db44ed2e1d8c9d10357e82897644d50538 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 3 Feb 2021 15:33:13 +0100 Subject: [PATCH 2/5] anatomy is created in create_folders and entity is not passed --- .../ftrack/actions/action_create_project_structure.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pype/modules/ftrack/actions/action_create_project_structure.py b/pype/modules/ftrack/actions/action_create_project_structure.py index 6162225e649..7ed3d7fe296 100644 --- a/pype/modules/ftrack/actions/action_create_project_structure.py +++ b/pype/modules/ftrack/actions/action_create_project_structure.py @@ -85,8 +85,7 @@ def launch(self, session, entities, event): try: # Get paths based on presets basic_paths = self.get_path_items(project_folder_presets) - anatomy = Anatomy(project["full_name"]) - self.create_folders(basic_paths, entity, project, anatomy) + self.create_folders(basic_paths, project) self.create_ftrack_entities(basic_paths, project) except Exception as exc: @@ -220,7 +219,8 @@ def compute_paths(self, basic_paths_items, project_root): output.append(os.path.normpath(os.path.sep.join(clean_items))) return output - def create_folders(self, basic_paths, entity, project, anatomy): + def create_folders(self, basic_paths, project): + anatomy = Anatomy(project["full_name"]) roots_paths = [] if isinstance(anatomy.roots, dict): for root in anatomy.roots: From c2183648e93f857521eacfe475f9ca0cfeecef03 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 3 Feb 2021 15:33:31 +0100 Subject: [PATCH 3/5] debug logs about creating folders --- .../modules/ftrack/actions/action_create_project_structure.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pype/modules/ftrack/actions/action_create_project_structure.py b/pype/modules/ftrack/actions/action_create_project_structure.py index 7ed3d7fe296..bad2953c39e 100644 --- a/pype/modules/ftrack/actions/action_create_project_structure.py +++ b/pype/modules/ftrack/actions/action_create_project_structure.py @@ -235,7 +235,9 @@ def create_folders(self, basic_paths, project): for path in full_paths: if os.path.exists(path): continue - os.makedirs(path.format(project_root=project_root)) + full_path = path.format(project_root=project_root) + self.log.debug("Creating folder: {}".format(full_path)) + os.makedirs(full_path) def register(session, plugins_presets={}): From e5e234c6d17e9892cf8f1656b86e448b0d3fddf8 Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 3 Feb 2021 15:37:40 +0100 Subject: [PATCH 4/5] don't use root keys but their path values --- pype/modules/ftrack/actions/action_create_project_structure.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pype/modules/ftrack/actions/action_create_project_structure.py b/pype/modules/ftrack/actions/action_create_project_structure.py index bad2953c39e..c8f241f82c3 100644 --- a/pype/modules/ftrack/actions/action_create_project_structure.py +++ b/pype/modules/ftrack/actions/action_create_project_structure.py @@ -223,7 +223,7 @@ def create_folders(self, basic_paths, project): anatomy = Anatomy(project["full_name"]) roots_paths = [] if isinstance(anatomy.roots, dict): - for root in anatomy.roots: + for root in anatomy.roots.values(): roots_paths.append(root.value) else: roots_paths.append(anatomy.roots.value) From 9acbb7ddd573b494ea14c378a3e962c8fe8314cb Mon Sep 17 00:00:00 2001 From: iLLiCiTiT Date: Wed, 3 Feb 2021 15:38:04 +0100 Subject: [PATCH 5/5] fix existence cehcek and added more debug logs --- .../ftrack/actions/action_create_project_structure.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/pype/modules/ftrack/actions/action_create_project_structure.py b/pype/modules/ftrack/actions/action_create_project_structure.py index c8f241f82c3..722aebcb689 100644 --- a/pype/modules/ftrack/actions/action_create_project_structure.py +++ b/pype/modules/ftrack/actions/action_create_project_structure.py @@ -233,11 +233,14 @@ def create_folders(self, basic_paths, project): full_paths = self.compute_paths(basic_paths, project_root) # Create folders for path in full_paths: - if os.path.exists(path): - continue full_path = path.format(project_root=project_root) - self.log.debug("Creating folder: {}".format(full_path)) - os.makedirs(full_path) + if os.path.exists(full_path): + self.log.debug( + "Folder already exists: {}".format(full_path) + ) + else: + self.log.debug("Creating folder: {}".format(full_path)) + os.makedirs(full_path) def register(session, plugins_presets={}):