Example #1
0
    def __generatePermutations(self):
        """
        Combines all values to a set of permutations.

        These define all possible combinations of the configured settings

        """

        fields = self.__fields
        values = {}
        for key in fields:
            if "values" in fields[key]:
                values[key] = fields[key]["values"]
            elif "default" in fields[key] and not "detect" in fields[key]:
                values[key] = [fields[key]["default"]]

        # Thanks to eumiro via http://stackoverflow.com/questions/3873654/combinations-from-dictionary-with-list-values-using-python
        names = sorted(values)
        combinations = [
            dict(zip(names, prod))
            for prod in itertools.product(*(values[name] for name in names))
        ]
        permutations = [
            Permutation.getPermutation(combi) for combi in combinations
        ]

        return permutations
Example #2
0
    def setStaticPermutation(self, **argv):
        """Sets current permutation to a static permutation which contains all values hardly wired to static values
        using setField() or given via additional named parameters."""

        combi = {}

        for name in self.__fields:
            entry = self.__fields[name]
            if not "detect" in entry:
                combi[name] = entry["default"]

        for name in argv:
            combi[name] = argv[name]

        if not combi:
            self.__permutation = None
            return None

        permutation = Permutation.getPermutation(combi)
        self.__permutation = permutation

        return permutation
Example #3
0
    def setStaticPermutation(self, **argv):
        """Sets current permutation to a static permutation which contains all values hardly wired to static values
        using setField() or given via additional named parameters."""

        combi = {}

        for name in self.__fields:
            entry = self.__fields[name]
            if not "detect" in entry:
                combi[name] = entry["default"]

        for name in argv:
            combi[name] = argv[name]

        if not combi:
            self.__permutation = None
            return None

        permutation = Permutation.getPermutation(combi)
        self.__permutation = permutation

        return permutation
Example #4
0
    def __generatePermutations(self):
        """
        Combines all values to a set of permutations.

        These define all possible combinations of the configured settings

        """

        fields = self.__fields
        values = {}
        for key in fields:
            if "values" in fields[key]:
                values[key] = fields[key]["values"]
            elif "default" in fields[key] and not "detect" in fields[key]:
                values[key] = [fields[key]["default"]]

        # Thanks to eumiro via http://stackoverflow.com/questions/3873654/combinations-from-dictionary-with-list-values-using-python
        names = sorted(values)
        combinations = [dict(zip(names, prod)) for prod in itertools.product(*(values[name] for name in names))]
        permutations = [Permutation.getPermutation(combi) for combi in combinations]

        return permutations