o
    MEg                     @   s   d dl mZ ddlmZmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ G d	d
 d
eZG dd deZedkr|d dlZd dlmZ d dlmZ eddZedd ee D ddZee eejdkr~eejd  dS dS dS )    )Union   )ConsoleConsoleOptionsRenderResult)JupyterMixin)Segment)Style)EMOJI_emoji_replacec                   @   s   e Zd ZdZdS )NoEmojizNo emoji by that name.N)__name__
__module____qualname____doc__ r   r   d/var/www/eduai.edurigo.com/doc_train/edurigo_ai/Puru/venv/lib/python3.10/site-packages/rich/emoji.pyr      s    r   c                   @   s|   e Zd Zg dZddedeeef ddfddZed	edefd
dZ	defddZ
defddZdededefddZdS )Emoji)namestyle_charnoner   r   returnNc                 C   s:   || _ || _zt| | _W dS  ty   td|w )zA single emoji character.

        Args:
            name (str): Name of emoji.
            style (Union[str, Style], optional): Optional style. Defaults to None.

        Raises:
            NoEmoji: If the emoji doesn't exist.
        zNo emoji called N)r   r   r
   r   KeyErrorr   )selfr   r   r   r   r   __init__   s   
zEmoji.__init__textc                 C   s   t |S )zReplace emoji markup with corresponding unicode characters.

        Args:
            text (str): A string with emojis codes, e.g. "Hello :smiley:!"

        Returns:
            str: A string with emoji codes replaces with actual emoji.
        r   )clsr   r   r   r   replace#   s   
zEmoji.replacec                 C   s   d| j dS )Nz<emoji >)r   r   r   r   r   __repr__/   s   zEmoji.__repr__c                 C   s   | j S N)r   r!   r   r   r   __str__2   s   zEmoji.__str__consoleoptionsc                 c   s    t | j|| jV  d S r#   )r   r   	get_styler   )r   r%   r&   r   r   r   __rich_console__5   s   zEmoji.__rich_console__)r   )r   r   r   	__slots__strr   r	   r   classmethodr   r"   r$   r   r   r   r(   r   r   r   r   r      s     r   __main__N)Columns)r   T)recordc                 c   s(    | ]}d |vrd| d| V  qdS )u   ‍:z: Nr   ).0r   r   r   r   	<genexpr>D   s   & r1   )column_first)typingr   r%   r   r   r   jupyterr   segmentr   r   r	   _emoji_codesr
   r   	Exceptionr   r   r   sysrich.columnsr-   rich.consolesortedkeyscolumnsprintlenargv	save_htmlr   r   r   r   <module>   s.    ,

