U
ʗRe @ s d dl mZ ddlmZ ddlmZmZ ddlmZm Z m
Z
ddlmZ ddl
mZ ddlmZ dd lmZ G d
d deZedkrd d
lZd dlmZ zejd ZW n ek
r dZY nX e Zeeed e Zejeddd d
S ) )Union )AlignMethod)cell_len
set_cell_size)ConsoleConsoleOptionsRenderResult)JupyterMixinMeasurement)Style)Textc @ s e Zd ZdZddddddeeef eeeef eedd d
dZ edd
dZ
eee
dddZeeedddZeeedddZdS )Ruleu A console renderable to draw a horizontal rule (line).
Args:
title (Union[str, Text], optional): Text to render in the rule. Defaults to "".
characters (str, optional): Character(s) used to draw the line. Defaults to "─".
style (StyleType, optional): Style of Rule. Defaults to "rule.line".
end (str, optional): Character at end of Rule. defaults to "\\n"
align (str, optional): How to align the title, one of "left", "center", or "right". Defaults to "center".
u ─z rule.line
center)
charactersstyleendalignN)titler r r r returnc C sN t |dk rtd|dkr,td|d|| _|| _|| _|| _|| _d S )Nr z:'characters' argument must have a cell width of at least 1)leftr rightzAinvalid value for align, expected "left", "center", "right" (not ))r
ValueErrorr r r r r )selfr r r r r r /builddir/build/BUILDROOT/alt-python38-pip-22.2.1-2.el8.x86_64/opt/alt/python38/lib/python3.8/site-packages/pip/_vendor/rich/rule.py__init__ s
z
Rule.__init__)r c C s d| j d| jdS )NzRule(z, r )r r )r r r r __repr__. s z
Rule.__repr__)consoleoptionsr c c s4 |j }ttdd pdd }|jr.|| js.dn| j}t|}| jsT| ||V d S t| jt rh| j}n|j
| jdd}|jdd|_|
| jd krd
nd}td|| } | s| ||V d S t | jd
}
| jd kr|j| dd |t|j d }t ||| d }||d |t|j t|j }
t ||| d }||
|
|jd | j |
| |
d|j | j n| jdkr|j| dd |
| |
d |
|||
j | j nJ| jdkr|j| dd |
|||j d | j |
d |
| t|
j||
_|
V d S )Nisasciic S s t dd | D S )Nc s s | ]}t |d k V qdS ) N)ord).0cr r r