'Weibull distribution.
alpha is the scale parameter and beta is the shape parameter.'

def weibullvariate(self, alpha, beta):

    u = (1.0 - self.random())
    return (alpha * pow((- _log(u)), (1.0 / beta)))
