Author: bugman Date: Tue Mar 19 18:31:39 2013 New Revision: 18897 URL: http://svn.gna.org/viewcvs/relax?rev=18897&view=rev Log: The helix and sheet metadata is now stored in and read from relax XML state files. Modified: trunk/generic_fns/structure/api_base.py Modified: trunk/generic_fns/structure/api_base.py URL: http://svn.gna.org/viewcvs/relax/trunk/generic_fns/structure/api_base.py?rev=18897&r1=18896&r2=18897&view=diff ============================================================================== --- trunk/generic_fns/structure/api_base.py (original) +++ trunk/generic_fns/structure/api_base.py Tue Mar 19 18:31:39 2013 @@ -291,6 +291,9 @@ @type file_version: int """ + # Recreate all base objects (i.e. metadata). + xml_to_object(str_node, self, file_version=file_version, blacklist=['model', 'displacements']) + # Recreate the model / molecule data structure. model_nodes = str_node.getElementsByTagName('model') self.structural_data.from_xml(model_nodes, id=id, file_version=file_version) @@ -663,6 +666,23 @@ if not self.structural_data.is_empty(): self.structural_data.to_xml(doc, str_element) + # The structural metadata. + metadata = ['helices', 'sheets'] + for name in metadata: + # The metadata does not exist. + if not hasattr(self, name): + continue + + # Get the object. + obj = getattr(self, name) + + # Create a new element for this object, and add it to the main element. + sub_elem = doc.createElement(name) + str_element.appendChild(sub_elem) + + # Add the value to the sub element. + object_to_xml(doc, sub_elem, value=obj) + # The displacement structure. if hasattr(self, 'displacements'): # Create an XML element.