Ë
    ™V.j[  ã                  ó  — d Z ddlmZ ddlZ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  ed	«      Zd
ZdZdZ  ede¬«      ej&                  «      ZdZdd„Zdd„Zddd„Zdd„Zdd„Zdd„Zd d!d„Z eedd«      Zd"d#d„Zy)$zWorker name utilities.é    )ÚannotationsN)Úpartial)ÚExchangeÚQueueé   )Úmemoize)Úsimple_formatzC.dq2z{hostname}.dq2Ú@Úcelery)ÚCache)Úworker_directÚgethostnameÚnodenameÚanon_nodenameÚ	nodesplitÚdefault_nodenameÚnode_formatÚhost_formatc                óp   — t        | t        «      r| S t        t        j                  | ¬«      t        | «      S )a5  Return the :class:`kombu.Queue` being a direct route to a worker.

    Arguments:
        hostname (str, ~kombu.Queue): The fully qualified node name of
            a worker (e.g., ``w1@example.com``).  If passed a
            :class:`kombu.Queue` instance it will simply return
            that instead.
    ©Úhostname)Ú
isinstancer   ÚWORKER_DIRECT_QUEUE_FORMATÚformatÚWORKER_DIRECT_EXCHANGEr   s    úXC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\celery/utils/nodenames.pyr   r   &   s7   € ô �(œEÔ"ØˆÜÜ"×)Ñ)°8Ð)Ó<ÜØóð ó    c                ó0   — t         j                  | |f«      S )z)Create node name from name/hostname pair.)ÚNODENAME_SEPÚjoin)Únamer   s     r   r   r   8   s   € ä×Ñ˜d HÐ-Ó.Ð.r   c           	     óŠ   — t        dj                  |t        t        j                  «       «      g«      | xs
 t        «       «      S )zsReturn the nodename for this process (not a worker).

    This is used for e.g. the origin task message field.
    Ú )r   r    ÚstrÚosÚgetpidr   )r   Úprefixs     r   r   r   =   s1   € ô
 �B—G‘G˜V¤S¬¯©«Ó%5Ð6Ó7¸Ò9RÄ[Ã]ÓSÐSr   c                ó\   — | j                  t        d«      }t        |«      dk(  rd|d   fS |S )z,Split node name into tuple of name/hostname.r   Nr   )Úsplitr   Úlen)r!   Úpartss     r   r   r   E   s0   € à�J‰J”| QÓ'€EÜ
ˆ5ƒz�Q‚Ø�U˜1‘Xˆ~ÐØ€Lr   c                óf   — t        | xs d«      \  }}t        |xs t        |xs
 t        «       «      S )z-Return the default nodename for this process.r#   )r   r   ÚNODENAME_DEFAULTr   )r   r!   Úhosts      r   r   r   M   s.   € ä˜8š> rÓ*�J€Dˆ$Ü�DÒ,Ô,¨dÒ.C´k³mÓDÐDr   c                óN   — t        |«      \  }}t        | ||xs t        fd|i|¤ŽS )z(Format worker node name (name@host.com).Úp)r   r   r-   )Úsr!   ÚextraÚ	shortnamer.   s        r   r   r   S   s.   € ä “o�O€IˆtÜ�q˜$ 	Ò =Ô-=ÑOÀÐOÈÑOÐOr   r#   c                ó0   — ddl m}  |«       }|r| › |› �S |S )Nr   )Úcurrent_process_index)Úlogr5   )r'   Údefaultr5   Úindexs       r   Ú_fmt_process_indexr9   Y   s#   € Ý*á!Ó#€EÙ!&ˆfˆX�e�WÐÐ3¨GÐ3r   Ú-c                ó    — |xs
 t        «       }|j                  d«      \  }}}|xs |}t        |||t        t        dœfi |¤Ž}t        | |«      S )zFormat host %x abbreviations.Ú.)ÚhÚnÚdÚiÚI)r   Ú	partitionÚdictr9   Ú_fmt_process_index_with_prefixr	   )r1   r.   r!   r2   ÚhnameÚ_ÚdomainÚkeyss           r   r   r   c   sc   € àÒ ”;“=€DØ—~‘~ cÓ*Ñ€Eˆ1ˆfØŠ=�5€DÜàØØÜ#Ü/ñ	
ñ	ð ñ	€Dô ˜˜DÓ!Ð!r   )r   zstr | QueueÚreturnr   )r!   r$   r   r$   rI   r$   )NÚgen)r   ú
str | Noner'   r$   rI   r$   )r!   r$   rI   ztuple[None, str] | list[str])r   r$   rI   r$   )r1   r$   r!   r$   r2   rC   rI   r$   )r#   Ú0)r'   r$   r7   r$   rI   r$   )NN)
r1   r$   r.   rK   r!   rK   r2   rC   rI   r$   )Ú__doc__Ú
__future__r   r%   ÚsocketÚ	functoolsr   Úkombu.entityr   r   Ú
functionalr   Útextr	   r   r   r   r-   rC   r   Ú__all__r   r   r   r   r   r   r9   rD   r   © r   r   Ú<module>rV      sœ   ðÙ Ý "ã 	Û Ý ç (å Ý ñ " 'Ó*Ð ð .Ð ð €àÐ à$‰g�a˜tÔ$ V×%7Ñ%7Ó8€ð	€óó$/ô
TóóEóPô4ñ ")Ð);¸SÀ"Ó!EÐ õ"r   