def _generate_case_table(case_mapping: str) -> Dict[int, str]:
case_mapping = case_mapping.lower()
if case_mapping not in ('ascii', 'rfc1459', 'strict-rfc1459'):
# TODO log warning
case_mapping = DEFAULT_CASE_MAPPING
upper_str = string.ascii_uppercase
lower_str = string.ascii_lowercase
if case_mapping == 'rfc1459':
upper_str += "[]\\^"
lower_str += "{}|~"
elif case_mapping == 'strict-rfc1459':
upper_str += "[]\\"
lower_str += "{}|"
return str.maketrans(upper_str, lower_str)
评论列表
文章目录