
    h                     0    d dl Z d Zd Zd Zd Zd Zd Zy)    Nc                     t        j                  |       }|j                  j                         D cg c].  \  }}|j                  t         j
                  j                  k(  r|0 c}}S c c}}w N)inspect	signature
parametersitemskind	ParameterPOSITIONAL_OR_KEYWORD)funcsigarg_nameparams       W/var/www/html/ranktracker/api/venv/lib/python3.12/site-packages/django/utils/inspect.pyget_func_argsr      s[    


D
!C(+(<(<(>$Xu::**@@@ 	  s   3A*c                    t        j                  |       }g }|j                  j                         D ]  \  }}|}|dk(  r|j                  t         j
                  j                  k(  rd|z   }n,|j                  t         j
                  j                  k(  rd|z   }|j                  t         j
                  j                  k7  r|j                  ||j                  f       |j                  |f        |S )z
    Return a list of (argument name, default value) tuples. If the argument
    does not have a default value, omit it in the tuple. Arguments such as
    *args and **kwargs are also included.
    self*z**)r   r   r   r   r	   r
   VAR_POSITIONALVAR_KEYWORDdefaultemptyappend)r   r   argsr   r   names         r   get_func_full_argsr      s     

D
!CD>>//1 !%6>::**999:DZZ7,,888$;D==G--333KKu}}-.KK ! K    c                 |    t        d t        j                  |       j                  j	                         D              S )Nc              3   R   K   | ]  }|j                   |j                  k(  r| ! y wr   )r	   r   .0ps     r   	<genexpr>z&func_accepts_kwargs.<locals>.<genexpr>%   s(      66Q]]" 	
   %'anyr   r   r   valuesr   s    r   func_accepts_kwargsr)   $   s6     $$T*55<<>  r   c                 |    t        d t        j                  |       j                  j	                         D              S )zL
    Return True if function 'func' accepts positional arguments *args.
    c              3   R   K   | ]  }|j                   |j                  k(  r| ! y wr   )r	   r   r    s     r   r#   z(func_accepts_var_args.<locals>.<genexpr>/   s*      66Q%%% 	
r$   r%   r(   s    r   func_accepts_var_argsr,   +   s8      $$T*55<<>  r   c                    t        t        j                  |       j                  j	                         D cg c]  }|j
                  |j                  k(  r| c}      }t        j                  |       r|dk(  S |dk(  S c c}w )z,Return True if a method only accepts 'self'.r      )lenr   r   r   r'   r	   r   ismethod)methr"   counts      r   method_has_no_argsr3   5   su    $$T*55<<>66Q,,, 	
 E !))$/5A:?UaZ?	s   "A=c                 D    |t        j                  |       j                  v S r   )r   r   r   )r   	parameters     r   func_supports_parameterr6   >   s    ))$/::::r   )r   r   r   r)   r,   r3   r6    r   r   <module>r8      s'    0@;r   