
    $gP                     X    d dl mZ ddlmZ  G d de          Z G d de          Zd	S )
    )isclass   )propsc                       e Zd ZdZd Zd ZdS )SubclassWithMeta_MetaNc                 6    | j         r| j         j        S | j        S )N)_metaname__name__clss    a/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/graphene/utils/subclass_with_meta.py__str__zSubclassWithMeta_Meta.__str__	   s    9 	"9>!|    c                 B    d| j          dt          | j                   dS )N<z meta=>)r   reprr	   r   s    r   __repr__zSubclassWithMeta_Meta.__repr__   s%    93<99tCI9999r   )r   
__module____qualname__r	   r   r    r   r   r   r      s7        E  
: : : : :r   r   c                   8     e Zd ZdZ fdZed             Z xZS )SubclassWithMetazTThis class improves __init_subclass__ to receive automatically the options from metac                    t          | dd          }i }|rYt          |t                    r|}n1t          |          rt	          |          }nt          d|           t          | d           t          |fi |}|                    dd          }|r$|r J dd                    |                       dS t          | |           }t          |d          r |j        d	i | dS dS )
-This method just terminates the super() chainMetaNz3Meta have to be either a class or a dict. Received abstractFzLAbstract types can only contain the abstract attribute. Received: abstract, z, __init_subclass_with_meta__r   )getattr
isinstancedictr   r   	Exceptiondelattrpopjoinsuperhasattrr   )r   meta_options_Meta_meta_propsoptionsr   super_class	__class__s          r   __init_subclass__z"SubclassWithMeta.__init_subclass__   sG   VT** 		!%&& # #EllQ%QQ   C   |33{33;;z511 	C  <'+yy'9'9< <    
  S//K{$ABB C77BB'BBBBBC Cr   c                     dS )r   Nr   )r   r)   s     r   r   z,SubclassWithMeta.__init_subclass_with_meta__0   s      r   )r   r   r   __doc__r/   classmethodr   __classcell__)r.   s   @r   r   r      s^        ^^C C C C C6 < < [< < < < <r   r   )	metaclassN)inspectr   r   typer   r   r   r   r   <module>r7      s               	: 	: 	: 	: 	:D 	: 	: 	: <  <  <  <  <!6  <  <  <  <  <  <r   