Built-in generators

All the builtins.

This module contains some basic and common utilities, such as random generation for person names, countries, integers, strings, dates…

class dammy.stdlib.BloodType

Generates a random blood type

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a random blood type

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly generated blood type
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.CarBrand

Generates a random car brand

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new car brand

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly chosen car manufacturer name
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.CarModel(car_brand=None)

Generates a random car model given a car brand. If car_brand is missing, it will be chosen at random

Parameters:car_brand (dammy.stdlib.CarBrand or dammy.db.ForeignKey) – The brand of the car
generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new car model

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly chosen car model
Raises:Exception
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.CountryName

Generates a random country name

generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new country name Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A country name, chosen at random
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.RandomDateTime(start=None, end=None, date_format=None)

Generates a random datetime in the given interval using the given format. The default start date is datetime.MINYEAR (january 1st) The default end date is datetime.MAXYEAR (december 31st) If format is not supplied, a datetime object will be generated

Parameters:
  • start (datetime) – The lower bound of the interval
  • end (datetime) – The upper bound of the interval
  • date_format (str) – datetime.strftime() compatible format string
generate(dataset=None)

Generates a random datetime and formats it if a format string has been given

Implementation of the generate() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly generated datetime or a string representation of it
generate_raw(dataset=None)

Generates a new random datetime

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly generated datetime
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.RandomInteger(lb, ub)

Generates a random integer in the given interval

Parameters:
  • lb (int) – The lower bound of the inteval
  • ub (int) – The upper bound of the interval
Example::
RandomInteger(0, 5) # Will return a random integer generator in the [0, 5] interval
generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new random integer

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A random integer
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.RandomName(gender=None)

Generates a random name given a gender (optional) If gender not given, it will be chosen at random

Parameters:gender (str) – The gender of the name. Either ‘male’ or ‘female’.
generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new random name

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A person name, chosen at random
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError
class dammy.stdlib.RandomString(length, symbols='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')

Generates a random string with the given length and symbols. The default symbols are all the letters in the english alphabet (both uppercase and lowercase) and numbers 0 through 9

Parameters:
  • length (int) – The length of the string
  • symbols (str, list or tuple) – The simbols available to generate the string
generate(dataset=None)

Generate a value and perform a posterior treatment. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:The value generated by the generator
generate_raw(dataset=None)

Generates a new random string

Implementation of the generate_raw() method from BaseGenerator.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved. It will be ignored
Returns:A randomly generated string
iterator(dataset=None)

Get a iterator which generates values and performs a posterior treatment on them. By default, no treatment is done and generate_raw() is called.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:A Python iterator
iterator_raw(dataset=None)

Get a generator which generates values without posterior treatment.

Parameters:dataset (dammy.db.DatasetGenerator or dict) – The dataset from which all referenced fields will be retrieved
Returns:Python generator
Raises:NotImplementedError