Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions src/ManageAppProjects/map_plugin/map_installer.py
Original file line number Diff line number Diff line change
Expand Up @@ -1245,6 +1245,40 @@ def run_script(self, script_filename: str, *args: Any) -> None:

exec(script, globals(), args_dict)

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')

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"]))

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:
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-файла')
Expand Down