관리-도구
편집 파일: cells.cpython-311.pyc
� �܋f� � �� � d dl mZ d dlZd dlmZ d dlmZ ddlmZ ej d� � j Z ed� � d#d �� � Zefd$d�Z ed�� � d%d�� � Z ed�� � d&d�� � Zd'd�Zd(d�Zedk rd e ed� � � � edd� � D ] Z ee� � � eddd � � D ]*Z e ede� � d!z � � ed"ez � � �)dS dS ))� )�annotationsN)� lru_cache)�Callable� )�CELL_WIDTHSu ^[ -o ˿Ͱ-҂]*$i �text�str�return�intc �L �� t �t �fd�| D � � � � }|S )a/ Get the number of cells required to display text. This method always caches, which may use up a lot of memory. It is recommended to use `cell_len` over this method. Args: text (str): Text to display. Returns: int: Get the number of cells required to display text. c 3 �. �K � | ]} �|� � V � �d S �N� ��.0� character� _get_sizes ��M/opt/cloudlinux/venv/lib64/python3.11/site-packages/pip/_vendor/rich/cells.py� <genexpr>z"cached_cell_len.<locals>.<genexpr> �- �� � � �@�@�i�Y�Y�y�)�)�@�@�@�@�@�@� )�get_character_cell_size�sum)r � total_sizer s @r �cached_cell_lenr s2 �� � (�I��@�@�@�@�4�@�@�@�@�@�J��r � _cell_len�Callable[[str], int]c � �� t | � � dk r || � � S t �t �fd�| D � � � � }|S )z�Get the number of cells required to display text. Args: text (str): Text to display. Returns: int: Get the number of cells required to display text. i c 3 �. �K � | ]} �|� � V � �d S r r r s �r r zcell_len.<locals>.<genexpr>+ r r )�lenr r )r r r r s @r �cell_lenr! sO �� � �4�y�y�3����y�����'�I��@�@�@�@�4�@�@�@�@�@�J��r )�maxsizer c �: � t t | � � � � S )z�Get the cell size of a character. Args: character (str): A single character. Returns: int: Number of cells (0, 1 or 2) occupied by that character. )�_get_codepoint_cell_size�ord)r s r r r / s � � $�C� �N�N�3�3�3r � codepointc �� � t }d}t |� � dz }||z dz } || \ }}}| |k r|dz }n| |k r|dz }n |dk rdn|S ||k rn ||z dz }�>dS )z�Get the cell size of a character. Args: codepoint (int): Codepoint of a character. Returns: int: Number of cells (0, 1 or 2) occupied by that character. r r � T���)r r )r&