�
"T�e� � �^ � d dl mZ ddlmZ ddlmZmZ ddlmZm Z m
Z
ddlmZ ddl
mZ ddlmZ dd lmZ G d
� de� Zedk( rZd d
lZd dlmZ ej. d Z e� Zej3 ee�� � e� Zej3 ed� d�� y
y
# e$ r dZY �Jw xY w)� )�Union� )�AlignMethod)�cell_len�
set_cell_size)�Console�ConsoleOptions�RenderResult)�JupyterMixin��Measurement)�Style)�Textc � � e Zd ZdZ dddddd�deeef ded eeef d
ededd
fd�Z defd�Z
dedede
fd�Zdededefd�Zdededefd�Zy
)�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)�
characters�style�end�align�titler r r r �returnNc � � t |� dk rt d� �|dvrt d|�d�� �|| _ || _ || _ || _ || _ y )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 s �+/usr/lib/python3/dist-packages/rich/rule.py�__init__z
Rule.__init__ sm � � �J��!�#��L��
� �3�3��S�TY�S\�\]�^��
� ��
�$�����
������
� c �< |