Blame ibus/ascii.py

Packit Service 1d8f1c
"""Constants and membership tests for ASCII characters"""
Packit Service 1d8f1c
Packit Service 1d8f1c
NUL     = 0x00  # ^@
Packit Service 1d8f1c
SOH     = 0x01  # ^A
Packit Service 1d8f1c
STX     = 0x02  # ^B
Packit Service 1d8f1c
ETX     = 0x03  # ^C
Packit Service 1d8f1c
EOT     = 0x04  # ^D
Packit Service 1d8f1c
ENQ     = 0x05  # ^E
Packit Service 1d8f1c
ACK     = 0x06  # ^F
Packit Service 1d8f1c
BEL     = 0x07  # ^G
Packit Service 1d8f1c
BS      = 0x08  # ^H
Packit Service 1d8f1c
TAB     = 0x09  # ^I
Packit Service 1d8f1c
HT      = 0x09  # ^I
Packit Service 1d8f1c
LF      = 0x0a  # ^J
Packit Service 1d8f1c
NL      = 0x0a  # ^J
Packit Service 1d8f1c
VT      = 0x0b  # ^K
Packit Service 1d8f1c
FF      = 0x0c  # ^L
Packit Service 1d8f1c
CR      = 0x0d  # ^M
Packit Service 1d8f1c
SO      = 0x0e  # ^N
Packit Service 1d8f1c
SI      = 0x0f  # ^O
Packit Service 1d8f1c
DLE     = 0x10  # ^P
Packit Service 1d8f1c
DC1     = 0x11  # ^Q
Packit Service 1d8f1c
DC2     = 0x12  # ^R
Packit Service 1d8f1c
DC3     = 0x13  # ^S
Packit Service 1d8f1c
DC4     = 0x14  # ^T
Packit Service 1d8f1c
NAK     = 0x15  # ^U
Packit Service 1d8f1c
SYN     = 0x16  # ^V
Packit Service 1d8f1c
ETB     = 0x17  # ^W
Packit Service 1d8f1c
CAN     = 0x18  # ^X
Packit Service 1d8f1c
EM      = 0x19  # ^Y
Packit Service 1d8f1c
SUB     = 0x1a  # ^Z
Packit Service 1d8f1c
ESC     = 0x1b  # ^[
Packit Service 1d8f1c
FS      = 0x1c  # ^\
Packit Service 1d8f1c
GS      = 0x1d  # ^]
Packit Service 1d8f1c
RS      = 0x1e  # ^^
Packit Service 1d8f1c
US      = 0x1f  # ^_
Packit Service 1d8f1c
SP      = 0x20  # space
Packit Service 1d8f1c
DEL     = 0x7f  # delete
Packit Service 1d8f1c
Packit Service 1d8f1c
controlnames = [
Packit Service 1d8f1c
"NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL",
Packit Service 1d8f1c
"BS",  "HT",  "LF",  "VT",  "FF",  "CR",  "SO",  "SI",
Packit Service 1d8f1c
"DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB",
Packit Service 1d8f1c
"CAN", "EM",  "SUB", "ESC", "FS",  "GS",  "RS",  "US",
Packit Service 1d8f1c
"SP"
Packit Service 1d8f1c
]
Packit Service 1d8f1c
Packit Service 1d8f1c
def _ctoi(c):
Packit Service 1d8f1c
    if type(c) == type(""):
Packit Service 1d8f1c
        return ord(c)
Packit Service 1d8f1c
    else:
Packit Service 1d8f1c
        return c
Packit Service 1d8f1c
Packit Service 1d8f1c
def isalnum(c): return isalpha(c) or isdigit(c)
Packit Service 1d8f1c
def isalpha(c): return isupper(c) or islower(c)
Packit Service 1d8f1c
def isascii(c): return _ctoi(c) <= 127          # ?
Packit Service 1d8f1c
def isblank(c): return _ctoi(c) in (8,32)
Packit Service 1d8f1c
def iscntrl(c): return _ctoi(c) <= 31
Packit Service 1d8f1c
def isdigit(c): return _ctoi(c) >= 48 and _ctoi(c) <= 57
Packit Service 1d8f1c
def isgraph(c): return _ctoi(c) >= 33 and _ctoi(c) <= 126
Packit Service 1d8f1c
def islower(c): return _ctoi(c) >= 97 and _ctoi(c) <= 122
Packit Service 1d8f1c
def isprint(c): return _ctoi(c) >= 32 and _ctoi(c) <= 126
Packit Service 1d8f1c
def ispunct(c): return _ctoi(c) != 32 and not isalnum(c)
Packit Service 1d8f1c
def isspace(c): return _ctoi(c) in (9, 10, 11, 12, 13, 32)
Packit Service 1d8f1c
def isupper(c): return _ctoi(c) >= 65 and _ctoi(c) <= 90
Packit Service 1d8f1c
def isxdigit(c): return isdigit(c) or \
Packit Service 1d8f1c
    (_ctoi(c) >= 65 and _ctoi(c) <= 70) or (_ctoi(c) >= 97 and _ctoi(c) <= 102)
Packit Service 1d8f1c
def isctrl(c): return _ctoi(c) < 32
Packit Service 1d8f1c
def ismeta(c): return _ctoi(c) > 127
Packit Service 1d8f1c
Packit Service 1d8f1c
def ascii(c):
Packit Service 1d8f1c
    if type(c) == type(""):
Packit Service 1d8f1c
        return chr(_ctoi(c) & 0x7f)
Packit Service 1d8f1c
    else:
Packit Service 1d8f1c
        return _ctoi(c) & 0x7f
Packit Service 1d8f1c
Packit Service 1d8f1c
def ctrl(c):
Packit Service 1d8f1c
    if type(c) == type(""):
Packit Service 1d8f1c
        return chr(_ctoi(c) & 0x1f)
Packit Service 1d8f1c
    else:
Packit Service 1d8f1c
        return _ctoi(c) & 0x1f
Packit Service 1d8f1c
Packit Service 1d8f1c
def alt(c):
Packit Service 1d8f1c
    if type(c) == type(""):
Packit Service 1d8f1c
        return chr(_ctoi(c) | 0x80)
Packit Service 1d8f1c
    else:
Packit Service 1d8f1c
        return _ctoi(c) | 0x80
Packit Service 1d8f1c
Packit Service 1d8f1c
def unctrl(c):
Packit Service 1d8f1c
    bits = _ctoi(c)
Packit Service 1d8f1c
    if bits == 0x7f:
Packit Service 1d8f1c
        rep = "^?"
Packit Service 1d8f1c
    elif isprint(bits & 0x7f):
Packit Service 1d8f1c
        rep = chr(bits & 0x7f)
Packit Service 1d8f1c
    else:
Packit Service 1d8f1c
        rep = "^" + chr(((bits & 0x7f) | 0x20) + 0x20)
Packit Service 1d8f1c
    if bits & 0x80:
Packit Service 1d8f1c
        return "!" + rep
Packit Service 1d8f1c
    return rep