o
�J�hM � @ sh d Z ddlZddlZddlZddlZdi fdejeje de fdd�Z
G dd� d�ZG d d
� d
�ZdS )z*
Non signal processing related utilities.
� N�attrs� overridesc C s� t �| j�j}g }|du rt|�� �}|D ]=}d}||v r"|| }nt| |�r-t| |�}nq||v rD|| }|jt j u sA||jkrCd}nd}|rR|�
|� d|� �� q| jj� dd�|�� d�S )z�
Return a simple representation string for `obj`.
If `attrs` is not None, it should be a list of attributes to include.
NFT�=�(�,�))
�inspect� signature� __class__�
parameters�list�keys�hasattr�getattr�default�_empty�append�__name__�join) �objr r �paramsZ
attrs_repr�attr�display�value�param� r �JC:\pinokio\api\whisper-webui.git\app\env\lib\site-packages\julius\utils.py�simple_repr
s*
��r c @ s6 e Zd ZdZejfdd�Zdd� Zdd� Zdd � Z d
S )�
MarkdownTablea9
Simple MarkdownTable generator. The column titles should be large enough
for the lines content. This will right align everything.
>>> import io # we use io purely for test purposes, default is sys.stdout.
>>> file = io.StringIO()
>>> table = MarkdownTable(["Item Name", "Price"], file=file)
>>> table.header(); table.line(["Honey", "5"]); table.line(["Car", "5,000"])
>>> print(file.getvalue().strip()) # Strip for test purposes
| Item Name | Price |
|-----------|-------|
| Honey | 5 |
| Car | 5,000 |
c C s || _ || _d S �N)�columns�file)�selfr r! r r r �__init__: s
zMarkdownTable.__init__c C s | j �dd�|� d � d S )N�|z|
)r! �writer )r"