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
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'])
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)
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)
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)
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])
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)
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))
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))
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))
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])
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')
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
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')
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
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')