
    h                     j    S r SSKJrJr  SSKJr  \" S5      r\" S5      rSr " S S\	5      r
S	 rS
 rg)zTask Annotations.

Annotations is a nice term for monkey-patching task classes
in the configuration.

This prepares and performs the annotations in the
:setting:`task_annotations` setting.
    )firstmethodmlazy)instantiateannotateannotate_any)MapAnnotationprepareresolve_allc                   $    \ rS rSrSrS rS rSrg)r      z(Annotation map: task_name => attributes.c                 @     [        U S   5      $ ! [         a     g f = f)N*)dictKeyError)selfs    >D:\TimeStamps\venv\Lib\site-packages\celery/app/annotations.pyr   MapAnnotation.annotate_any   s'    	S	?" 		s    
c                 R     [        XR                     5      $ ! [         a     g f = fN)r   namer   )r   tasks     r   r   MapAnnotation.annotate   s*    	YY(( 		s    
&& N)__name__
__module____qualname____firstlineno____doc__r   r   __static_attributes__r       r   r   r      s    2r    r   c                     S nU c  g[        U [        [        45      (       d  U 4n U  Vs/ s H
  o!" U5      PM     sn$ s  snf )z/Expand the :setting:`task_annotations` setting.c                     [        U [        5      (       a  [        U 5      $ [        U [        5      (       a  [	        [
        U 5      $ U $ r   )
isinstancer   r   strr   r   )
annotations    r   expand_annotation"prepare.<locals>.expand_annotation$   s:    j$'' ,,
C((j11r    r   )r#   listtuple)annotationsr&   annos      r   r	   r	   "   sH     dE]33"n0;<d#<<<s   >c                 <    S [        X5      [        U 5      4 5       $ )z Resolve all pending annotations.c              3   6   #    U  H  o(       d  M  Uv   M     g 7fr   r   ).0xs     r   	<genexpr>resolve_all.<locals>.<genexpr>4   s     OI!QAAIs   
	)_first_match_first_match_any)r+   r   s     r   r
   r
   2   s    OT02B42HIOOr    N)r   celery.utils.functionalr   r   celery.utils.importsr   r2   r3   __all__r   r   r	   r
   r   r    r   <module>r7      sC    7 ,:&~. 
5D  = Pr    