£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>

Re  c               @   s  d  Z  d d l Z d d l Z d d l Z d d l Z d d l Z d d l Z d d l m Z d d l	 m
 Z
 d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z e r d	 n d
 Z d d d  Z Gd d   d e  Z d S(   up   upload_docs

Implements a Distutils 'upload_docs' subcommand (upload documentation to
PyPI's pythonhosted.org).
i    N(   u   standard_b64encode(   u   iter_entry_points(   u   log(   u   DistutilsOptionError(   u   upload(   u   httplibu   urlparseu   unicodeu	   iteritemsu   PY3u   surrogateescapeu   strictu   utf-8c             C   s#   t  |  t  r |  j | t  S|  S(   N(   u
   isinstanceu   unicodeu   encodeu   errors(   u   su   encoding(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   b   s    u   bc             B   s   |  Ee  Z d  Z d Z d d d e j f d d g Z e j Z d	 d
   Z	 d e	 f g Z
 d d   Z d d   Z d d   Z d d   Z d d   Z d S(   u   upload_docsu   Upload documentation to PyPIu   repository=u   ru   url of repository [default: %s]u   show-responseu&   display full response text from serveru   upload-dir=u   directory to uploadc             C   s1   |  j  d  k r- x t d d  D] } d SWn  d  S(   Nu   distutils.commandsu   build_sphinxT(   u
   upload_diru   Noneu   iter_entry_pointsu   True(   u   selfu   ep(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu
   has_sphinx0   s    u   upload_docs.has_sphinxu   build_sphinxc             C   s#   t  j |   d  |  _ d  |  _ d  S(   N(   u   uploadu   initialize_optionsu   Noneu
   upload_diru
   target_dir(   u   self(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   initialize_options7   s    	u   upload_docs.initialize_optionsc             C   s   t  j |   |  j d  k rs |  j   rF |  j d  } | j |  _ q |  j d  } t j	 j
 | j d  |  _ n |  j d  |  j |  _ |  j d |  j  d  S(   Nu   build_sphinxu   buildu   docsu
   upload_diru   Using upload directory %s(   u   uploadu   finalize_optionsu
   upload_diru   Noneu
   has_sphinxu   get_finalized_commandu   builder_target_diru
   target_diru   osu   pathu   joinu
   build_baseu   ensure_dirnameu   announce(   u   selfu   build_sphinxu   build(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   finalize_options<   s    u   upload_docs.finalize_optionsc       
      C   s   t  j | d  } z |  j |  j  x t j |  j  D] \ } } } | |  j k rs | rs t d |  j   n  xp | D]h } t j j | |  } | t	 |  j  d   j
 t j j  } t j j | |  }	 | j | |	  qz Wq8 WWd  | j   Xd  S(   Nu   wu'   no files found in upload directory '%s'(   u   zipfileu   ZipFileu   mkpathu
   target_diru   osu   walku   DistutilsOptionErroru   pathu   joinu   lenu   lstripu   sepu   writeu   close(
   u   selfu   filenameu   zip_fileu   rootu   dirsu   filesu   nameu   fullu   relativeu   dest(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   create_zipfileJ   s    "(u   upload_docs.create_zipfilec             C   s   x! |  j    D] } |  j |  q Wt j   } |  j j j   } t j j	 | d |  } z |  j
 |  |  j |  Wd  t j |  Xd  S(   Nu   %s.zip(   u   get_sub_commandsu   run_commandu   tempfileu   mkdtempu   distributionu   metadatau   get_nameu   osu   pathu   joinu   create_zipfileu   upload_fileu   shutilu   rmtree(   u   selfu   cmd_nameu   tmp_diru   nameu   zip_file(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   run[   s    u   upload_docs.runc             C   sl  t  | d  } | j   } | j   |  j j } i d d 6| j   d 6t j j |  | f d 6} t	 |  j
 d |  j  } t |  } t r | j d  } n  d | } d	 } t	 d
  t	 |  }	 |	 t	 d  }
 g  } xt |  D] \ } } d | } t | t  r| g } n  x | D] } t |  t k rZ| d | d 7} | d } n t	 |  } | j |	  | j t	 |   | j t	 d   | j |  | r#| d& d   t	 d  k r#| j t	 d   q#q#Wq W| j |
  | j t	 d   t	 d  j |  } |  j d |  j t j  t |  j  \ } } } } } } | rk| rk| sqt  | d k rt j |  } n. | d k rt j |  } n t d |   d } y{ | j   | j  d |  d | } | j! d |  | j! d t" t# |    | j! d |  | j$   | j% |  WnB t& j' k
 rt( j)   d } |  j t" |  t j*  d  SYn X| j+   } | j, d k r|  j d | j, | j- f t j  nz | j, d k r| j. d   } | d  k rd! | j   } n  |  j d" | t j  n# |  j d# | j, | j- f t j*  |  j0 rht1 d$ d% | j   d$ d%  n  d  S('   Nu   rbu
   doc_uploadu   :actionu   nameu   contentu   :u   asciiu   Basic u3   --------------GHSKFJDLGDS7543FJKLFHRE75642756743254u   
--u   --u*   
Content-Disposition: form-data; name="%s"u   ; filename="%s"i    i   u   

u   u   
u    u   Submitting documentation to %su   httpu   httpsu   unsupported schema u   POSTu    multipart/form-data; boundary=%su   Content-typeu   Content-lengthu   Authorizationi   u   Server response (%s): %si-  u   Locationu   https://pythonhosted.org/%s/u   Upload successful. Visit %su   Upload failed (%s): %su   -iK   i(2   u   openu   readu   closeu   distributionu   metadatau   get_nameu   osu   pathu   basenameu   bu   usernameu   passwordu   standard_b64encodeu   PY3u   decodeu	   iteritemsu
   isinstanceu   listu   typeu   tupleu   appendu   joinu   announceu
   repositoryu   logu   INFOu   urlparseu   AssertionErroru   httplibu   HTTPConnectionu   HTTPSConnectionu   connectu
   putrequestu	   putheaderu   stru   lenu
   endheadersu   sendu   socketu   erroru   sysu   exc_infou   ERRORu   getresponseu   statusu   reasonu	   getheaderu   Noneu   show_responseu   print(   u   selfu   filenameu   fu   contentu   metau   datau   credentialsu   authu   boundaryu   sep_boundaryu   end_boundaryu   bodyu   keyu   valuesu   titleu   valueu   schemau   netlocu   urlu   paramsu   queryu	   fragmentsu   connu   content_typeu   eu   ru   location(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   upload_filei   s    


"
!


	
	u   upload_docs.upload_fileN(   u   show-responseNu&   display full response text from server(   u   upload-dir=Nu   directory to upload(   u   __name__u
   __module__u   __qualname__u   descriptionu   uploadu   DEFAULT_REPOSITORYu   Noneu   user_optionsu   boolean_optionsu
   has_sphinxu   sub_commandsu   initialize_optionsu   finalize_optionsu   create_zipfileu   runu   upload_file(   u
   __locals__(    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   upload_docs#   s    		u   upload_docs(   u   __doc__u   osu   socketu   zipfileu   tempfileu   sysu   shutilu   base64u   standard_b64encodeu   pkg_resourcesu   iter_entry_pointsu	   distutilsu   logu   distutils.errorsu   DistutilsOptionErroru   distutils.command.uploadu   uploadu   setuptools.compatu   httplibu   urlparseu   unicodeu	   iteritemsu   PY3u   errorsu   bu   upload_docs(    (    (    u7   /tmp/pip-k8wh6o-build/setuptools/command/upload_docs.pyu   <module>   s   (