o
    ³rWj³  ã                   @  sX   d dl mZ d dlZd dlZd dlmZ ddd
d„Zddd„Zdddd„Zddd„Z	dS ) é    )ÚannotationsN)ÚPathé0   ÚtextÚstrÚmax_lenÚintÚreturnc                 C  s„   |   ¡  ¡ } t dd| ¡} t dd| ¡} t dd| ¡} t dd| ¡} t d	d
| ¡} t dd| ¡} t dd| ¡ d¡} | p=dd |… S )Nu   [Ã Ã¡Ã¢Ã£Ã¤Ã¥]Úau
   [Ã¨Ã©ÃªÃ«]Úeu
   [Ã¬Ã­Ã®Ã¯]Úiu   [Ã²Ã³Ã´ÃµÃ¶]Úou
   [Ã¹ÃºÃ»Ã¼]Úuz
[^a-z0-9]+Ú-z-+Úitem)ÚlowerÚstripÚreÚsub)r   r   © r   ú:/home/esfera/Documents/content_generation/src/util/text.pyÚslugify   s   r   Úwidthú	list[str]c                 C  s    t j|  dd¡ ¡ |d�pdgS )NÚ
Ú )r   Ú )ÚtextwrapÚwrapÚreplacer   )r   r   r   r   r   Ú	wrap_text   s    r    é@œ  Úfolderr   Úlimit_charsc              	   C  sà   |   ¡ sdS g }d}t|  d¡ƒD ]Y}| ¡ sq|j ¡ dvr qz|jddd� ¡ }W n	 ty4   Y qw |s8qd|j	› d	|› d	�}|t
|ƒ |kr_|| }|d
kr]| |d |… d ¡  n| |¡ |t
|ƒ7 }qd	 |¡S )Nr   r   Ú*>   ú.mdú.txtú	.markdownzutf-8Úignore)ÚencodingÚerrorsz
### FILE: r   éÈ   z
...[truncated])ÚexistsÚsortedÚrglobÚis_fileÚsuffixr   Ú	read_textr   ÚOSErrorÚnameÚlenÚappendÚjoin)r"   r#   ÚchunksÚtotalÚpathÚbodyÚpieceÚremainr   r   r   Úread_text_files   s2   ÿ

r=   Úcolorútuple[int, int, int]c                 C  s^   |   d¡}t|ƒdkrd dd„ |D ƒ¡}t|dd… dƒt|dd	… dƒt|d	d
… dƒfS )Nú#é   r   c                 s  s   � | ]}|d  V  qdS )é   Nr   )Ú.0Úchr   r   r   Ú	<genexpr>6   s   € zhex_to_rgb.<locals>.<genexpr>r   rB   é   é   é   )Úlstripr4   r6   r   )r>   Úcr   r   r   Ú
hex_to_rgb3   s   
4rK   )r   )r   r   r   r   r	   r   )r   r   r   r   r	   r   )r!   )r"   r   r#   r   r	   r   )r>   r   r	   r?   )
Ú
__future__r   r   r   Úpathlibr   r   r    r=   rK   r   r   r   r   Ú<module>   s    
