def initialize(self, config): subcommand = config.get('subcommand') self.variants = None # pylint: disable=W0201 order = config.get("{}.cit.combination_order".format(subcommand)) if order and order > 6: LOG_UI.error("The order of combinations is bigger then 6") self.error_exit(config) section_key = "{}.cit.parameter_file".format(subcommand) cit_parameter_file = config.get(section_key) if cit_parameter_file is None: return else: cit_parameter_file = os.path.expanduser(cit_parameter_file) if not os.access(cit_parameter_file, os.R_OK): LOG_UI.error("parameter file '%s' could not be found or " "is not readable", cit_parameter_file) self.error_exit(config) try: parameters, constraints = Parser.parse(open(cit_parameter_file)) except ValueError as details: LOG_UI.error("Cannot parse parameter file: %s", details) self.error_exit(config) input_data = [len(parameter[1]) for parameter in parameters] cit = Cit(input_data, order, constraints) final_list = cit.compute() self.headers = [parameter[0] for parameter in parameters] # pylint: disable=W0201 results = [[parameters[j][1][final_list[i][j]] for j in range(len(final_list[i]))] for i in range(len(final_list))] self.variants = [] # pylint: disable=W0201 for combination in results: self.variants.append(dict(zip(self.headers, combination)))
def initialize(self, config): self.variants = None # pylint: disable=W0201 order = config.get('cit_order_of_combinations', DEFAULT_ORDER_OF_COMBINATIONS) if order > 6: LOG_UI.error("The order of combinations is bigger then 6") self.error_exit(config) cit_parameter_file = config.get("cit_parameter_file", None) if cit_parameter_file is None: return else: cit_parameter_file = os.path.expanduser(cit_parameter_file) if not os.access(cit_parameter_file, os.R_OK): LOG_UI.error("parameter file '%s' could not be found or " "is not readable", cit_parameter_file) self.error_exit(config) try: parameters, constraints = Parser.parse(open(cit_parameter_file)) except Exception as details: LOG_UI.error("Cannot parse parameter file: %s", details) self.error_exit(config) input_data = [parameter.get_size() for parameter in parameters] cit = Cit(input_data, order, constraints) final_list = cit.compute() self.headers = [parameter.name for parameter in parameters] # pylint: disable=W0201 results = [[parameters[j].values[final_list[i][j]] for j in range(len(final_list[i]))] for i in range(len(final_list))] self.variants = [] # pylint: disable=W0201 for combination in results: self.variants.append(dict(zip(self.headers, combination)))