Source code for CIME.XML.stream

"""
Interface to the streams.xml style files.  This class inherits from GenericXML.py

stream files predate cime and so do not conform to entry id format
"""
from CIME.XML.standard_module_setup import *
from CIME.XML.generic_xml import GenericXML
from CIME.XML.files import Files
from CIME.utils import expect

logger = logging.getLogger(__name__)


[docs] class Stream(GenericXML): def __init__(self, infile=None, files=None): """ initialize an object """ if files is None: files = Files() schema = None GenericXML.__init__(self, infile, schema=schema)
[docs] def get_value(self, item, attribute=None, resolved=True, subgroup=None): """ Get Value of fields in a stream.xml file """ expect(subgroup is None, "This class does not support subgroups") value = None node = None names = item.split("/") node = None for name in names: node = self.scan_child(name, root=node) if node is not None: value = self.text(node).strip() if value is None: # if all else fails # pylint: disable=assignment-from-none value = GenericXML.get_value(self, item, attribute, resolved, subgroup) if resolved: if value is not None: value = self.get_resolved_value(value) elif item in os.environ: value = os.environ[item] return value