U ʗReS @ s d dl Z d dlmZmZ e jdkr0d dlmZ nd dlmZ ddlmZ ddl m Z mZmZm Z ddlmZ dd lmZmZ dd lmZ ddlmZ ed ZG d d dZdS ) N)OptionalTuple) )Literal ) loop_last)ConsoleConsoleOptionsRenderableTypeRenderResult)Control)ControlTypeSegment) StyleType)Text)cropellipsisvisiblec @ sd e Zd ZdZdeeeddddZeddd d Ze ddd Z e dddZee edddZdS ) LiveRenderzCreates a renderable that may be updated. Args: renderable (RenderableType): Any renderable object. style (StyleType, optional): An optional style to apply to the renderable. Defaults to "". r N) renderablestylevertical_overflowreturnc C s || _ || _|| _d | _d S )N)r r r _shape)selfr 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/live_render.py__init__ s zLiveRender.__init__)r r c C s || _ dS )z|Set a new renderable. Args: renderable (RenderableType): Any renderable object, including str. N)r )r r r r r set_renderable' s zLiveRender.set_renderable)r c C sJ | j dk rD| j \}}ttjtjdfftjdftjdff|d S t S )zGet control codes to move cursor to beginning of live render. Returns: Control: A control instance that may be printed. N r )r r r CARRIAGE_RETURN ERASE_IN_LINE CURSOR_UPr _heightr r r position_cursor/ s zLiveRender.position_cursorc C s> | j dk r8| j \}}ttjftjdftjdff| S t S )zGet control codes to clear the render and restore the cursor to its previous position. Returns: Control: A Control instance that may be printed. Nr r! )r r r r" r$ r# r% r r r restore_cursorD s zLiveRender.restore_cursor)consoleoptionsr c c s | j }|| j}|j|||dd}t|}|\}}||jjkr| jdkrh|d |jj }t|}nN| jdkr|d |jjd }t ddddd d } | t|| t|}|| _ t } t|D ]\}}|E d H |s| V qd S )NF)r padr r r z...centerr z live.ellipsis)overflowjustifyendr )r get_styler render_linesr get_shapesizer' r r appendlistrenderr liner ) r r* r+ r r linesshaper&