# --------------------------------------------------------------------------------------------------------- # Author : Ulrich Carmesin # Source : gitea.ucarmesin.de # --------------------------------------------------------------------------------------------------------- import os import basic.constants as B import model.entity import tools.path_const as P import tools.config_tool import tools.file_tool import tools.git_tool TABLE_NAMES = ["environment", "en_project", "en_component"] DEFAULT_SYNC = model.entity.SYNC_FULL_GIT2DB def select_environments(job, projectList): """ searches and gets environments in which the applications of the project are declared that these are installed filtered by parameter --environment :param job: :return: """ environments = {} path = job.conf[B.SUBJECT_PATH][B.ATTR_PATH_ENV] if not os.path.exists(path): raise Exception("Umgebungsverzeichnis existiert nicht "+path) for envdir in os.listdir(path): if not os.path.isdir(os.path.join(path, envdir)): continue if envdir[0:1] == "_": continue try: pathname = tools.config_tool.select_config_path(job, P.KEY_TOOL, "conn", envdir) doc = tools.file_tool.read_file_dict(job, pathname, job.m) for proj in doc[B.SUBJECT_ENV][B.CONF_NODE_GENERAL][B.SUBJECT_PROJECTS]: if proj in projectList: environments[envdir] = doc[B.SUBJECT_ENV][B.CONF_NODE_GENERAL] except: continue return environments