def parse_dict(self, data):
        """
        Generate fulfillment payload from a dict

        Args:
            data (dict): description of the fulfillment

        Returns:
            Fulfillment
        """
        if not isinstance(data, dict):
            raise TypeError('reader must be a dict instance')
        self.threshold = data['threshold']

        for subfulfillments in data['subfulfillments']:
            weight = subfulfillments['weight']

            if subfulfillments['type'] == FULFILLMENT:
                self.add_subfulfillment(Fulfillment.from_dict(subfulfillments),
                                        weight)
            elif subfulfillments['type'] == CONDITION:
                self.add_subcondition(Condition.from_dict(subfulfillments),
                                      weight)
            else:
                raise TypeError(
                    'Subconditions must provide either subcondition or fulfillment.'
                )
示例#2
0
    def parse_dict(self, data):
        """
        Generate fulfillment payload from a dict

        Args:
            data (dict): description of the fulfillment

        Returns:
            Fulfillment
        """
        self.threshold = data['threshold']
        for subfulfillments in data.get('subfulfillments', ()):
            self.add_subfulfillment(Fulfillment.from_dict(subfulfillments))
        for subconditions in data.get('subconditions', ()):
            self.add_subcondition(Condition.from_dict(subfulfillments))
示例#3
0
    def parse_dict(self, data):
        """
        Generate fulfillment payload from a dict

        Args:
            data (dict): description of the fulfillment

        Returns:
            Fulfillment
        """
        self.threshold = data['threshold']
        for subfulfillments in data.get('subfulfillments', ()):
            self.add_subfulfillment(Fulfillment.from_dict(subfulfillments))
        for subconditions in data.get('subconditions', ()):
            self.add_subcondition(Condition.from_dict(subfulfillments))