From 69b5475d8122832627347e85da99146ff13efe9e Mon Sep 17 00:00:00 2001 From: Mikhail Tulkin Date: Mon, 5 May 2025 19:14:15 +0700 Subject: [PATCH 1/2] Auto-close exported document --- Project-Archiver/commands/ExportCommand.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Project-Archiver/commands/ExportCommand.py b/Project-Archiver/commands/ExportCommand.py index 2a7a440..51f19d5 100644 --- a/Project-Archiver/commands/ExportCommand.py +++ b/Project-Archiver/commands/ExportCommand.py @@ -41,6 +41,8 @@ def export_folder(root_folder, output_folder, file_types, write_version, name_op output_name = get_name(write_version, name_option) export_active_doc(output_folder, file_types, output_name) + ao.app.activeDocument.close(False) + # TODO add handling except ValueError as e: ao.ui.messageBox(str(e)) From 9d9126b044092e85bbe6fcab4bf391b452425ef3 Mon Sep 17 00:00:00 2001 From: Mikhail Tulkin Date: Mon, 5 May 2025 19:21:19 +0700 Subject: [PATCH 2/2] Bugfix script crash after illegal windows path symbols appear in document name. --- Project-Archiver/commands/ExportCommand.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Project-Archiver/commands/ExportCommand.py b/Project-Archiver/commands/ExportCommand.py index 51f19d5..85d808c 100644 --- a/Project-Archiver/commands/ExportCommand.py +++ b/Project-Archiver/commands/ExportCommand.py @@ -36,11 +36,17 @@ def export_folder(root_folder, output_folder, file_types, write_version, name_op for file in root_folder.dataFiles: if file.fileExtension == "f3d": + file_name = file.name.replace("/", "_") + tmp_name = output_folder + file_name + ' v' + str(file.latestVersionNumber) + '.step' + #export_name = dup_check(export_name) + if os.path.exists(tmp_name): + continue + open_doc(file) try: - output_name = get_name(write_version, name_option) + output_name = get_name(write_version, name_option).replace("/", "_") export_active_doc(output_folder, file_types, output_name) - + ao.app.activeDocument.close(False) # TODO add handling @@ -82,7 +88,9 @@ def export_active_doc(folder, file_types, output_name): if file_types.item(i).isSelected: export_name = folder + output_name + export_extensions[i] - export_name = dup_check(export_name) + #export_name = dup_check(export_name) + if os.path.exists(export_name): + return export_options = export_functions[i](export_name) export_mgr.execute(export_options) @@ -93,7 +101,9 @@ def export_active_doc(folder, file_types, output_name): else: export_name = folder + output_name + '.f3d' - export_name = dup_check(export_name) + #export_name = dup_check(export_name) + if os.path.exists(export_name): + return export_options = export_mgr.createFusionArchiveExportOptions(export_name) export_mgr.execute(export_options)