module

headfake.field.id

Classes
  • IdGenerator(length, min_value, name) Base IdGenerator class which handles the generation of zero-padded values for ID fields. The key function is 'select_id' which returns a zero-filled ID number to the specified length.
  • IncrementIdGenerator Incremental ID generator, increments by 1 each time an ID is generated.
  • RandomIdGenerator(max_value, length, min_value, name) Base random ID generator. Sets up a maximum value.
  • RandomNoReuseIdGenerator Random unique ID generator which retains the used IDs so it does not reuse them.
  • RandomReuseIdGenerator Random non-unique ID generator. Simply generates a random number between the min_value and max_value.
  • IdField Field which generates ID values using a provided IdGenerator class.
abstract class

headfake.field.id.IdGenerator(length, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'))

Base IdGenerator class which handles the generation of zero-padded values for ID fields. The key function is 'select_id' which returns a zero-filled ID number to the specified length.

Parameters
  • length (int) Length of zero-padded ID value
  • min_value (int) Minimum value/start point for ID value (default=1)
class

headfake.field.id.IncrementIdGenerator(length, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'), current_no=NOTHING)

Bases
headfake.field.id.IdGenerator

Incremental ID generator, increments by 1 each time an ID is generated.

abstract class

headfake.field.id.RandomIdGenerator(max_value=NOTHING, length, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'))

Bases
headfake.field.id.IdGenerator

Base random ID generator. Sets up a maximum value.

class

headfake.field.id.RandomNoReuseIdGenerator(max_value=NOTHING, used_values=NOTHING, length, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'))

Bases
headfake.field.id.RandomIdGenerator headfake.field.id.IdGenerator

Random unique ID generator which retains the used IDs so it does not reuse them.

class

headfake.field.id.RandomReuseIdGenerator(max_value=NOTHING, length, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'))

Bases
headfake.field.id.RandomIdGenerator headfake.field.id.IdGenerator

Random non-unique ID generator. Simply generates a random number between the min_value and max_value.

class

headfake.field.id.IdField(transformers=NOTHING, final_transformers=NOTHING, name='field_1', hidden=False, error_value=None, transform=NOTHING, prefix='', suffix='', generator=IncrementIdGenerator(length=3, min_value=1, name=UUID('fcf22807-1547-4783-8702-4f344f075a1d'), current_no=1))

Bases
headfake.field.core.Field

Field which generates ID values using a provided IdGenerator class.

Parameters
  • prefix (str, optional) Prefix prepended to generated ID
  • suffix (str, optional) Suffix appended to generated ID
  • generator (IdGenerator, optional) IdGenerator class name to use (defaults to IncrementIdGenerator
Methods
  • init_from_fieldset(fieldset) Initialises field in fieldset.
  • next_value(row) (Union(any, dict(str: any))) Gets next generated value for field.
method
init_from_fieldset(fieldset)

Initialises field in fieldset.

This is run once all fields have been setup. It is generally used by fields in the fieldset to obtain information from other fields in the fieldset for later use.

Parameters
  • fieldset (headfake.Fieldset) Fieldset to initialise from
Returns

None

method
next_value(row)

Gets next generated value for field.

Acts as a decorator around the private '_next_value' method. If 'transformers' have been provided in the constructor they will act on the value after it has been generated.

Parameters
  • row (dict(str: any)) The current data row as a dictionary
Returns (Union(any, dict(str: any)))

Dictionary containing multiple fields OR a single field value