summaryrefslogtreecommitdiff
path: root/factory
diff options
context:
space:
mode:
authorRaphaël Barrois <raphael.barrois@polytechnique.org>2012-11-14 23:42:46 +0100
committerRaphaël Barrois <raphael.barrois@polytechnique.org>2012-11-15 00:03:37 +0100
commit5ec4a50edc67073e54218549d6985f934f94b88f (patch)
tree4a68d1367731a29e198090715cfe1cf7b039bba9 /factory
parenta19f64cbfadc0e36b2ff9812980e23955276632c (diff)
downloadfactory-boy-5ec4a50edc67073e54218549d6985f934f94b88f.tar
factory-boy-5ec4a50edc67073e54218549d6985f934f94b88f.tar.gz
Add an extension point for kwargs mangling.
Signed-off-by: Raphaël Barrois <raphael.barrois@polytechnique.org>
Diffstat (limited to 'factory')
-rw-r--r--factory/base.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/factory/base.py b/factory/base.py
index 20a3a6b..59f37eb 100644
--- a/factory/base.py
+++ b/factory/base.py
@@ -570,6 +570,11 @@ class Factory(BaseFactory):
return building_function[0]
@classmethod
+ def _adjust_kwargs(cls, **kwargs):
+ """Extension point for custom kwargs adjustment."""
+ return kwargs
+
+ @classmethod
def _prepare(cls, create, **kwargs):
"""Prepare an object for this factory.
@@ -578,6 +583,7 @@ class Factory(BaseFactory):
**kwargs: arguments to pass to the creation function
"""
target_class = getattr(cls, CLASS_ATTRIBUTE_ASSOCIATED_CLASS)
+ kwargs = cls._adjust_kwargs(**kwargs)
# Extract *args from **kwargs
args = tuple(kwargs.pop(key) for key in cls.FACTORY_ARG_PARAMETERS)