Ë
    ˜V.j?  ã                   ó|   — d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  G d„ de«      Z G d	„ d
e«      Zd„ Zd„ Zy)a]  Sphinx documentation plugin used to document tasks.

Introduction
============

Usage
-----

The Celery extension for Sphinx requires Sphinx 2.0 or later.

Add the extension to your :file:`docs/conf.py` configuration module:

.. code-block:: python

    extensions = (...,
                  'celery.contrib.sphinx')

If you'd like to change the prefix for tasks in reference documentation
then you can change the ``celery_task_prefix`` configuration value:

.. code-block:: python

    celery_task_prefix = '(task)'  # < default

With the extension installed `autodoc` will automatically find
task decorated objects (e.g. when using the automodule directive)
and generate the correct (as well as add a ``(task)`` prefix),
and you can also refer to the tasks using `:task:proj.tasks.add`
syntax.

Use ``.. autotask::`` to alternatively manually document a task.
é    )Ú	signature)Únodes)Ú
PyFunction)ÚFunctionDocumenter)ÚBaseTaskc                   óH   ‡ — e Zd ZdZdZdZed„ «       Zd„ Zdd„Z	ˆ fd„Z
ˆ xZS )	ÚTaskDocumenterzDocument task definitions.Útaské   c                 ó>   — t        |t        «      xr t        |d«      S )NÚ__wrapped__©Ú
isinstancer   Úgetattr)ÚclsÚmemberÚ
membernameÚisattrÚparents        úWC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/contrib/sphinx.pyÚcan_document_memberz"TaskDocumenter.can_document_member0   s   € ä˜&¤(Ó+ÒN´¸ÀÓ0NÐNó    c                 ó  — t        | j                  dd «      }|�ht        |«      }d|j                  v sd|j                  v r6|j	                  t        |j                  j                  «       «      dd  ¬«      }t        |«      S y)Nr   Úselfr   é   )Ú
parametersÚ )r   Úobjectr   r   ÚreplaceÚlistÚvaluesÚstr)r   ÚwrappedÚsigs      r   Úformat_argszTaskDocumenter.format_args4   sp   € Ü˜$Ÿ+™+ }°dÓ;ˆØÐÜ˜GÓ$ˆCØ˜Ÿ™Ñ'¨5°C·N±NÑ+BØ—k‘k¬T°#·.±.×2GÑ2GÓ2IÓ-JÈ1È2Ð-N�kÓO�Ü�s“8ˆOØr   c                  ó   — y ©N© )r   Úall_memberss     r   Údocument_memberszTaskDocumenter.document_members=   s   € Ør   c                 ó†   •— t        | j                  dd «      }|rt        |d«      | j                  k(  ryt        ‰| �  «       S )Nr   Ú
__module__T)r   r   ÚmodnameÚsuperÚcheck_module)r   r#   Ú	__class__s     €r   r/   zTaskDocumenter.check_module@   s=   ø€ ô
 ˜$Ÿ+™+ }°dÓ;ˆÙ”w˜w¨Ó5¸¿¹ÒEØÜ‰wÑ#Ó%Ð%r   )F)Ú__name__r,   Ú__qualname__Ú__doc__ÚobjtypeÚmember_orderÚclassmethodr   r%   r*   r/   Ú__classcell__)r0   s   @r   r	   r	   *   s8   ø„ Ù$à€GØ€LàñOó ðOòó÷&ð &r   r	   c                   ó   — e Zd ZdZd„ Zy)ÚTaskDirectivezSphinx task directive.c                 ój   — t        j                  | j                  j                  j                  «      gS r'   )r   ÚTextÚenvÚconfigÚcelery_task_prefix)r   r$   s     r   Úget_signature_prefixz"TaskDirective.get_signature_prefixN   s"   € Ü—
‘
˜4Ÿ8™8Ÿ?™?×=Ñ=Ó>Ð?Ð?r   N)r1   r,   r2   r3   r?   r(   r   r   r9   r9   K   s   „ Ù ó@r   r9   c                 óB   — t        |t        «      rt        |d«      r|ryy)z&Handler for autodoc-skip-member event.r   FNr   )ÚappÚwhatÚnameÚobjÚskipÚoptionss         r   Úautodoc_skip_member_handlerrG   R   s    € ô �#”xÔ ¤W¨S°-Ô%@ÙØØr   c                 óÖ   — | j                  d«       | j                  t        «       | j                  ddt        «       | j                  ddd«       | j                  dt        «       ddiS )	zSetup Sphinx extension.zsphinx.ext.autodocÚpyr
   r>   z(task)Tzautodoc-skip-memberÚparallel_read_safe)Úsetup_extensionÚadd_autodocumenterr	   Úadd_directive_to_domainr9   Úadd_config_valueÚconnectrG   )rA   s    r   ÚsetuprP   _   se   € à×ÑÐ,Ô-Ø×Ñœ>Ô*Ø×Ñ  f¬mÔ<Ø×ÑÐ-¨x¸Ô>Ø‡K�KÐ%Ô'BÔCð 	˜dðð r   N)r3   Úinspectr   Údocutilsr   Úsphinx.domains.pythonr   Úsphinx.ext.autodocr   Úcelery.app.taskr   r	   r9   rG   rP   r(   r   r   Ú<module>rV      sB   ðñõ@ å Ý ,Ý 1å $ô&Ð'ô &ôB@�Jô @ò
ó
r   