def LoadEnvironments(self):
        """
        Load environment list from Engine into global list
        return None if OK
        return 1 if error
        """


        if self.__loaded_engine is None:
            self.__loaded_engine = self.__engine.get_name()

        
        if self.__loaded_engine == self.__engine.get_name() and self.__environmentList != {}:
           return None
        else:
            # delete a list as we can have multi engines
            self.__environmentList.clear()
            self.__loaded_engine = self.__engine.get_name()

        appList = DxApplicationList()
        appList.LoadApplications()

        if (self.__engine.version_ge('6.0.0')):
            from masking_api_60.api.environment_api import EnvironmentApi
            from masking_api_60.rest import ApiException
        else:
            from masking_api_53.api.environment_api import EnvironmentApi
            from masking_api_53.rest import ApiException

        self.__api = EnvironmentApi
        self.__apiexc = ApiException

        try:
            api_instance = self.__api(self.__engine.api_client)
            envlist = paginator(
                        api_instance,
                        "get_all_environments",
                        _request_timeout=self.__engine.get_timeout())

            if envlist.response_list:
                for c in envlist.response_list:
                    environment = DxEnvironment(self.__engine)
                    environment.from_environment(c)
                    if hasattr(c, "application_id"):
                        app = appList.get_by_ref(c.application_id)
                        environment.application_name = app.application_name
                    self.__environmentList[c.environment_id] = environment
            else:
                self.__logger.error("No environments found")
                print_error("No environments found")

        except self.__apiexc as e:
            self.__logger.error("Can't load environment %s" % e.body)
            print_error("Can't load environment %s" % e.body)
            return 1
Beispiel #2
0
def application_list(p_engine, format, appname):
    """
    Print list of applications
    param1: p_engine: engine name from configuration
    param2: format: output format
    param3: appname: application name to list, all if None
    return 0 if application found
    """

    ret = 0

    enginelist = get_list_of_engines(p_engine)

    if enginelist is None:
        return 1

    data = DataFormatter()
    data_header = [
                    ("Engine name", 30),
                    ("Application name", 30),
                  ]
    data.create_header(data_header)
    data.format_type = format
    for engine_tuple in enginelist:
        engine_obj = DxMaskingEngine(engine_tuple)
        if engine_obj.get_session():
            continue
        applist = DxApplicationList()
        # load all objects
        applist.LoadApplications()

        if appname is None:
            applications = applist.get_allref()
        else:
            applications = applist.get_applicationId_by_name(appname)
            if len(applications) == 0:
                ret = ret + 1

        for appref in applications:
            appobj = applist.get_by_ref(appref)
            data.data_insert(
                              engine_tuple[0],
                              appobj.application_name
                            )
        print("")
        print (data.data_output(False))
        print("")
        return ret