
    ܖi                     |    d dl mZmZmZ d dlmZmZ e G d de             Z edd      Ze G d de             Z	y	)
    )Enumautounique)AnyTypeVarc                   H    e Zd ZdZ e       Z e       ZdefdZde	de
fdZy)OutputFormatzOutput formats.

    Cases are hashable.

    Do not rely on the actual/literal values, just use enum cases, like so:
        my_of = OutputFormat.XML
    returnc                 ,    t        | j                        S Nhashnameselfs    ]/var/www/html/content-pipeline/venv/lib/python3.12/site-packages/cyclonedx/schema/__init__.py__hash__zOutputFormat.__hash__$       DII    otherc                 
    | |u S r    r   r   s     r   __eq__zOutputFormat.__eq__'   s    u}r   N)__name__
__module____qualname____doc__r   JSONXMLintr   r   boolr   r   r   r   r	   r	      s6     6D
&C# C D r   r	   _SVSchemaVersion)boundc                       e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zed
ee   dedefd       ZdefdZdedefdZdedefdZdedefdZdedefdZdedefdZdedefdZdefdZy)r$   z
    Schema version.

    Cases are hashable.
    Cases are comparable(!=,>=,>,==,<,<=)

    Do not rely on the actual/literal values, just use enum cases, like so:
        my_sv = SchemaVersion.V1_3
    )      )r'      )r'      )r'      )r'      )r'      )r'   r'   )r'   r   clsversionr
   c           
      d     | t        t        t        |j                  d                  dd       S )z6Return instance based of a version string - e.g. `1.4`.Nr-   )tuplemapr!   split)r.   r/   s     r   from_versionzSchemaVersion.from_versionC   s+     5S'--"456r:;;r   c                 T    dj                  t        t        | j                              S )z'Return as a version string - e.g. `1.4`r1   )joinr3   strvaluer   s    r   
to_versionzSchemaVersion.to_versionH   s    xxC,--r   r   c                 l    t        || j                        r| j                  |j                  k7  S t        S r   
isinstance	__class__r9   NotImplementedr   s     r   __ne__zSchemaVersion.__ne__L   )    eT^^,::,,r   c                 l    t        || j                        r| j                  |j                  k  S t        S r   r<   r   s     r   __lt__zSchemaVersion.__lt__Q   )    eT^^,::++r   c                 l    t        || j                        r| j                  |j                  k  S t        S r   r<   r   s     r   __le__zSchemaVersion.__le__V   rA   r   c                 l    t        || j                        r| j                  |j                  k(  S t        S r   r<   r   s     r   r   zSchemaVersion.__eq__[   rA   r   c                 l    t        || j                        r| j                  |j                  k\  S t        S r   r<   r   s     r   __ge__zSchemaVersion.__ge__`   rA   r   c                 l    t        || j                        r| j                  |j                  kD  S t        S r   r<   r   s     r   __gt__zSchemaVersion.__gt__e   rD   r   c                 ,    t        | j                        S r   r   r   s    r   r   zSchemaVersion.__hash__j   r   r   N)r   r   r   r   V1_7V1_6V1_5V1_4V1_3V1_2V1_1V1_0classmethodtyper#   r8   r5   r:   r   r"   r@   rC   rF   r   rI   rK   r!   r   r   r   r   r$   r$   .   s     DDDDDDDD<$s) <c <c < <.C .C D 
C D 
C D 
C D 
C D 
C D 
# r   N)
enumr   r   r   typingr   r   r	   r#   r$   r   r   r   <module>rY      sT   & $ #  4  & e?+ <D < <r   