o
    DZcF                     @   sr   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 ddgZ
G dd de jZed	d
G dd dZdS )    N)	dataclass)IterableOptional)generic)pdf_nameDevExtensionMultivaluedDeveloperExtensionc                   @   s,   e Zd ZdZe Z	 e Z	 e ZdS )r   z
    Setting indicating how an extension is expected to behave well w.r.t.
    the new mechanism for multivalued extensions in ISO 32000-2:2020.
    N)	__name__
__module____qualname____doc__enumautoALWAYSNEVERMAYBE r   r   R/var/www/chikooza/env/lib/python3.10/site-packages/pyhanko/pdf_utils/extensions.pyr      s    T)frozenc                   @   s   e Zd ZU dZejed< 	 ejed< 	 eed< 	 dZe	e
 ed< 	 dZe	e
 ed< 	 dZeed	< 	 d
Zee ed< 	 d
Zee ed< 	 ejZeed< 	 dejfddZdS )r   z.
    PDF developer extension designation.
    prefix_namebase_versionextension_levelNurlextension_revisionFcompare_by_levelr   subsumed_bysubsumesmultivaluedreturnc              
   C   sh   t tdtdtd| jtdt | ji}| jdur%t | j|d< | jdur2t | j|d< |S )z
        Format the data in this object into a PDF dictionary for registration
        into the `/Extensions` dictionary.

        :return:
            A :class:`.generic.DictionaryObject`.
        z/Typez/DeveloperExtensionsz/BaseVersionz/ExtensionLevelNz/URLz/ExtensionRevision)	r   DictionaryObjectr   r   NumberObjectr   r   TextStringObjectr   )selfresultr   r   r   as_pdf_objectp   s   	



z DeveloperExtension.as_pdf_object)r	   r
   r   r   r   
NameObject__annotations__intr   r   strr   r   boolr   r   r   r   r   r   r   r$   r   r   r   r   r   #   s*   
 

)r   dataclassesr   typingr   r   pyhanko.pdf_utilsr   pyhanko.pdf_utils.genericr   __all__Enumr   r   r   r   r   r   <module>   s    