mailr9512 - in /1.3: generic_fns/state.py prompt/state.py test_suite/system_tests/relax_fit.py test_suite/system_tests/state.py


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

Header


Content

Posted by edward on September 11, 2009 - 11:31:
Author: bugman
Date: Fri Sep 11 11:31:44 2009
New Revision: 9512

URL: http://svn.gna.org/viewcvs/relax?rev=9512&view=rev
Log:
Added the force flag to the state.load() user function.

When True, this causes the relax data store to be reset prior to state 
loading.


Modified:
    1.3/generic_fns/state.py
    1.3/prompt/state.py
    1.3/test_suite/system_tests/relax_fit.py
    1.3/test_suite/system_tests/state.py

Modified: 1.3/generic_fns/state.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/generic_fns/state.py?rev=9512&r1=9511&r2=9512&view=diff
==============================================================================
--- 1.3/generic_fns/state.py (original)
+++ 1.3/generic_fns/state.py Fri Sep 11 11:31:44 2009
@@ -101,13 +101,15 @@
     return True
 
 
-def load_state(state=None, dir_name=None):
+def load_state(state=None, dir_name=None, force=False):
     """Function for loading a saved program state.
 
     @keyword state:     The saved state file.
     @type state:        str
     @keyword dir_name:  The path of the state file.
     @type dir_name:     str
+    @keyword force:     If True, the relax data store will be reset prior to 
state loading.
+    @type force:        bool
     """
 
     # Open the file for reading.
@@ -115,6 +117,10 @@
 
     # Determine the format of the file.
     format = determine_format(file)
+
+    # Reset.
+    if force:
+        ds.__reset__()
 
     # Make sure that the data store is empty.
     if not ds.is_empty():

Modified: 1.3/prompt/state.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/prompt/state.py?rev=9512&r1=9511&r2=9512&view=diff
==============================================================================
--- 1.3/prompt/state.py (original)
+++ 1.3/prompt/state.py Fri Sep 11 11:31:44 2009
@@ -36,7 +36,7 @@
 class State(User_fn_class):
     """Class for saving or loading the program state."""
 
-    def load(self, state=None, dir_name=None):
+    def load(self, state=None, dir_name=None, force=False):
         """Function for loading a saved program state.
 
         Keyword Arguments
@@ -47,6 +47,8 @@
 
         dir_name:  The name of the directory in which the file is found.
 
+        force:  A boolean flag which if True will cause the current program 
state to be overwritten.
+
 
         Description
         ~~~~~~~~~~~
@@ -54,8 +56,12 @@
         This function is able to handle uncompressed, bzip2 compressed 
files, or gzip compressed
         files automatically.  The full file name including extension can be 
supplied, however, if
         the file cannot be found, this function will search for the file 
name with '.bz2' appended
-        followed by the file name with '.gz' appended.  For more advanced 
users, file descriptor
-        objects are also supported.
+        followed by the file name with '.gz' appended.
+        
+        Both the XML and pickled saved state formats are supported and 
automatically determined.
+        For more advanced users, file descriptor objects are also supported. 
 If the force flag is
+        set to True, then the relax data store will be reset prior to the 
loading of the saved
+        state.
 
 
         Examples
@@ -67,27 +73,30 @@
         relax> state.load(state='save')
 
 
-        The following commands will load the state saved in the bzip2 
compressed file 'save.bz2'.
+        Use one of the following commands to load the state saved in the 
bzip2 compressed file
+        'save.bz2':
 
         relax> state.load('save')
         relax> state.load(state='save')
         relax> state.load('save.bz2')
-        relax> state.load(state='save.bz2')
+        relax> state.load(state='save.bz2', force=True)
         """
 
         # Function intro text.
         if self.__relax__.interpreter.intro:
             text = sys.ps3 + "state.load("
             text = text + "state=" + repr(state)
-            text = text + ", dir_name=" + repr(dir_name) + ")"
+            text = text + ", dir_name=" + repr(dir_name)
+            text = text + ", force=" + repr(force) + ")"
             print(text)
 
         # The argument checks.
         check.is_str_or_inst(state, 'file name')
         check.is_str(dir_name, 'directory name', can_be_none=True)
+        check.is_bool(force, 'force flag')
 
         # Execute the functional code.
-        load_state(state=state, dir_name=dir_name)
+        load_state(state=state, dir_name=dir_name, force=force)
 
 
     def save(self, state=None, dir_name=None, compress_type=1, force=False, 
pickle=True):

Modified: 1.3/test_suite/system_tests/relax_fit.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/relax_fit.py?rev=9512&r1=9511&r2=9512&view=diff
==============================================================================
--- 1.3/test_suite/system_tests/relax_fit.py (original)
+++ 1.3/test_suite/system_tests/relax_fit.py Fri Sep 11 11:31:44 2009
@@ -90,7 +90,7 @@
         """The Sparky peak height loading test."""
 
         # Load the original state.
-        self.relax.interpreter._State.load(state='basic_heights_T2_ncyc1', 
dir_name=sys.path[-1] + sep+'test_suite'+sep+'shared_data'+sep+'saved_states')
+        self.relax.interpreter._State.load(state='basic_heights_T2_ncyc1', 
dir_name=sys.path[-1] + 
sep+'test_suite'+sep+'shared_data'+sep+'saved_states', force=True)
 
         # Create a new data pipe for the new data.
         self.relax.interpreter._Pipe.create('new', 'relax_fit')

Modified: 1.3/test_suite/system_tests/state.py
URL: 
http://svn.gna.org/viewcvs/relax/1.3/test_suite/system_tests/state.py?rev=9512&r1=9511&r2=9512&view=diff
==============================================================================
--- 1.3/test_suite/system_tests/state.py (original)
+++ 1.3/test_suite/system_tests/state.py Fri Sep 11 11:31:44 2009
@@ -64,13 +64,13 @@
         self.relax.interpreter._State.save(self.tmpfile, force=True)
 
         # Load the state.
-        self.relax.interpreter._State.load(self.tmpfile)
+        self.relax.interpreter._State.load(self.tmpfile, force=True)
 
         # Save the state.
         self.relax.interpreter._State.save(self.tmpfile, force=True)
 
         # Load the state.
-        self.relax.interpreter._State.load(self.tmpfile)
+        self.relax.interpreter._State.load(self.tmpfile, force=True)
 
 
     def test_write_read_pipes(self):




Related Messages


Powered by MHonArc, Updated Fri Sep 11 11:40:02 2009