ó
{[c           @   s  d  d l  m Z d d l m Z d d l m Z d   Z d   Z d   Z d   Z d	 d
 e	 f d d e	 f d d e	 f d d e
 f d d e
 f d d e	 f d d e	 f d d e	 f d d e	 f d d e	 f d d e	 f d d  e	 f f Z e d! d" e
 f d# d$ e	 f d% d& e
 f d' d( e
 f d) d* e
 f f Z e d+ d, e	 f d- d. e	 f d/ d0 e	 f d1 d2 e
 f d3 d4 e
 f d5 d6 e
 f d7 d8 e
 f d9 d: e
 f f Z e Z e d; d< e
 f d= d> e	 f f Z i e d? 6e d@ 6e dA 6e dB 6e dC 6Z dD e f dE     YZ dF S(G   i˙˙˙˙(   t   Parseri   (   t   StringIO(   t   must_decodec         C   s   t    j |   S(   N(   R    t   parse(   t   fp(    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR      s    c         C   s   t  | |  j |   S(   N(   t   _collapse_leading_wst   get(   t   msgt   header(    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR   	   s    c         C   s)   g  |  j  |  D] } t | |  ^ q S(   N(   t   get_allR   (   R   R   t   x(    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR	      s    c         C   s   |  j    d k rW d j g  | j   j   D]% } | j d  rJ | d n | ^ q+  Sd j g  | j   D] } | j   ^ qj  Sd S(   sL   
    ``Description`` header must preserve newlines; all others need not
    t   descriptions   
t    i   Ns           (   t   lowert   joint   stript
   splitlinest
   startswith(   R   t   txtR
   (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR      s    	<s   Metadata-Versiont   metadata_versiont   Namet   namet   Versiont   versiont   Platformt	   platformss   Supported-Platformt   supported_platformst   Summaryt   summaryt   DescriptionR   t   Keywordst   keywordss	   Home-Paget	   home_paget   Authort   authors   Author-emailt   author_emailt   Licenset   licenset
   Classifiert   classifierss   Download-URLt   download_urlt   Requirest   requirest   Providest   providest	   Obsoletest	   obsoletest
   Maintainert
   maintainers   Maintainer-emailt   maintainer_emails   Requires-Pythont   requires_pythons   Requires-Externalt   requires_externals   Requires-Distt   requires_dists   Provides-Distt   provides_dists   Obsoletes-Distt   obsoletes_dists   Project-URLt   project_urlss   Provides-Extrat   provides_extrass   Description-Content-Typet   description_content_types   1.0s   1.1s   1.2s   2.0s   2.1t   Distributionc           B   sŬ   e  Z d Z d Z d Z d Z d Z d Z d Z	 d Z
 d Z d Z d Z d Z d Z d Z d	 Z d
 Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d Z d    Z d   Z d   Z  d   Z! d   Z" e" Z# RS(   c         C   s   |  j    } |  j |  d  S(   N(   t   readR   (   t   selft   data(    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyt   extractMetadatak   s    c         C   s
   t   d  S(   N(   t   NotImplementedError(   R<   (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR;   o   s    c         C   s   t  j |  j g   S(   N(   t   HEADER_ATTRSR   R   (   R<   (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyt   _getHeaderAttrsr   s    c         C   s  t  t |   } t |  } d | k rX |  j d  k rX t | d  } | } |  _ n  x |  j   D] \ } } } | d k r qe n  | | k re | rş t | |  }	 t |  | |	  që t | |  } | d k rë t |  | |  që qe qe W| j	   }
 |
 rt |  d |
  n  d  S(   Ns   Metadata-VersionR   t   UNKNOWNR   (
   R   R   R   R   t   NoneR   RA   R	   t   setattrt   get_payload(   R<   R=   R   R   t   valueR   t   header_namet	   attr_namet   multiplet   valuest   body(    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR   u   s$    c         c   s)   x" |  j    D] \ } } } | Vq Wd  S(   N(   RA   (   R<   RG   RH   RI   (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyt   __iter__   s    N(    (    (    (    (    (    (    (    (    (    (    (    ($   t   __name__t
   __module__RC   R   R   R   R   R   R   R   R   R    R(   R"   R#   R%   R'   R*   R,   R.   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R>   R;   RA   R   RL   t   iterkeys(    (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyR:   J   sB   					N(   t   email.parserR    t   _compatR   R   R   R   R	   R   t   Falset   Truet   HEADER_ATTRS_1_0t   HEADER_ATTRS_1_1t   HEADER_ATTRS_1_2t   HEADER_ATTRS_2_0t   HEADER_ATTRS_2_1R@   t   objectR:   (    (    (    s3   lib/python2.7/site-packages/pkginfo/distribution.pyt   <module>   sX   				
