$32 GRAYBYTE WORDPRESS FILE MANAGER $40

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 172.67.217.254 | ADMIN IP 216.73.216.157
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/rich/

HOME
Current File : /opt/alt/python312/lib/python3.12/site-packages/pip/_vendor/rich//_wrap.py
import re
from typing import Iterable, List, Tuple

from ._loop import loop_last
from .cells import cell_len, chop_cells

re_word = re.compile(r"\s*\S+\s*")


def words(text: str) -> Iterable[Tuple[int, int, str]]:
    position = 0
    word_match = re_word.match(text, position)
    while word_match is not None:
        start, end = word_match.span()
        word = word_match.group(0)
        yield start, end, word
        word_match = re_word.match(text, end)


def divide_line(text: str, width: int, fold: bool = True) -> List[int]:
    divides: List[int] = []
    append = divides.append
    line_position = 0
    _cell_len = cell_len
    for start, _end, word in words(text):
        word_length = _cell_len(word.rstrip())
        if line_position + word_length > width:
            if word_length > width:
                if fold:
                    chopped_words = chop_cells(word, max_size=width, position=0)
                    for last, line in loop_last(chopped_words):
                        if start:
                            append(start)

                        if last:
                            line_position = _cell_len(line)
                        else:
                            start += len(line)
                else:
                    if start:
                        append(start)
                    line_position = _cell_len(word)
            elif line_position and start:
                append(start)
                line_position = _cell_len(word)
        else:
            line_position += _cell_len(word)
    return divides


if __name__ == "__main__":  # pragma: no cover
    from .console import Console

    console = Console(width=10)
    console.print("12345 abcdefghijklmnopqrstuvwyxzABCDEFGHIJKLMNOPQRSTUVWXYZ 12345")
    print(chop_cells("abcdefghijklmnopqrstuvwxyz", 10, position=2))


Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
10 Feb 2026 9.37 AM
root / linksafe
0755
__pycache__
--
10 Feb 2026 9.37 AM
root / linksafe
0755
__init__.py
5.947 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
__main__.py
8.279 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_cell_widths.py
9.859 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_emoji_codes.py
136.948 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_emoji_replace.py
1.039 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_export_format.py
2.051 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_extension.py
0.259 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_fileno.py
0.78 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_inspect.py
9.468 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_log_render.py
3.149 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_loop.py
1.207 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_null_file.py
1.354 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_palettes.py
6.897 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_pick.py
0.413 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_ratio.py
5.344 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_spinners.py
19.452 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_stack.py
0.343 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_timer.py
0.407 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_win32_console.py
22.285 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_windows.py
1.881 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_windows_renderer.py
2.718 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
_wrap.py
1.797 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
abc.py
0.869 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
align.py
10.125 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
ansi.py
6.744 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
bar.py
3.188 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
box.py
9.611 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
cells.py
4.403 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
color.py
17.797 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
color_triplet.py
1.029 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
columns.py
6.964 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
console.py
96.893 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
constrain.py
1.258 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
containers.py
5.368 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
control.py
6.475 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
default_styles.py
7.893 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
diagnose.py
0.949 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
emoji.py
2.442 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
errors.py
0.627 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
file_proxy.py
1.644 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
filesize.py
2.449 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
highlighter.py
9.359 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
json.py
4.914 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
jupyter.py
3.176 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
layout.py
13.679 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
live.py
13.938 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
live_render.py
3.581 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
logging.py
11.624 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
markup.py
8.006 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
measure.py
5.181 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
padding.py
4.854 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
pager.py
0.809 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
palette.py
3.316 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
panel.py
10.326 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
pretty.py
35.012 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
progress.py
58.307 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
progress_bar.py
7.974 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
prompt.py
11.038 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
protocol.py
1.358 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
py.typed
0 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
region.py
0.162 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
repr.py
4.327 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
rule.py
4.494 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
scope.py
2.776 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
screen.py
1.554 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
segment.py
23.679 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
spinner.py
4.237 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
status.py
4.321 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
style.py
26.438 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
styled.py
1.229 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
syntax.py
34.349 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
table.py
38.754 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
terminal_theme.py
3.291 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
text.py
44.458 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
theme.py
3.688 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
themes.py
0.1 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
traceback.py
28.91 KB
8 Jan 2026 7.19 PM
root / linksafe
0644
tree.py
8.954 KB
8 Jan 2026 7.19 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF