ACIL FM
Dark
Refresh
Current DIR:
/opt/alt/python313/lib64/python3.13/_pyrepl
/
opt
alt
python313
lib64
python3.13
_pyrepl
Upload
Zip Selected
Delete Selected
Pilih semua
Nama
Ukuran
Permission
Aksi
__pycache__
-
chmod
Open
Rename
Delete
base_eventqueue.py
3.75 MB
chmod
View
DL
Edit
Rename
Delete
commands.py
11.9 MB
chmod
View
DL
Edit
Rename
Delete
completing_reader.py
9.81 MB
chmod
View
DL
Edit
Rename
Delete
console.py
6.71 MB
chmod
View
DL
Edit
Rename
Delete
curses.py
1.21 MB
chmod
View
DL
Edit
Rename
Delete
fancy_termios.py
2.11 MB
chmod
View
DL
Edit
Rename
Delete
historical_reader.py
12.93 MB
chmod
View
DL
Edit
Rename
Delete
input.py
3.69 MB
chmod
View
DL
Edit
Rename
Delete
keymap.py
6.31 MB
chmod
View
DL
Edit
Rename
Delete
main.py
1.89 MB
chmod
View
DL
Edit
Rename
Delete
mypy.ini
870 B
chmod
View
DL
Edit
Rename
Delete
pager.py
5.68 MB
chmod
View
DL
Edit
Rename
Delete
reader.py
27.06 MB
chmod
View
DL
Edit
Rename
Delete
readline.py
19.75 MB
chmod
View
DL
Edit
Rename
Delete
simple_interact.py
5.63 MB
chmod
View
DL
Edit
Rename
Delete
trace.py
433 B
chmod
View
DL
Edit
Rename
Delete
types.py
354 B
chmod
View
DL
Edit
Rename
Delete
unix_console.py
25.04 MB
chmod
View
DL
Edit
Rename
Delete
unix_eventqueue.py
2.46 MB
chmod
View
DL
Edit
Rename
Delete
utils.py
2.18 MB
chmod
View
DL
Edit
Rename
Delete
windows_console.py
21.11 MB
chmod
View
DL
Edit
Rename
Delete
windows_eventqueue.py
991 B
chmod
View
DL
Edit
Rename
Delete
_minimal_curses.py
1.8 MB
chmod
View
DL
Edit
Rename
Delete
_threading_handler.py
2.12 MB
chmod
View
DL
Edit
Rename
Delete
__init__.py
925 B
chmod
View
DL
Edit
Rename
Delete
__main__.py
422 B
chmod
View
DL
Edit
Rename
Delete
Edit file: /opt/alt/python313/lib64/python3.13/_pyrepl/utils.py
import re import unicodedata import functools from .types import CharBuffer, CharWidths from .trace import trace ANSI_ESCAPE_SEQUENCE = re.compile(r"\x1b\[[ -@]*[A-~]") ZERO_WIDTH_BRACKET = re.compile(r"\x01.*?\x02") ZERO_WIDTH_TRANS = str.maketrans({"\x01": "", "\x02": ""}) @functools.cache def str_width(c: str) -> int: if ord(c) < 128: return 1 w = unicodedata.east_asian_width(c) if w in ("N", "Na", "H", "A"): return 1 return 2 def wlen(s: str) -> int: if len(s) == 1 and s != "\x1a": return str_width(s) length = sum(str_width(i) for i in s) # remove lengths of any escape sequences sequence = ANSI_ESCAPE_SEQUENCE.findall(s) ctrl_z_cnt = s.count("\x1a") return length - sum(len(i) for i in sequence) + ctrl_z_cnt def unbracket(s: str, including_content: bool = False) -> str: r"""Return `s` with \001 and \002 characters removed. If `including_content` is True, content between \001 and \002 is also stripped. """ if including_content: return ZERO_WIDTH_BRACKET.sub("", s) return s.translate(ZERO_WIDTH_TRANS) def disp_str(buffer: str) -> tuple[CharBuffer, CharWidths]: r"""Decompose the input buffer into a printable variant. Returns a tuple of two lists: - the first list is the input buffer, character by character; - the second list is the visible width of each character in the input buffer. Examples: >>> utils.disp_str("a = 9") (['a', ' ', '=', ' ', '9'], [1, 1, 1, 1, 1]) """ chars: CharBuffer = [] char_widths: CharWidths = [] if not buffer: return chars, char_widths for c in buffer: if c == "\x1a": # CTRL-Z on Windows chars.append(c) char_widths.append(2) elif ord(c) < 128: chars.append(c) char_widths.append(1) elif unicodedata.category(c).startswith("C"): c = r"\u%04x" % ord(c) chars.append(c) char_widths.append(len(c)) else: chars.append(c) char_widths.append(str_width(c)) trace("disp_str({buffer}) = {s}, {b}", buffer=repr(buffer), s=chars, b=char_widths) return chars, char_widths
Simpan
Batal
Isi Zip:
Unzip
Create
Buat Folder
Buat File
Terminal / Execute
Run
Chmod Bulk
All File
All Folder
All File dan Folder
Apply