Esempio n. 1
0
  def getParams(self):
    """Returns the mean year, month and date from param_values or a default
    value.
    """
    try:
      mean_year = self.param_values.get('mean_year', self.DEFAULT_MEAN_YEAR)
      mean_year = int(mean_year)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for mean_year is invalid!' %
                                mean_year)

    try:
      mean_month = self.param_values.get('mean_month', self.DEFAULT_MEAN_MONTH)
      mean_month = int(mean_month)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for mean_month is invalid!' %
                                mean_month)

    try:
      mean_day = self.param_values.get('mean_day', self.DEFAULT_MEAN_DAY)
      mean_day = int(mean_day)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for mean_day is invalid!' %
                                mean_day)

    return mean_year, mean_month, mean_day
Esempio n. 2
0
 def checkParameters(self):
     super(FixedReferenceProvider, self).checkParameters()
     try:
         Model.get(self.param_values['key'])
     except:
         raise ParameterValueError('Key %r does not exist!' %
                                   self.param_values['key'])
Esempio n. 3
0
 def checkParameters(self):
     super(FixedFloatProvider, self).checkParameters()
     value = self.param_values.get('value', None)
     try:
         int(value)
     except (TypeError, ValueError):
         raise ParameterValueError('%s is not a valid float' % value)
Esempio n. 4
0
    def checkParameters(self):
        super(RandomReferenceProvider, self).checkParameters()
        model_name = self.param_values.get('model_name', None)

        model = seeder_models_logic.getModel(model_name)
        if not model:
            raise ParameterValueError('Model %s does not exist' % model_name)
Esempio n. 5
0
 def checkParameters(self):
     super(FixedBooleanProvider, self).checkParameters()
     value = self.param_values.get('value', None)
     try:
         bool(value)
     except (TypeError, ValueError):
         raise ParameterValueError('%s is not a valid boolean' % value)
Esempio n. 6
0
  def checkParameters(self):
    super(RandomNormalDistributionDateProvider, self).checkParameters()

    mean_year, mean_month, mean_day = self.getParams()

    try:
      datetime.datetime(mean_year, mean_month, mean_day)
    except ValueError, inst:
      raise ParameterValueError(inst.args[0])
Esempio n. 7
0
 def checkParameters(self):
     super(FixedEmailProvider, self).checkParameters()
     value = self.param_values.get('value', None)
     try:
         if not email_re.match(value):
             raise ValueError
     except (TypeError, ValueError):
         raise ParameterValueError('%s is not a valid e-mail address' %
                                   value)
Esempio n. 8
0
 def checkParameters(self):
     super(RandomUniformDistributionFloatProvider, self).checkParameters()
     try:
         for key in ('min', 'max'):
             value = self.param_values.get(key, 0)
             float(value)
     except (TypeError, ValueError):
         raise ParameterValueError('%s is not a valid float for %s' %
                                   (value, key))
Esempio n. 9
0
 def checkParameters(self):
   super(SequenceIntegerProvider, self).checkParameters()
   try:
     for key in ('start', 'step'):
       value = self.param_values.get(key, 0)
       int(value)
   except (TypeError, ValueError):
     raise ParameterValueError('%s is not a valid integer for %s' %
                               (value, key))
Esempio n. 10
0
 def checkParameters(self):
   super(RandomNormalDistributionIntegerProvider, self).checkParameters()
   try:
     for key in ('mean', 'stdev'):
       value = self.param_values.get(key, 0)
       int(value)
   except (TypeError, ValueError):
     raise ParameterValueError('%s is not a valid integer for %s' %
                               (value, key))
Esempio n. 11
0
    def checkParameters(self):
        super(RandomUniformDistributionDateProvider, self).checkParameters()

        min_year, max_year, min_month, max_month, min_day, max_day = (
            self.getParams())

        try:
            min_date = datetime.datetime(min_year, min_month, min_day)
            max_date = datetime.datetime(max_year, max_month, max_day)
        except ValueError, inst:
            raise ParameterValueError(inst.args[0])
Esempio n. 12
0
    def checkParameters(self):
        super(RandomPhraseProvider, self).checkParameters()
        try:
            minw = int(self.param_values.get('min_words', 1))
        except ValueError:
            raise ParameterValueError(
                'Value supplied for min_words is not integer')

        try:
            maxw = int(self.param_values.get('max_words', 1))
        except ValueError:
            raise ParameterValueError(
                'Value supplied for max_words is not integer')

        if minw <= 0:
            raise ParameterValueError(
                'Value supplied for min_words must be positive')

        if maxw <= 0:
            raise ParameterValueError(
                'Value supplied for max_words must be positive')
Esempio n. 13
0
  def getStdev(self):
    """Returns the standard deviation for the distribution, expressed in
    seconds (for use with a timestamp).
    """
    stdev = self.param_values.get('stdev', self.DEFAULT_STDEV)
    try:
      stdev = int(stdev)
      if stdev < 0:
        raise ValueError
    except (TypeError, ValueError):
      raise ParameterValueError('Invalid value for standard deviation')

    # 24 hors / day, 60 minutes / hour, 60 seconds / minutes
    return stdev * 24 * 60 * 60
