def parse_body(self):
        try:
            js = json.loads(self.body)
        except:
            raise MalformedResponseError("Failed to parse JSON", body=self.body,
                driver=LinodeNodeDriver)

        try:
            if isinstance(js, dict):
                # solitary response - promote to list
                js = [js]
            ret = []
            errs = []
            for obj in js:
                if ("DATA" not in obj or "ERRORARRAY" not in obj
                    or "ACTION" not in obj):
                    ret.append(None)
                    errs.append(self.invalid)
                    continue
                ret.append(obj["DATA"])
                errs.extend(self._make_excp(e) for e in obj["ERRORARRAY"])
            return (ret, errs)
        except:
            return (None, [self.invalid])
Calculates a random Latin hypercube set of n points in k
dataset/ETHPy150Open cloudkick/libcloud/libcloud/compute/drivers/linode.py/LinodeResponse.parse_body--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/doegenerators/optlh.py/rand_latin_hypercube