mailr22728 - in /trunk/specific_analyses: ./ consistency_tests/ frame_order/ jw_mapping/ model_free/ n_state_model/ noe/ relax_d...


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on April 14, 2014 - 12:00:
Author: bugman
Date: Mon Apr 14 12:00:36 2014
New Revision: 22728

URL: http://svn.gna.org/viewcvs/relax?rev=22728&view=rev
Log:
Fixes for the specific analysis parameter list singleton object.

These objects are now really singleton objects and are only initialised once.


Modified:
    trunk/specific_analyses/consistency_tests/parameter_object.py
    trunk/specific_analyses/frame_order/parameter_object.py
    trunk/specific_analyses/jw_mapping/parameter_object.py
    trunk/specific_analyses/model_free/parameter_object.py
    trunk/specific_analyses/n_state_model/parameter_object.py
    trunk/specific_analyses/noe/parameter_object.py
    trunk/specific_analyses/parameter_object.py
    trunk/specific_analyses/relax_disp/parameter_object.py
    trunk/specific_analyses/relax_fit/parameter_object.py

Modified: trunk/specific_analyses/consistency_tests/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/consistency_tests/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/consistency_tests/parameter_object.py       
(original)
+++ trunk/specific_analyses/consistency_tests/parameter_object.py       Mon 
Apr 14 12:00:36 2014
@@ -37,6 +37,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__ method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/frame_order/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/frame_order/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/frame_order/parameter_object.py     (original)
+++ trunk/specific_analyses/frame_order/parameter_object.py     Mon Apr 14 
12:00:36 2014
@@ -35,6 +35,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__ method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/jw_mapping/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/jw_mapping/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/jw_mapping/parameter_object.py      (original)
+++ trunk/specific_analyses/jw_mapping/parameter_object.py      Mon Apr 14 
12:00:36 2014
@@ -36,6 +36,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__ method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/model_free/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/model_free/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/model_free/parameter_object.py      (original)
+++ trunk/specific_analyses/model_free/parameter_object.py      Mon Apr 14 
12:00:36 2014
@@ -38,6 +38,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__ method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/n_state_model/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/n_state_model/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/n_state_model/parameter_object.py   (original)
+++ trunk/specific_analyses/n_state_model/parameter_object.py   Mon Apr 14 
12:00:36 2014
@@ -35,6 +35,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__() method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/noe/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/noe/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/noe/parameter_object.py     (original)
+++ trunk/specific_analyses/noe/parameter_object.py     Mon Apr 14 12:00:36 
2014
@@ -35,6 +35,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__ method.
         Param_list.__init__(self)
 

Modified: trunk/specific_analyses/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/parameter_object.py (original)
+++ trunk/specific_analyses/parameter_object.py Mon Apr 14 12:00:36 2014
@@ -36,7 +36,7 @@
 from user_functions.objects import Desc_container
 
 
-class Param_list:
+class Param_list(object):
     """A special object for handling global and spin parameters."""
 
     def __init__(self, spin_data=True):
@@ -74,17 +74,23 @@
         self._uf_docs = {}
         self._uf_captions = {}
 
-
-    def __new__(self, *args, **kargs):
+        # Set the initialised flag.
+        self._initialised = True
+
+
+    def __new__(cls, *args, **kargs):
         """Replacement function for implementing the singleton design 
pattern."""
 
         # First initialisation.
-        if self.instance is None:
+        if cls._instance is None:
             # Create a new instance.
-            self.instance = object.__new__(self, *args, **kargs)
+            cls._instance = object.__new__(cls, *args, **kargs)
+
+            # Add an initialisation flag.
+            cls._instance._initialised = False
 
         # Already initialised, so return the instance.
-        return self.instance
+        return cls._instance
 
 
     def _add(self, name, scope=None, string=None, default=None, units=None, 
desc=None, py_type=None, set='all', conv_factor=None, grace_string=None, 
err=False, sim=False):

Modified: trunk/specific_analyses/relax_disp/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_disp/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/relax_disp/parameter_object.py      (original)
+++ trunk/specific_analyses/relax_disp/parameter_object.py      Mon Apr 14 
12:00:36 2014
@@ -34,6 +34,9 @@
 
     def __init__(self):
         """Define all the parameters of the analysis."""
+
+        # The object is already initialised.
+        if self._initialised: return
 
         # Execute the base class __init__ method.
         Param_list.__init__(self)

Modified: trunk/specific_analyses/relax_fit/parameter_object.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/specific_analyses/relax_fit/parameter_object.py?rev=22728&r1=22727&r2=22728&view=diff
==============================================================================
--- trunk/specific_analyses/relax_fit/parameter_object.py       (original)
+++ trunk/specific_analyses/relax_fit/parameter_object.py       Mon Apr 14 
12:00:36 2014
@@ -35,6 +35,9 @@
     def __init__(self):
         """Define all the parameters of the analysis."""
 
+        # The object is already initialised.
+        if self._initialised: return
+
         # Execute the base class __init__() method.
         Param_list.__init__(self)
 




Related Messages


Powered by MHonArc, Updated Mon Apr 14 12:20:02 2014