Source code for seqgra.parser.xmlhelper

"""
MIT - CSAIL - Gifford Lab - seqgra

Implementation of static XML methods for parsers

@author: Konstantin Krismer
"""
from typing import Optional


[docs]class XMLHelper():
[docs] @staticmethod def read_text_node(parent_node, node_name) -> Optional[str]: node = parent_node.getElementsByTagName(node_name) if not node: return None elif node[0].firstChild is None: return "" else: return node[0].firstChild.nodeValue
[docs] @staticmethod def read_immediate_text_node(node) -> str: if node.firstChild is None: return "" else: return node.firstChild.nodeValue
[docs] @staticmethod def read_int_node(parent_node, node_name) -> int: node_value: Optional[str] = XMLHelper.read_text_node(parent_node, node_name) if node_value is None: return None else: return int(node_value)
[docs] @staticmethod def read_float_node(parent_node, node_name) -> float: node_value: Optional[str] = XMLHelper.read_text_node(parent_node, node_name) if node_value is None: return None else: return float(node_value)