
    Fe                        d Z ddlm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 ddlmZ erdd	lmZ dd
lmZ ddlmZ  G d de      ZddZy)z=The dependencies collector components for sphinx.environment.    )annotationsN)path)TYPE_CHECKINGAny)relative_path)EnvironmentCollector)fs_encoding)nodes)Sphinx)BuildEnvironmentc                  4    e Zd ZdZddZ	 	 	 	 	 	 ddZddZy)	DependenciesCollectorz.dependencies collector for sphinx.environment.c                <    |j                   j                  |d        y N)dependenciespop)selfappenvdocnames       L/usr/lib/python3/dist-packages/sphinx/environment/collectors/dependencies.py	clear_doczDependenciesCollector.clear_doc   s    Wd+    c                h    |D ]-  }||j                   v s|j                   |   |j                   |<   / y r   )r   )r   r   r   docnamesotherr   s         r   merge_otherz!DependenciesCollector.merge_other   s<     	HG%,,,,1,>,>w,G  )	Hr   c           
        t        j                         }t        j                  t        j                  |j
                        d      }|j                  j                  }|sy|j                  D ]  }t        |t              r|j                  t              }t        |t        j                  t        j                  ||                  }|j                  j                  |j                  j                      j#                  |        y)z+Process docutils-generated dependency info.dummyN)osgetcwdr   joinnormpathsrcdirsettingsrecord_dependencieslist
isinstancebytesdecoder	   r   r   r   r   add)r   r   doctreecwdfrompathdepsdeprelpaths           r   process_docz!DependenciesCollector.process_doc!   s    iik99T]]3::6@3399 	?C #u%jj-#H$(MM$))C2E$FHGGG  155g>	?r   N)r   r   r   r   r   strreturnNone)
r   r   r   r   r   zset[str]r   r   r4   r5   )r   r   r,   znodes.documentr4   r5   )__name__
__module____qualname____doc__r   r   r2    r   r   r   r      s0    8,H&H/?HDHH?r   r   c                8    | j                  t               ddddS )NbuiltinT)versionparallel_read_safeparallel_write_safe)add_env_collectorr   )r   s    r   setuprA   2   s&    /0 "# r   )r   r   r4   zdict[str, Any])r9   
__future__r   r    r   typingr   r   docutils.utilsr   sphinx.environment.collectorsr   sphinx.util.osutilr	   docutilsr
   sphinx.applicationr   sphinx.environmentr   r   rA   r:   r   r   <module>rJ      s;    C " 	  % ( > *)3?0 ?:r   