
    h                        S SK Jr  S SKrS SKJrJr  SSKJr  \R                  (       a  S SKJ	r	  S SKJ
r
  SS jr " S	 S
5      rg)    )annotationsN)datetimetimezone   )MissingInfoNamespace)Mapping)Anyc                P    U c  g[         R                  " U [        R                  S9$ )z%Convert epoch time to a UTC datetime.N)tz)r   fromtimestampr   utc)ts    Y/var/www/fran/franai/venv/lib/python3.13/site-packages/fontTools/misc/filesystem/_info.pyepoch_to_datetimer      s!    y!!!55    c                      \ rS rSrSS/rSS jrSSS jjr\SS j5       r\SS j5       r	\SS	 j5       r
\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSS jr\rSrg)Info   raw
namespacesc                L    Xl         [        UR                  5       5      U l        g N)r   	frozensetkeysr   )selfraw_infos     r   __init__Info.__init__   s    #HMMO4r   Nc                |     U R                   U   R                  X#5      $ ! [         a    [        SU< S35      ef = f)Nz
Namespace z does not exist)r   getKeyErrorr   )r   	namespacekeydefaults       r   r    Info.get   sG    	R88I&**388 	R&I='PQQ	Rs     ;c                &    U R                  SS5      $ )Nbasicnamer    r   s    r   r(   	Info.name!   s    xx((r   c                &    U R                  SS5      $ )Nr'   is_dirr)   r*   s    r   r-   Info.is_dir%   s    xx**r   c                $    U R                   (       + $ r   )r-   r*   s    r   is_fileInfo.is_file)   s    ;;r   c                8    [        U R                  SS5      5      $ )Ndetailsaccessedr   r    r*   s    r   r4   Info.accessed-        )Z!@AAr   c                8    [        U R                  SS5      5      $ )Nr3   modifiedr5   r*   s    r   r9   Info.modified1   r7   r   c                &    U R                  SS5      $ )Nr3   sizer)   r*   s    r   r<   	Info.size5       xx	6**r   c                &    U R                  SS5      $ )Nr3   typer)   r*   s    r   r@   	Info.type9   r>   r   c                8    [        U R                  SS5      5      $ )Nr3   createdr5   r*   s    r   rC   Info.created=   s     )Y!?@@r   c                8    [        U R                  SS5      5      $ )Nr3   metadata_changedr5   r*   s    r   rF   Info.metadata_changedA   s     )5G!HIIr   c                    U R                   (       a  SR                  U R                  5      $ SR                  U R                  5      $ )Nz
<dir '{}'>z<file '{}'>)r-   formatr(   r*   s    r   __str__Info.__str__E   s3    ;;&&tyy11 ''		22r   )r   r   )r   zMapping[str, Any]r   )r"   strr#   rL   r$   
Any | NonereturnrM   )rN   rL   )rN   bool)rN   datetime | None)rN   
int | None)__name__
__module____qualname____firstlineno__	__slots__r   r    propertyr(   r-   r0   r4   r9   r<   r@   rC   rF   rJ   __repr____static_attributes__ r   r   r   r      s    %I5R ) ) + +   B B B B + + + + A A J J3 Hr   r   )r   rQ   rN   rP   )
__future__r   typingr   r   _errorsr   TYPE_CHECKINGcollections.abcr   r	   r   r   rZ   r   r   <module>r`      s/    "  ' )	'67 7r   