Source code for src.poem.poemUtils

# Copyright 2024, Battelle Energy Alliance, LLC All Rights Reserved
"""
  Created on April 1, 2024
  @author: wangc
"""
#External Modules------------------------------------------------------------------------------------
import logging
#External Modules End--------------------------------------------------------------------------------

[docs]logger = logging.getLogger(__name__)
[docs]def convertNodeTextToList(nodeText, sep=None): """ Convert space or comma separated string to list of string @ In, nodeText, str, string from xml node text @ Out, listData, list, list of strings """ listData = None if sep is None: if ',' in nodeText: listData = list(elem.strip() for elem in nodeText.split(',')) else: listData = list(elem.strip() for elem in nodeText.split()) else: listData = list(elem.strip() for elem in nodeText.split(sep)) return listData
[docs]def convertNodeTextToFloatList(nodeText, sep=None): """ Convert space or comma separated string to list of float @ In, nodeText, str, string from xml node text @ Out, listData, list, list of floats """ listData = None if sep is None: if ',' in nodeText: listData = list(float(elem) for elem in nodeText.split(',')) else: listData = list(float(elem) for elem in nodeText.split()) else: listData = list(elem.strip() for elem in nodeText.split(sep)) return listData
[docs]def convertStringToFloat(xmlNode): """ Convert xml node text to float @ In, xmlNode, xml.etree.ElementTree.Element, xml element @ Out, val, float, value of xml element text """ try: val = float(xmlNode.text) return val except (ValueError,TypeError): raise IOError('Real value is required for content of node %s, but got %s' %(node.tag, node.text))
[docs]def convertStringToInt(xmlNode): """ Convert xml node text to integer. @ In, xmlNode, xml.etree.ElementTree.Element, xml element @ Out, val, integer, value of xml element text """ try: val = int(xmlNode.text) return val except (ValueError,TypeError): raise IOError('Integer value is required for content of node %s, but got %s' %(node.tag, node.text))
[docs]def toString(s): """ Method aimed to convert a string in type str @ In, s, string, string to be converted @ Out, s, string, the casted value """ if type(s) == type(""): return s else: return s.decode()
[docs]def convertStringToBool(nodeText): """ Convert string to bool @ In, nodeText, str, string from xml node text @ Out, val, bool, True or False """ stringsThatMeanTrue = list(['yes','y','true','t','on']) val = False if nodeText.lower() in stringsThatMeanTrue: val = True return val