diff options
author | Ionuț Arțăriși <ionut@artarisi.eu> | 2015-07-18 14:30:50 +0100 |
---|---|---|
committer | Raphaël Barrois <raphael.barrois@polytechnique.org> | 2015-10-20 23:03:07 +0200 |
commit | 57be4ac78b1213928a83079d298bafcc93e69483 (patch) | |
tree | a56b33189dd5781c94001e2020a443db62fe796a /factory/faker.py | |
parent | b9347efae7e2f04687863f54e8db7d9e10f9dc6a (diff) | |
download | factory-boy-57be4ac78b1213928a83079d298bafcc93e69483.tar factory-boy-57be4ac78b1213928a83079d298bafcc93e69483.tar.gz |
add a way to add custom providers to Faker
factory_boy wraps faker and it stores Faker generators in a 'private'
_FAKER_REGISTRY class attribute dict. There needs to be a way to extend
the Faker generators with additional custom providers (without having to
access _FAKER_REGISTRY directly).
This commit adds a (factory_boy) Faker.add_provider class method which calls Faker's
own `add_provider` method on internally stored (via _FAKER_REGISTRY)
Faker generators.
Diffstat (limited to 'factory/faker.py')
-rw-r--r-- | factory/faker.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/factory/faker.py b/factory/faker.py index 10a0cba..5411985 100644 --- a/factory/faker.py +++ b/factory/faker.py @@ -94,3 +94,8 @@ class Faker(declarations.OrderedDeclaration): cls._FAKER_REGISTRY[locale] = faker.Faker(locale=locale) return cls._FAKER_REGISTRY[locale] + + @classmethod + def add_provider(cls, provider, locale=None): + """Add a new Faker provider for the specified locale""" + cls._get_faker(locale).add_provider(provider) |