a
    ž%@c^  ã                   @   s2   d dl mZ eefZdZddd„Zefdd„ZdS )	é    )Úcompatúutf-8c                 C   sN   t | tjƒr| S t | tjƒrJz|  |¡} W n tyH   |  dd¡} Y n0 | S )zIConverts a value to unicode, even if it is already a unicode string.
    r   Úreplace)Ú
isinstancer   Úunicode_typeZ
bytes_typeÚdecodeÚUnicodeDecodeError)ÚvalueÚencoding© r   úY/var/www/dev/btcams2022/python_venv/lib/python3.9/site-packages/icalendar/parser_tools.pyÚ
to_unicode	   s    r   c                 C   s^   t | tjƒr|  |¡S t | tƒr4tttt | ¡ƒƒS t | tƒsHt | t	ƒrVttt| ƒƒS | S dS )zsEncode all datastructures to the given encoding.
    Currently unicode strings, dicts and lists are supported.
    N)
r   r   r   ÚencodeÚdictÚmapÚdata_encodeÚ	iteritemsÚlistÚtuple)Údatar
   r   r   r   r      s    

r   N)r   )Z	icalendarr   r   r   ZSEQUENCE_TYPESZDEFAULT_ENCODINGr   r   r   r   r   r   Ú<module>   s   
