[docs]classErrorCategory(Enum):"""Error categories with prefixes."""CLOUDFILES="CF"VALIDATION="VAL"IO="IO"CONFIG="CFG"DEPENDENCY="DEP"ACTION="ACT"GENERAL="GEN"DEPRECATION="DEPR"
defparse_error_code(code:Optional[str])->Optional[Tuple[ErrorCategory,str]]:"""Split ``"LHP-VAL-009"`` into ``(ErrorCategory.VALIDATION, "009")``. Returns ``None`` for a missing code, a code not shaped ``LHP-<CAT>-<NNN>``, or an unknown category; each caller chooses its own fallback. """parts=(codeor"").split("-")iflen(parts)!=3orparts[0]!="LHP":returnNonetry:returnErrorCategory(parts[1]),parts[2]exceptValueError:returnNone