From 47498f06062c63f93cf611d1f5a20e4fc467238b Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Fri, 29 Jun 2018 12:59:45 +0100
Subject: [PATCH] Added passing through to all other factory classes

---
 force_bdss/mco/base_mco_factory.py                        | 7 +++++--
 force_bdss/mco/parameters/base_mco_parameter_factory.py   | 8 +++++---
 .../base_notification_listener_factory.py                 | 5 +++--
 force_bdss/ui_hooks/base_ui_hooks_factory.py              | 5 +++--
 4 files changed, 16 insertions(+), 9 deletions(-)

diff --git a/force_bdss/mco/base_mco_factory.py b/force_bdss/mco/base_mco_factory.py
index 5f15c7a..5854417 100644
--- a/force_bdss/mco/base_mco_factory.py
+++ b/force_bdss/mco/base_mco_factory.py
@@ -26,8 +26,11 @@ class BaseMCOFactory(BaseFactory):
     #: The communicator associated to the MCO. Define this to your MCO comm.
     communicator_class = Type(BaseMCOCommunicator, allow_none=False)
 
-    def __init__(self, plugin):
-        super(BaseMCOFactory, self).__init__(plugin=plugin)
+    def __init__(self, plugin, *args, **kwargs):
+        super(BaseMCOFactory, self).__init__(
+            plugin=plugin,
+            *args,
+            **kwargs)
 
         self.optimizer_class = self.get_optimizer_class()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/mco/parameters/base_mco_parameter_factory.py b/force_bdss/mco/parameters/base_mco_parameter_factory.py
index 258f90e..bc3a0fd 100644
--- a/force_bdss/mco/parameters/base_mco_parameter_factory.py
+++ b/force_bdss/mco/parameters/base_mco_parameter_factory.py
@@ -39,10 +39,12 @@ class BaseMCOParameterFactory(BaseFactory):
             "get_model_class was not implemented in factory {}".format(
                 self.__class__))
 
-    def __init__(self, mco_factory):
-        self.mco_factory = mco_factory
+    def __init__(self, mco_factory, *args, **kwargs):
         super(BaseMCOParameterFactory, self).__init__(
-            plugin=mco_factory.plugin)
+            mco_factory=mco_factory,
+            plugin=mco_factory.plugin,
+            *args,
+            **kwargs)
 
         self.description = self.get_description()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/notification_listeners/base_notification_listener_factory.py b/force_bdss/notification_listeners/base_notification_listener_factory.py
index 1166ec8..2b556a9 100644
--- a/force_bdss/notification_listeners/base_notification_listener_factory.py
+++ b/force_bdss/notification_listeners/base_notification_listener_factory.py
@@ -32,7 +32,7 @@ class BaseNotificationListenerFactory(BaseFactory):
     #: listener model class.
     model_class = Type(BaseNotificationListenerModel, allow_none=False)
 
-    def __init__(self, plugin):
+    def __init__(self, plugin, *args, **kwargs):
         """Initializes the instance.
 
         Parameters
@@ -40,7 +40,8 @@ class BaseNotificationListenerFactory(BaseFactory):
         plugin: Plugin
             The plugin that holds this factory.
         """
-        super(BaseNotificationListenerFactory, self).__init__(plugin=plugin)
+        super(BaseNotificationListenerFactory, self).__init__(
+            plugin=plugin, *args, **kwargs)
 
         self.listener_class = self.get_listener_class()
         self.model_class = self.get_model_class()
diff --git a/force_bdss/ui_hooks/base_ui_hooks_factory.py b/force_bdss/ui_hooks/base_ui_hooks_factory.py
index 6965423..1747942 100644
--- a/force_bdss/ui_hooks/base_ui_hooks_factory.py
+++ b/force_bdss/ui_hooks/base_ui_hooks_factory.py
@@ -18,7 +18,7 @@ class BaseUIHooksFactory(BaseFactory):
     #: base hook managers.
     ui_hooks_manager_class = Type(BaseUIHooksManager, allow_none=False)
 
-    def __init__(self, plugin):
+    def __init__(self, plugin, *args, **kwargs):
         """Initializes the instance.
 
         Parameters
@@ -26,7 +26,8 @@ class BaseUIHooksFactory(BaseFactory):
         plugin: Plugin
             The plugin that holds this factory.
         """
-        super(BaseUIHooksFactory, self).__init__(plugin=plugin)
+        super(BaseUIHooksFactory, self).__init__(
+            plugin=plugin, *args, **kwargs)
 
         self.ui_hooks_manager_class = self.get_ui_hooks_manager_class()
 
-- 
GitLab