:Ԝȫ d Z dZddlZddlZddlZddlmZmZmZ ddlm Z ddl mZ ddl mZm Z mZ G d d e Z G d de Z G d d e Z G d de Z G d dej ZdZddZdS )z Transforms for PEP processing. - `Headers`: Used to transform a PEP's initial RFC-2822 header. It remains a field list, but some entries get processed. - `Contents`: Auto-inserts a table of contents. - `PEPZero`: Special processing for PEP 0. reStructuredText N)nodesutils languages) DataError) Transform)parts referencesmiscc x e Zd ZdZdZdZdZ ej dej df ej d dffZ d Zd S ) Headersz< Process fields in a PEP's initial RFC-2822 header. ih zpep-%04dz3http://hg.python.org/peps/file/default/pep-%04d.txtz\$RCSfile: (.+),v \$$z\1z\$[a-zA-Z]+: (.+) \$$c $ t | j st d | j d }t |t j r d|d vrt d d }|D ]S}|d dk r|d } t | }| j |z }n# t $ r |}d }| j j d|z | }| j | }t j ||pd | }| j | } | | t |d r|g|d d d d <