
    N&i                     z    d Z dZddlZddlZddlZddlZddlmZmZ ddlm	Z	m
Z
 ddlmZmZ  G d de          ZdS )	z(
Docutils component-related transforms.
reStructuredText    N)nodesutils)ApplicationError	DataError)	TransformTransformErrorc                       e Zd ZdZdZd ZdS )Filtera  
    Include or exclude elements which depend on a specific Docutils component.

    For use with `nodes.pending` elements.  A "pending" element's dictionary
    attribute ``details`` must contain the keys "component" and "format".  The
    value of ``details['component']`` must match the type name of the
    component the elements depend on (e.g. "writer").  The value of
    ``details['format']`` is the name of a specific format or context of that
    component (e.g. "html").  If the matching Docutils component supports that
    format or context, the "pending" element is replaced by the contents of
    ``details['nodes']`` (a list of nodes); otherwise, the "pending" element
    is removed.

    For example, up to version 0.17, the reStructuredText "meta"
    directive created a "pending" element containing a "meta" element
    (in ``pending.details['nodes']``).
    Only writers (``pending.details['component'] == 'writer'``)
    supporting the "html", "latex", or "odf" formats 
    (``pending.details['format'] == 'html,latex,odf'``) included the
    "meta" element; it was deleted from the output of all other writers.
    
    This transform is no longer used by Docutils, it may be removed in future.
    i  c                 J   | j         }|j        d         }|j        d                             d          }| j        j        j        |         }|D ]:}|                    |          r#|                    |j        d                     d S ;|j        	                    |           d S )N	componentformat,r   )
	startnodedetailssplitdocumenttransformer
componentssupportsreplace_selfparentremove)selfpendingcomponent_typeformatsr   r   s         k/home/geonatureadmin/si_en_reseau/tutos/venv/lib/python3.11/site-packages/docutils/transforms/components.pyapplyzFilter.apply2   s    . 5?8,33C88M-8H	 	+ 	+F!!&)) $$W_W%=>>> N!!'*****    N)__name__
__module____qualname____doc__default_priorityr    r    r   r   r      s5         4 
+ 
+ 
+ 
+ 
+r    r   )r$   __docformat__sysosretimedocutilsr   r   r   r   docutils.transformsr   r	   r   r&   r    r   <module>r.      s   
  # 



 				 				  ! ! ! ! ! ! ! ! 0 0 0 0 0 0 0 0 9 9 9 9 9 9 9 9(+ (+ (+ (+ (+Y (+ (+ (+ (+ (+r    