Author: bugman
Date: Mon Mar 2 15:32:59 2015
New Revision: 27723
URL: http://svn.gna.org/viewcvs/relax?rev=27723&view=rev
Log:
Bug fix for the results.write user function when loading relax state files.
The results.write user function can load not only the results file consisting
of a single data pipe,
but also relax state files if only a single pipe is present. However this was
causing the current
data pipe and other pipe-independent data (sequence alignments and the GUI) to
be overwritten, just
as when loading a state file. Now only the data from the data pipe will be
loaded and the pipe
independent data in the state file will be ignored.
Modified:
trunk/data_store/__init__.py
Modified: trunk/data_store/__init__.py
URL:
http://svn.gna.org/viewcvs/relax/trunk/data_store/__init__.py?rev=27723&r1=27722&r2=27723&view=diff
==============================================================================
--- trunk/data_store/__init__.py (original)
+++ trunk/data_store/__init__.py Mon Mar 2 15:32:59 2015
@@ -442,24 +442,16 @@
@param file: The open file object.
@type file: file
- @keyword dir: The name of the directory containing the
results file (needed
- for loading external files).
+ @keyword dir: The name of the directory containing the
results file (needed for loading external files).
@type dir: str
- @keyword pipe_to: The data pipe to load the XML data pipe
into (the file must only
- contain one data pipe).
+ @keyword pipe_to: The data pipe to load the XML data pipe
into (the file must only contain one data pipe).
@type pipe_to: str
- @keyword verbosity: A flag specifying the amount of
information to print. The
- higher the value, the greater the
verbosity.
+ @keyword verbosity: A flag specifying the amount of
information to print. The higher the value, the greater the verbosity.
@type verbosity: int
- @raises RelaxError: If pipe_to is given and the file contains
multiple pipe
- elements; or if the data pipes in the XML
file already exist in
- the relax data store; or if the data pipe
type is invalid; or
- if the target data pipe is not empty.
+ @raises RelaxError: If pipe_to is given and the file contains
multiple pipe elements; or if the data pipes in the XML file already exist in
the relax data store; or if the data pipe type is invalid; or if the target
data pipe is not empty.
@raises RelaxNoPipeError: If pipe_to is given but the data pipe does
not exist.
- @raises RelaxError: If the data pipes in the XML file already
exist in the relax
- data store, or if the data pipe type is
invalid.
- @raises RelaxPipeError: If the data pipes of the XML file are
already present in the
- relax data store.
+ @raises RelaxError: If the data pipes in the XML file already
exist in the relax data store, or if the data pipe type is invalid.
+ @raises RelaxPipeError: If the data pipes of the XML file are
already present in the relax data store.
"""
# Create the XML document from the file.
@@ -475,23 +467,6 @@
else:
file_version = int(file_version)
- # Get the GUI nodes.
- gui_nodes = relax_node.getElementsByTagName('relax_gui')
- if gui_nodes:
- self.relax_gui.from_xml(gui_nodes[0], file_version=file_version)
-
- # Get the sequence alignment nodes.
- seq_align_nodes =
relax_node.getElementsByTagName('sequence_alignments')
- if seq_align_nodes:
- # Initialise the object.
- self.sequence_alignments = Sequence_alignments()
-
- # Populate it.
- self.sequence_alignments.from_xml(seq_align_nodes[0],
file_version=file_version)
-
- # Recreate all the data store data structures.
- xml_to_object(relax_node, self, file_version=file_version,
blacklist=['pipe', 'relax_gui', 'sequence_alignments'])
-
# Get the pipe nodes.
pipe_nodes = relax_node.getElementsByTagName('pipe')
@@ -527,6 +502,23 @@
# Load the state.
else:
+ # Get the GUI nodes.
+ gui_nodes = relax_node.getElementsByTagName('relax_gui')
+ if gui_nodes:
+ self.relax_gui.from_xml(gui_nodes[0],
file_version=file_version)
+
+ # Get the sequence alignment nodes.
+ seq_align_nodes =
relax_node.getElementsByTagName('sequence_alignments')
+ if seq_align_nodes:
+ # Initialise the object.
+ self.sequence_alignments = Sequence_alignments()
+
+ # Populate it.
+ self.sequence_alignments.from_xml(seq_align_nodes[0],
file_version=file_version)
+
+ # Recreate all the data store data structures.
+ xml_to_object(relax_node, self, file_version=file_version,
blacklist=['pipe', 'relax_gui', 'sequence_alignments'])
+
# Checks.
for pipe_node in pipe_nodes:
# The pipe name and type.
_______________________________________________
relax (http://www.nmr-relax.com)
This is the relax-commits mailing list
[email protected]
To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-commits