def _selectCallback(self, data, select_expression=None, 
            previous_results=None,
            total_box_usage=0,
            max_results=0):
        if previous_results is not None:
            results = previous_results
        else:
            results = {}
        xml = ET.fromstring(data["response"])
        box_usage = float(xml.find(".//%sBoxUsage" % SDB_NAMESPACE).text)
        self.box_usage += box_usage
        total_box_usage += box_usage
        next_token_element = xml.find(".//%sNextToken" % SDB_NAMESPACE)
        if next_token_element is not None:
            next_token = next_token_element.text
        else:
            next_token = None
        items = xml.findall(".//%sItem" % SDB_NAMESPACE)
        for item in items:
            key = item.find("./%sName" % SDB_NAMESPACE).text
            attributes = item.findall("%sAttribute" % SDB_NAMESPACE)
            attribute_dict = {}
            for attribute in attributes:
                attr_name = attribute.find("./%sName" % SDB_NAMESPACE).text
                attr_value = attribute.find(SDB_NAMESPACE % "./%sValue").text
                if attr_name in attribute_dict:  
                    attribute_dict[attr_name].append(attr_value)
                else:
                    attribute_dict[attr_name] = [attr_value]
            results[key] = attribute_dict
        if next_token is not None:
            if max_results == 0 or len(results) < max_results:
                return self._select(select_expression, next_token=next_token,
                                    previous_results=results,
                                    total_box_usage=total_box_usage,
                                    max_results=max_results)
        LOGGER.debug("""Select:\n'%s'\nBox usage: %s""" % (
            select_expression,
            total_box_usage))
        return results
dataset/ETHPy150Open wehriam/awspider/awspider/aws/sdb.py/AmazonSDB._selectCallback/swapped operands of `%`