From f73dc6380e6d019c5ff70d235d0bfc5579830f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D1=83=D1=80=D0=B0=D1=88=D0=BE=D0=B2=20=D0=94=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=81=20=28Murashov=5FDA=29?= Date: Mon, 20 Jan 2025 14:26:47 +0400 Subject: [PATCH 1/2] =?UTF-8?q?=D0=9A=D0=BE=D0=BC=D0=B0=D0=BD=D0=B4=D0=B0?= =?UTF-8?q?=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=20=D1=83=D1=82?= =?UTF-8?q?=D0=B8=D0=BB=D0=B8=D1=82=D1=8B=20MetadataBrowser?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../map_plugin/map_installer.py | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/ManageAppProjects/map_plugin/map_installer.py b/src/ManageAppProjects/map_plugin/map_installer.py index 8f3ebc0..75371c6 100644 --- a/src/ManageAppProjects/map_plugin/map_installer.py +++ b/src/ManageAppProjects/map_plugin/map_installer.py @@ -1245,6 +1245,33 @@ def run_script(self, script_filename: str, *args: Any) -> None: exec(script, globals(), args_dict) + def run_metadata_browser(self) -> None: + """Запустить утидиту просмотра дерева метаданных.""" + if not 'sungero_deploy.services_config' in sys.modules: + log.error('Не найден модуль services_config') + raise RuntimeError('Не найден модуль services_config') + + config = get_config_model(self.config_path) + + from sungero_deploy.services_config import try_get_first_var_value + git_root_directory = try_get_first_var_value("GIT_ROOT_DIRECTORY", config) + + development_folders = [] + for folder in config.services_config["DevelopmentStudio"]["REPOSITORIES"]["repository"]: + development_folders.append(os.path.join(git_root_directory, folder["@folderName"])) + + + import tempfile + with tempfile.TemporaryDirectory() as temp_directory_name: + source_executable = '\\\\orpihost\\MetadataBrowser\\MetadataBrowser.exe' + dest_executable = os.path.join(temp_directory_name, 'MetadataBrowser.exe') + shutil.copyfile(source_executable, dest_executable) + json_config = { 'developmentFolders': development_folders } + config_file_name = os.path.join(temp_directory_name, 'appsettings.json') + with open(config_file_name, 'w') as config_file: + json.dump(json_config, config_file) + process.try_execute(dest_executable) + @staticmethod def help() -> None: log.info('do map set - переключиться на проект, описаный в указанном yml-файла') From d60afb65432756176ffc6a40a7a78686dab1768f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D1=83=D1=80=D0=B0=D1=88=D0=BE=D0=B2=20=D0=94=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=81=20=28Murashov=5FDA=29?= Date: Mon, 20 Jan 2025 15:52:03 +0400 Subject: [PATCH 2/2] =?UTF-8?q?=D0=9D=D0=B5=D0=B1=D0=BE=D0=BB=D1=8C=D1=88?= =?UTF-8?q?=D0=B0=D1=8F=20=D0=B4=D0=BE=D1=80=D0=B0=D0=B1=D0=BE=D1=82=D0=BA?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ManageAppProjects/map_plugin/map_installer.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ManageAppProjects/map_plugin/map_installer.py b/src/ManageAppProjects/map_plugin/map_installer.py index 75371c6..b5cd5c8 100644 --- a/src/ManageAppProjects/map_plugin/map_installer.py +++ b/src/ManageAppProjects/map_plugin/map_installer.py @@ -1245,8 +1245,12 @@ def run_script(self, script_filename: str, *args: Any) -> None: exec(script, globals(), args_dict) - def run_metadata_browser(self) -> None: - """Запустить утидиту просмотра дерева метаданных.""" + def run_metadata_browser(self, metadata_browser_path: str = '') -> None: + """Запустить утилиту просмотра дерева метаданных. + + Args: + metadata_browser_path: путь утилите просмотра дерева метаданных. + """ if not 'sungero_deploy.services_config' in sys.modules: log.error('Не найден модуль services_config') raise RuntimeError('Не найден модуль services_config') @@ -1260,10 +1264,13 @@ def run_metadata_browser(self) -> None: for folder in config.services_config["DevelopmentStudio"]["REPOSITORIES"]["repository"]: development_folders.append(os.path.join(git_root_directory, folder["@folderName"])) + if metadata_browser_path: + source_executable = metadata_browser_path + else: + source_executable = '\\\\orpihost\\MetadataBrowser\\MetadataBrowser.exe' import tempfile with tempfile.TemporaryDirectory() as temp_directory_name: - source_executable = '\\\\orpihost\\MetadataBrowser\\MetadataBrowser.exe' dest_executable = os.path.join(temp_directory_name, 'MetadataBrowser.exe') shutil.copyfile(source_executable, dest_executable) json_config = { 'developmentFolders': development_folders }