Source code for satcfdi.utils

import enum
from collections.abc import Sequence, Mapping

from lxml import etree

parser = etree.XMLParser(no_network=True, remove_comments=True, remove_blank_text=True, huge_tree=True, collect_ids=False, remove_pis=True)


[docs]class ScalarMap(dict): pass
[docs]def iterate(item): if isinstance(item, str | bytes | ScalarMap): return [item] if isinstance(item, Mapping): return item.values() if isinstance(item, Sequence): return item if item is None: return [] return [item]
[docs]class StrEnum(str, enum.Enum): # Compatible with Python 3.10 def __str__(self): return self.value def __format__(self, format_spec): return self.value.__format__(format_spec)
[docs] @classmethod def get(cls, key, default=None): return cls._member_map_.get(key, default)