def parse_response()

in footmark/connection.py [0:0]


    def parse_response(self, markers, body, connection):
        results = []
        body = yaml.safe_load(body)
        if not markers:
            markers = ["", ResultSet]

        result_set = ResultSet
        # For get_object
        if not markers[0] and markers[1] is not ResultSet:
            result_set = markers[1](connection)

        for key, value in list(body.items()):
            self.parse_value(value)
            setattr(result_set, self.convert_name(key), value)

        if markers[0] and markers[0] in body:
            for value in list(getattr(result_set, self.convert_name(markers[0])).values()):
                if isinstance(value, list):
                    for sub_value in value:
                        element = markers[1](connection)
                        for k, v in list(sub_value.items()):
                            setattr(element, k, v)
                        results.append(element)
                elif isinstance(value, dict):
                    element = markers[1](connection)
                    for k, v in list(value.items()):
                        setattr(element, k, v)
                    results.append(element)
                else:
                    element = markers[1](connection)
                    setattr(element, k, v)
                    results.append(element)
            return results
        return result_set