Module Gnumed.business.gmSoapDefs
GNUmed SOAP related defintions
Functions
def are_valid_soap_cats(soap_cats: str, allow_upper: bool = True) ‑> bool
-
Expand source code
def are_valid_soap_cats(soap_cats:str, allow_upper:bool=True) -> bool: """Check whether _soap_cats_ contains valid category markers only. Args: soap_cats: string or list allow_upper: whether uppercase is considered valid """ for cat2test in soap_cats: if cat2test in KNOWN_SOAP_CATS: continue if not allow_upper: return False if cat2test.casefold() in KNOWN_SOAP_CATS: continue return False return True
Check whether soap_cats contains valid category markers only.
Args
soap_cats
- string or list
allow_upper
- whether uppercase is considered valid
def normalize_soap_cat(soap_cat: str) ‑> str
-
Expand source code
def normalize_soap_cat(soap_cat:str) -> str: # | bool: soap_cat = soap_cat.casefold() if soap_cat in KNOWN_SOAP_CATS: return soap_cat return False # type: ignore [return-value]
def soap_cats_str2list(soap_cats: str) ‑> list[str]
-
Expand source code
def soap_cats_str2list(soap_cats:str) -> list[str]: """Normalize SOAP categories, preserving order. Args: soap_cats: string or list * None -> gmSoapDefs.KNOWN_SOAP_CATS (all) * [] -> [] * '' -> [] * ' ' -> [None] (admin) """ if soap_cats is None: return KNOWN_SOAP_CATS normalized_cats:list = [] for cat in soap_cats: if cat in [' ', None]: if None in normalized_cats: continue normalized_cats.append(None) continue cat = cat.casefold() if cat in KNOWN_SOAP_CATS: if cat in normalized_cats: continue normalized_cats.append(cat) return normalized_cats
Normalize SOAP categories, preserving order.
Args
soap_cats
- string or list
- None -> gmSoapDefs.KNOWN_SOAP_CATS (all)
- [] -> []
- '' -> []
- ' ' -> [None] (admin)