CIME.XML.entry_id.EntryID
- class CIME.XML.entry_id.EntryID(infile=None, schema=None, read_only=True)[source]
Bases:
GenericXML
Methods
__init__
Initialize an object
Add element node to self at root
Add elements from srcobj to self under the appropriate group element, entries to be added must have a child element <file> with value "infile"
attrib
change_file
check_if_comp_var
Returns True if timestamp matches what is expected
in env_base.py, not expected to get here
compare_xml
copy
get
get_child
get_child_content
This is the critical function, its interface and performance are crucial.
Set the value of an entry to the default value for that entry
get_description
get_element_text
get_elements_from_child_content
get_groups
get_id
get_node_element_info
get_nodes_by_id
get_optional_child
get_raw_record
A value in the xml file may contain references to other xml variables or to environment variables.
get_type_info
get_valid_value_string
get_valid_values
Get a value for entry with id attribute vid.
Handle this case: <entry id ...> <values> <value A="a1">X</value> <value A="a2">Y</value> <value A="a3" B="b1">Z</value> </values> </entry>
Same functionality as get_value but it returns a list, if the value in xml contains commas the list have multiple elements split on commas
get_version
has
invalidate
A subclass is doing caching, we need to lock the tree structure in order to avoid invalidating cache.
make_child
make_child_comment
name
overwrite_existing_entries
pop
Read and parse an xml file into the object.
read_fd
remove_child
Get an xml element matching nodename with optional attributes.
scan_children
Get an xml element matching nodename with optional attributes.
set
set_default_value
set_element_text
set_name
set_text
set_valid_values
Set the value of an entry-id field to value Returns the value or None if not found subgroup is ignored in the general routine and applied in specific methods
text
to_string
unlock
validate_timestamp
validate an XML file against a provided schema file using pylint
Write an xml file from data in self
- class CacheEntry(tree, root, modtime)[source]
Bases:
tuple
- add_elements_by_group(srcobj, attributes=None, infile=None)[source]
Add elements from srcobj to self under the appropriate group element, entries to be added must have a child element <file> with value “infile”
- get_children(name=None, attributes=None, root=None)[source]
This is the critical function, its interface and performance are crucial.
You can specify attributes={key:None} if you want to select children with the key attribute but you don’t care what its value is.
- get_default_value(node, attributes=None)[source]
Set the value of an entry to the default value for that entry
- get_resolved_value(raw_value, allow_unresolved_envvars=False, subgroup=None)[source]
A value in the xml file may contain references to other xml variables or to environment variables. These are refered to in the perl style with $name and $ENV{name}.
>>> obj = GenericXML() >>> os.environ["FOO"] = "BAR" >>> os.environ["BAZ"] = "BARF" >>> obj.get_resolved_value("one $ENV{FOO} two $ENV{BAZ} three") 'one BAR two BARF three' >>> obj.get_resolved_value("2 + 3 - 1") '4' >>> obj.get_resolved_value("0001-01-01") '0001-01-01' >>> obj.get_resolved_value("$SHELL{echo hi}") == 'hi' True
- get_value(vid, attribute=None, resolved=True, subgroup=None)[source]
Get a value for entry with id attribute vid. or from the values field if the attribute argument is provided and matches
- get_value_match(vid, attributes=None, exact_match=False, entry_node=None, replacement_for_none=None)[source]
Handle this case: <entry id …>
- <values>
<value A=”a1”>X</value> <value A=”a2”>Y</value> <value A=”a3” B=”b1”>Z</value>
</values>
</entry>
If replacement_for_none is provided, then: if the found text value would give a None value, instead replace it with the value given by the replacement_for_none argument. (However, still return None if no match is found.) This may or may not be needed, but is in place to maintain some old logic.
- get_values(vid, attribute=None, resolved=True, subgroup=None)[source]
Same functionality as get_value but it returns a list, if the value in xml contains commas the list have multiple elements split on commas
- lock()[source]
A subclass is doing caching, we need to lock the tree structure in order to avoid invalidating cache.
- read(infile, schema=None)[source]
Read and parse an xml file into the object. The schema variable can either be a path to an xsd schema file or a dictionary of paths to files by version.
- scan_child(nodename, attributes=None, root=None)[source]
Get an xml element matching nodename with optional attributes.
Error unless exactly one match.
- scan_optional_child(nodename, attributes=None, root=None)[source]
Get an xml element matching nodename with optional attributes.
Return None if no match.
- set_value(vid, value, subgroup=None, ignore_type=False)[source]
Set the value of an entry-id field to value Returns the value or None if not found subgroup is ignored in the general routine and applied in specific methods