Esempio n. 14
0
  def checkParameters(self):
    super(FixedDateProvider, self).checkParameters()
    date = datetime.datetime.today()

    year = self.param_values.get('year', None)
    month = self.param_values.get('month', None)
    day = self.param_values.get('day', None)

    try:
      if year:
        year = int(year)
      else:
        year = date.year
    except (TypeError, ValueError):
      raise ParameterValueError('Invalid value %s for year' % year)

    try:
      if month:
        month = int(month)
      else:
        month = date.month
    except (TypeError, ValueError):
      raise ParameterValueError('Invalid value %s for month' % month)

    try:
      if day:
        day = int(day)
      else:
        day = date.day
    except (TypeError, ValueError):
      raise ParameterValueError('Invalid value %s for day' % day)

    try:
      date = datetime.datetime(year, month, day)
    except ValueError:
      raise ParameterValueError('Invalid year, month or day')
Esempio n. 15
0
    def getParams(self):
        """Returns minimum and maximum year, month and date, either from
    param_values or a default value.
    """
        try:
            min_year = self.param_values.get('min_year', self.DEFAULT_MIN_YEAR)
            min_year = int(min_year)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for min_year is invalid!' %
                                      min_year)

        try:
            max_year = self.param_values.get('max_year', self.DEFAULT_MAX_YEAR)
            max_year = int(max_year)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for max_year is invalid!' %
                                      max_year)

        try:
            min_month = self.param_values.get('min_month',
                                              self.DEFAULT_MIN_MONTH)
            min_month = int(min_month)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for min_month is invalid!' %
                                      min_month)

        try:
            max_month = self.param_values.get('max_month',
                                              self.DEFAULT_MAX_MONTH)
            max_month = int(max_month)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for max_month is invalid!' %
                                      max_month)

        try:
            min_day = self.param_values.get('min_day', self.DEFAULT_MIN_DAY)
            min_day = int(min_day)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for min_day is invalid!' %
                                      min_day)

        try:
            max_day = self.param_values.get('max_day', self.DEFAULT_MAX_DAY)
            max_day = int(max_day)
        except (TypeError, ValueError):
            raise ParameterValueError('Value "%s" for max_day is invalid!' %
                                      max_day)

        return min_year, max_year, min_month, max_month, min_day, max_day
Esempio n. 16
0
class RandomUniformDistributionDateProvider(DateProvider):
  """Returns a date sampled from an uniform distribution.
  """

  DEFAULT_MIN_YEAR = datetime.date.today().year
  DEFAULT_MAX_YEAR = datetime.date.today().year
  DEFAULT_MIN_MONTH = datetime.date.today().month
  DEFAULT_MAX_MONTH = datetime.date.today().month
  DEFAULT_MIN_DAY = datetime.date.today().day
  DEFAULT_MAX_DAY = datetime.date.today().day

  @classmethod
  def getParametersList(cls):
    parameters = (super(RandomUniformDistributionDateProvider, cls).
                  getParametersList()[:])
    parameters += [
      DataProviderParameter('min_year',
                            'Minimum year',
                            'Defaults to the current year',
                            False),
      DataProviderParameter('max_year',
                            'Maximum year',
                            'Defaults to the current year',
                            False),
      DataProviderParameter('min_month',
                            'Minimum month',
                            'Defaults to the current month',
                            False),
      DataProviderParameter('max_month',
                            'Maximum month',
                            'Defaults to the current month',
                            False),
      DataProviderParameter('min_day',
                            'Minimum day',
                            'Defaults to the current day',
                            False),
      DataProviderParameter('max_day',
                            'Maximum day',
                            'Defaults to the current day',
                            False)]
    return parameters

  def getParams(self):
    """Returns minimum and maximum year, month and date, either from
    param_values or a default value.
    """
    try:
      min_year = self.param_values.get('min_year', self.DEFAULT_MIN_YEAR)
      min_year = int(min_year)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for min_year is invalid!' %
                                min_year)

    try:
      max_year = self.param_values.get('max_year', self.DEFAULT_MAX_YEAR)
      max_year = int(max_year)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for max_year is invalid!' %
                                max_year)

    try:
      min_month = self.param_values.get('min_month', self.DEFAULT_MIN_MONTH)
      min_month = int(min_month)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for min_month is invalid!' %
                                min_month)

    try:
      max_month = self.param_values.get('max_month', self.DEFAULT_MAX_MONTH)
      max_month = int(max_month)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for max_month is invalid!' %
                                max_month)

    try:
      min_day = self.param_values.get('min_day', self.DEFAULT_MIN_DAY)
      min_day = int(min_day)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for min_day is invalid!' %
                                min_day)

    try:
      max_day = self.param_values.get('max_day', self.DEFAULT_MAX_DAY)
      max_day = int(max_day)
    except (TypeError, ValueError):
      raise ParameterValueError('Value "%s" for max_day is invalid!' %
                                max_day)

    return min_year, max_year, min_month, max_month, min_day, max_day

  def checkParameters(self):
    super(RandomUniformDistributionDateProvider, self).checkParameters()


    min_year, max_year, min_month, max_month, min_day, max_day = (
        self.getParams())


    try:
      min_date = datetime.datetime(min_year, min_month, min_day)
      max_date = datetime.datetime(max_year, max_month, max_day)
    except ValueError, inst:
      raise ParameterValueError(inst.args[0])

    if max_date < min_date:
      raise ParameterValueError('Minimum date must be less than maximum date')