| import string |
| |
| from ._compat import unicode |
| |
| |
| class TOMLChar(unicode): |
| def __init__(self, c): |
| super(TOMLChar, self).__init__() |
| |
| if len(self) > 1: |
| raise ValueError("A TOML character must me of length 1") |
| |
| def is_bare_key_char(self): # type: () -> bool |
| """ |
| Whether the character is a valid bare key name or not. |
| """ |
| return self in string.ascii_letters + string.digits + "-" + "_" |
| |
| def is_kv_sep(self): # type: () -> bool |
| """ |
| Whether the character is a valid key/value separator ot not. |
| """ |
| return self in "= \t" |
| |
| def is_int_float_char(self): # type: () -> bool |
| """ |
| Whether the character if a valid integer or float value character or not. |
| """ |
| return self in string.digits + "+" + "-" + "_" + "." + "e" |
| |
| def is_ws(self): # type: () -> bool |
| """ |
| Whether the character is a whitespace character or not. |
| """ |
| return self in " \t\r\n" |
| |
| def is_nl(self): # type: () -> bool |
| """ |
| Whether the character is a new line character or not. |
| """ |
| return self in "\n\r" |
| |
| def is_spaces(self): # type: () -> bool |
| """ |
| Whether the character is a space or not |
| """ |
| return self in " \t" |