
     i                    ~    d dl mZ d dlZd dlmZmZ ddlmZ ej        rd dlm	Z	 d dlm
Z
 ddZ G d d          ZdS )    )annotationsN)datetimetimezone   )MissingInfoNamespace)Mapping)Anyt
int | Nonereturndatetime | Nonec                J    | dS t          j        | t          j                  S )z%Convert epoch time to a UTC datetime.N)tz)r   fromtimestampr   utc)r
   s    i/srv/www/vhosts/g4struct/public_html/venv/lib/python3.11/site-packages/fontTools/misc/filesystem/_info.pyepoch_to_datetimer      s$    yt!!5555    c                     e Zd ZddgZddZdddZedd            Zedd            Zedd            Z	ed d            Z
ed d            Zed!d            Zed!d            Zed d            Zed d            ZddZeZdS )"Inforaw
namespacesraw_infoMapping[str, Any]c                `    || _         t          |                                          | _        d S N)r   	frozensetkeysr   )selfr   s     r   __init__zInfo.__init__   s$    #HMMOO44r   N	namespacestrkeydefault
Any | Noner   c                    	 | j         |                             ||          S # t          $ r t          d|d          w xY w)Nz
Namespace z does not exist)r   getKeyErrorr   )r   r!   r#   r$   s       r   r'   zInfo.get   s^    	R8I&**3888 	R 	R 	R&'PI'P'P'PQQQ	Rs	    # Ac                .    |                      dd          S )Nbasicnamer'   r   s    r   r+   z	Info.name!   s    xx(((r   boolc                .    |                      dd          S )Nr*   is_dirr,   r-   s    r   r0   zInfo.is_dir%   s    xx***r   c                    | j          S r   )r0   r-   s    r   is_filezInfo.is_file)   s    ;r   r   c                H    t          |                     dd                    S )Ndetailsaccessedr   r'   r-   s    r   r5   zInfo.accessed-        )Z!@!@AAAr   c                H    t          |                     dd                    S )Nr4   modifiedr6   r-   s    r   r9   zInfo.modified1   r7   r   r   c                .    |                      dd          S )Nr4   sizer,   r-   s    r   r;   z	Info.size5       xx	6***r   c                .    |                      dd          S )Nr4   typer,   r-   s    r   r>   z	Info.type9   r<   r   c                H    t          |                     dd                    S )Nr4   createdr6   r-   s    r   r@   zInfo.created=   s     )Y!?!?@@@r   c                H    t          |                     dd                    S )Nr4   metadata_changedr6   r-   s    r   rB   zInfo.metadata_changedA   s     )5G!H!HIIIr   c                x    | j         rd                    | j                  S d                    | j                  S )Nz
<dir '{}'>z<file '{}'>)r0   formatr+   r-   s    r   __str__zInfo.__str__E   s8    ; 	3&&ty111 ''	222r   )r   r   r   )r!   r"   r#   r"   r$   r%   r   r%   )r   r"   )r   r.   )r   r   )r   r   )__name__
__module____qualname__	__slots__r    r'   propertyr+   r0   r2   r5   r9   r;   r>   r@   rB   rE   __repr__ r   r   r   r      s       %I5 5 5 5R R R R R ) ) ) X) + + + X+    X B B B XB B B B XB + + + X+ + + + X+ A A A XA J J J XJ3 3 3 3 HHHr   r   )r
   r   r   r   )
__future__r   typingr   r   _errorsr   TYPE_CHECKINGcollections.abcr   r	   r   r   rL   r   r   <module>rR      s    " " " " " "  ' ' ' ' ' ' ' ' ) ) ) ) ) )	 ''''''6 6 6 67 7 7 7 7 7 7 7 7 7r   