本文整理汇总了Python中CIME.XML.entry_id.EntryID类的典型用法代码示例。如果您正苦于以下问题:Python EntryID类的具体用法?Python EntryID怎么用?Python EntryID使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了EntryID类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: __init__
def __init__(self, infile=None, files=None):
if infile is None:
if files is None:
files = Files()
infile = files.get_value("PIO_SPEC_FILE")
EntryID.__init__(self, infile)
示例2: __init__
def __init__(self, infile=None):
"""
initialize an object
"""
if infile is None:
files = Files()
infile = files.get_value("CONFIG_DRV_FILE")
EntryID.__init__(self,infile)
示例3: __init__
def __init__(self):
"""
initialize an object
>>> files = Files()
>>> files.get_value('CASEFILE_HEADERS',resolved=False)
'$CIMEROOT/cime_config/config_headers.xml'
"""
infile = os.path.join(get_cime_root(), "cime_config", get_model(), "config_files.xml")
EntryID.__init__(self, infile)
示例4: __init__
def __init__(self, infile):
"""
initialize an object
"""
files = Files()
schema = None
# not checking schema on external components yet
cimeroot = get_cime_root()
if cimeroot in os.path.abspath(infile):
schema = files.get_schema("CONFIG_DRV_FILE")
EntryID.__init__(self, infile, schema=schema)
示例5: __init__
def __init__(self,infile=None):
"""
initialize an object
>>> files = Files()
>>> files.get_value('CASEFILE_HEADERS',resolved=False)
'$CIMEROOT/config/config_headers.xml'
"""
if infile is None:
files = Files()
infile = files.get_value('CASEFILE_HEADERS', resolved=True)
EntryID.__init__(self, infile)
示例6: __init__
def __init__(self):
"""
initialize an object
>>> files = Files()
>>> files.get_value('CASEFILE_HEADERS',resolved=False)
'$CIMEROOT/config/config_headers.xml'
"""
cimeroot = get_cime_root()
infile = os.path.join(cimeroot, "config", get_model(), "config_files.xml")
expect(os.path.isfile(infile), "Could not find or open file {}".format(infile))
schema = os.path.join(cimeroot, "config", "xml_schemas", "entry_id.xsd")
EntryID.__init__(self, infile, schema=schema)
示例7: get_compset_var_settings
def get_compset_var_settings(self, compset, grid):
'''
Variables can be set in config_compsets.xml in entry id settings with compset and grid attributes
find and return id value pairs here
'''
nodes = self.get_nodes("entry")
# Get an empty entryid obj to use
entryidobj = EntryID()
result = []
for node in nodes:
value = entryidobj.get_default_value(node, {"grid":grid, "compset":compset})
if value is not None:
result.append((node.get("id"), value))
return result
示例8: __init__
def __init__(self, case_root, infile):
if case_root is None:
case_root = os.getcwd()
if os.path.isabs(infile):
fullpath = infile
else:
fullpath = os.path.join(case_root, infile)
EntryID.__init__(self, fullpath)
if not os.path.isfile(fullpath):
headerobj = Headers()
headernode = headerobj.get_header_node(os.path.basename(fullpath))
self.root.append(headernode)
示例9: __init__
def __init__(self, infile, comp_class):
"""
initialize a Component obect from the component xml file in infile
associate the component class with comp_class if provided.
"""
self._comp_class = comp_class
if infile == 'testingonly':
self.filename = infile
return
files = Files()
schema = None
EntryID.__init__(self, infile)
schema = files.get_schema("CONFIG_{}_FILE".format(comp_class), attributes={"version":"{}".format(self.get_version())})
if schema is not None:
self.validate_xml_file(infile, schema)
示例10: get_value
def get_value(self, vid, attribute=None, resolved=True, subgroup=None):
"""
Get a value for entry with id attribute vid.
or from the values field if the attribute argument is provided
and matches
"""
value = None
vid, comp, iscompvar = self.check_if_comp_var(vid, attribute)
logger.debug("vid {} comp {} iscompvar {}".format(vid, comp, iscompvar))
if iscompvar:
if comp is None:
if subgroup is not None:
comp = subgroup
else:
logger.debug("Not enough info to get value for {}".format(vid))
return value
if attribute is None:
attribute = {"compclass" : comp}
else:
attribute["compclass"] = comp
node = self.scan_optional_child("entry", {"id":vid})
if node is not None:
type_str = self._get_type_info(node)
values = self.get_optional_child("values", root=node)
node = values if values is not None else node
val = self.get_element_text("value", attribute, root=node)
if val is not None:
if val.startswith("$"):
value = val
else:
value = convert_to_type(val,type_str, vid)
return value
return EntryID.get_value(self, vid, attribute=attribute, resolved=resolved, subgroup=subgroup)
示例11: get_compset_var_settings
def get_compset_var_settings(self, compset, grid):
'''
Variables can be set in config_compsets.xml in entry id settings with compset and grid attributes
find and return id value pairs here
'''
entries = self.get_optional_child("entries")
result = []
if entries is not None:
nodes = self.get_children("entry", root=entries)
# Get an empty entryid obj to use
entryidobj = EntryID()
for node in nodes:
value = entryidobj.get_default_value(node, {"grid":grid, "compset":compset})
if value is not None:
result.append((self.get(node, "id"), value))
return result
示例12: __init__
def __init__(self, case_root, infile, schema=None, read_only=False):
if case_root is None:
case_root = os.getcwd()
if os.path.isabs(infile):
fullpath = infile
else:
fullpath = os.path.join(case_root, infile)
EntryID.__init__(self, fullpath, schema=schema, read_only=read_only)
self._id_map = None
self._group_map = None
if not os.path.isfile(fullpath):
headerobj = Headers()
headernode = headerobj.get_header_node(os.path.basename(fullpath))
self.add_child(headernode)
else:
self._setup_cache()
示例13: _set_value
def _set_value(self, node, value, vid=None, subgroup=None, ignore_type=False, compclass=None):
if vid is None:
vid = node.get("id")
vid, _, iscompvar = self.check_if_comp_var(vid, None)
if iscompvar:
attribute = {"compclass":compclass}
str_value = self.get_valid_value_string(node, value, vid, ignore_type)
val = self.set_element_text("value", str_value, attribute, root=node)
else:
val = EntryID._set_value(self, node, value, vid, subgroup, ignore_type)
return val
示例14: __init__
def __init__(self):
"""
initialize an object
>>> files = Files()
>>> files.get_value('CASEFILE_HEADERS',resolved=False)
'$CIMEROOT/config/config_headers.xml'
"""
cimeroot = get_cime_root()
infile = os.path.join(cimeroot, "config", get_model(), "config_files.xml")
expect(os.path.isfile(infile), "Could not find or open file {}".format(infile))
schema = os.path.join(cimeroot, "config", "xml_schemas", "entry_id.xsd")
EntryID.__init__(self, infile, schema=schema)
config_files_override = os.path.join(os.path.dirname(cimeroot),".config_files.xml")
# variables COMP_ROOT_DIR_{} are mutable, all other variables are read only
self.COMP_ROOT_DIR = {}
# .config_file.xml at the top level may overwrite COMP_ROOT_DIR_ nodes in config_files
if os.path.isfile(config_files_override):
self.read(config_files_override)
self.overwrite_existing_entries()
示例15: _set_value
def _set_value(self, node, value, vid=None, subgroup=None, ignore_type=False, compclass=None):
if vid is None:
vid = self.get(node, "id")
vid, _, iscompvar = self.check_if_comp_var(vid, node=node)
if iscompvar:
expect(compclass is not None, "compclass must be specified if is comp var")
attribute = {"compclass":compclass}
str_value = self.get_valid_value_string(node, value, vid, ignore_type)
values = self.get_optional_child("values", root=node)
node = values if values is not None else node
val = self.set_element_text("value", str_value, attribute, root=node)
else:
val = EntryID._set_value(self, node, value, vid, subgroup, ignore_type)
return val