<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

]>                 @   s   d  d l  Z  d  d l Z d  d l Z d  d l m Z y d  d l Z Wn e k
 r^ d Z Yn Xd  d l Td  d l m	 Z	 m
 Z
 d  d l m Z m Z m Z d  d l m Z d  d l m Z e j d  Z Gd	 d
   d
  Z Gd d   d  Z d d   Z d S)    N)message_from_file)*)FancyGetopttranslate_longopt)check_environ	strtoboolrfc822_escape)log)DEBUGz^[a-zA-Z]([a-zA-Z0-9_]*)$c               @   s  e  Z d  Z d} d~ d d d g Z d Z d d d d d d d d d d d d d d d d d d d d d g Z d= d>   e D Z d d i Z d d? d@  Z dA dB   Z	 d d dC dD dE  Z
 dF dG   Z d dH dI  Z dJ dK   Z dL dM   Z dN dO   Z dP dQ   Z d d g  dR dS  Z dT dU   Z dV dW   Z dX dY   Z dZ d[   Z d\ d]   Z d^ d_   Z d d` da  Z d db dc  Z dd de df  Z e j dg dh  Z di dj   Z dk dl   Z dm dn   Z  do dp   Z! dq dr   Z" ds dt   Z# du dv   Z$ dw dx   Z% dy dz   Z& d{ d|   Z' d S)Distributionverbosevrun verbosely (default)   quietq!run quietly (turns verbosity off)dry-runndon't actually do anythinghelphshow detailed help messageno-user-cfgN-ignore pydistutils.cfg in your home directoryzCommon commands: (see '--help-commands' for more)

  setup.py build      will build the package underneath 'build/'
  setup.py install    will install the package
help-commandslist all available commandsnameprint package nameversionVprint package versionfullnameprint <package name>-<version>authorprint the author's nameauthor-email print the author's email address
maintainerprint the maintainer's namemaintainer-email$print the maintainer's email addresscontact7print the maintainer's name if known, else the author'scontact-email@print the maintainer's email address if known, else the author'surlprint the URL for this packagelicense print the license of the packagelicencealias for --licensedescriptionprint the package descriptionlong-description"print the long package description	platformsprint the list of platformsclassifiersprint the list of classifierskeywordsprint the list of keywordsprovides+print the list of packages/modules providedrequires+print the list of packages/modules required	obsoletes0print the list of packages/modules made obsoletec             C   s    g  |  ] } t  | d    q S)r   )r   ).0x rH   )/opt/alt/python35/lib64/python3.5/dist.py
<listcomp>s   s   	 zDistribution.<listcomp>c             C   sW  d |  _  d |  _ d |  _ x! |  j D] } t |  | d  q% Wt   |  _ x: |  j j D], } d | } t |  | t |  j |   qX Wi  |  _	 d  |  _
 d  |  _ d  |  _ i  |  _ g  |  _ d  |  _ i  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d |  _ i  |  _ i  |  _ | r| j d  } | d  k	 r| d =xV | j   D]H \ } } |  j  |  } x* | j   D] \ }	 }
 d |
 f | |	 <qWqzWd | k r| d | d <| d =d	 } t! d  k	 r	t! j" |  n t# j$ j% | d
  x | j   D] \ } }
 t& |  j d |  rit |  j d |  |
  q*t& |  j |  rt |  j | |
  q*t& |  |  rt |  | |
  q*d t' |  } t! d  k	 rt! j" |  q*t# j$ j% | d
  q*Wd |  _( |  j d  k	 rIx7 |  j D], } | j) d  s/P| d k rd |  _( PqW|  j*   d  S)Nr   r   get_ optionszsetup scriptr4   r2   z:'licence' distribution option is deprecated; use 'license'
Zset_zUnknown distribution option: %sT-z--no-user-cfgF)+r   dry_runr   display_option_namessetattrDistributionMetadatametadata_METHOD_BASENAMESgetattrcmdclasscommand_packagesscript_namescript_argscommand_optionsZ
dist_filespackagesZpackage_dataZpackage_dir
py_modules	librariesheadersext_modulesZext_packageZinclude_dirsZ
extra_pathscripts
data_filesZpasswordcommand_objhave_rungetitemsget_option_dictwarningswarnsysstderrwritehasattrreprwant_user_cfg
startswithfinalize_options)selfZattrsattrbasenameZmethod_namerM   commandZcmd_optionsopt_dictoptvalmsgkeyargrH   rH   rI   __init__z   s    			
 																							zDistribution.__init__c             C   s3   |  j  j |  } | d  k r/ i  } |  j  | <| S)N)r[   re   )rr   ru   dictrH   rH   rI   rg     s    zDistribution.get_option_dictrL   c       	      C   s  d d l  m } | d  k r1 t |  j j    } | d  k	 rX |  j | |  | d } | ss |  j | d  d  Sx | D] } |  j j |  } | d  k r |  j | d |  qz |  j | d |  | |  } x, | j d  D] } |  j | d |  q Wqz Wd  S)Nr   )pformatz  zno commands known yetzno option dict for '%s' commandzoption dict for '%s' command:rN   )pprintr~   sortedr[   keysannouncere   split)	rr   headercommandsindentr~   Zcmd_namerv   outlinerH   rH   rI   dump_option_dicts&  s&    
		zDistribution.dump_option_dictsc             C   s  g  } t    t j j t j d j  } t j j | d  } t j j |  r] | j	 |  t j
 d k ru d } n d } |  j r t j j t j j d  |  } t j j |  r | j	 |  d } t j j |  r | j	 |  t r	|  j d d	 j |   | S)
N	distutilszdistutils.cfgposixz.pydistutils.cfgzpydistutils.cfg~z	setup.cfgzusing config files: %sz, )r   ospathdirnamerj   modules__file__joinisfileappendr   ro   
expanduserr
   r   )rr   filesZsys_dirZsys_fileZuser_filenameZ	user_fileZ
local_filerH   rH   rI   find_config_filesB  s&    		!zDistribution.find_config_filesc             C   sE  d d l  m } t j t j k rR d d d d d d d	 d
 d d d d d g } n g  } t |  } | d  k r| |  j   } t r |  j d  |   } x | D] } t r |  j d |  | j	 |  x | j
   D] } | j |  } |  j |  } xZ | D]R }	 |	 d k r|	 | k r| j | |	  }
 |	 j d d  }	 | |
 f | |	 <qWq W| j   q Wd |  j k rAx |  j d j   D] \ }	 \ } }
 |  j j |	  } yY | rt |  | t |
   n5 |	 d k rt |  |	 t |
   n t |  |	 |
  Wqt k
 r<} z t |   WYd  d  } ~ XqXqWd  S)Nr   )ConfigParserzinstall-basezinstall-platbasezinstall-libzinstall-platlibzinstall-purelibzinstall-headerszinstall-scriptszinstall-dataprefixzexec-prefixhomeuserrootz"Distribution.parse_config_files():z  reading %s__name__rO   _globalr   rP   )r   rP   )configparserr   rj   r   base_prefix	frozensetr   r
   r   readZsectionsrM   rg   re   replacer|   r[   rf   negative_optrR   r   
ValueErrorDistutilsOptionError)rr   	filenamesr   Zignore_optionsparserfilenamesectionrM   rv   rw   rx   srcaliasry   rH   rH   rI   parse_config_filesr  sJ    			&zDistribution.parse_config_filesc             C   s  |  j    } g  |  _ t | |  j  } | j |  j  | j d d i  | j d |  j d |   } | j	   } t
 j |  j  |  j |  r d  Sx, | r |  j | |  } | d  k r d  Sq W|  j r |  j | d t |  j  d k d |  j d  S|  j st d   d	 S)
Nr4   r2   argsobjectdisplay_optionsr   r   zno commands suppliedT)_get_toplevel_optionsr   r   r   set_negative_aliasesr   Zset_aliasesgetoptrZ   Zget_option_orderr	   Zset_verbosityr   handle_display_options_parse_command_optsr   
_show_helplenDistutilsArgError)rr   Ztoplevel_optionsr   r   option_orderrH   rH   rI   parse_command_line  s,    				
	zDistribution.parse_command_linec             C   s   |  j  d g S)Ncommand-packages=0list of packages that provide distutils commands)r   Nr   )global_options)rr   rH   rH   rI   r     s     z"Distribution._get_toplevel_optionsc             C   s  d d l  m } | d } t j |  s9 t d |   |  j j |  y |  j |  } Wn1 t k
 r } z t	 |   WYd  d  } ~ Xn Xt
 | |  s t d |   t | d  o t | j t  s d } t | |   |  j } t | d  r| j   } | j | j  t | d  rMt | j t  rMt | j  } n g  } | j |  j | j |  | j |  | j | d	 d    \ } }	 t |	 d
  r|	 j r|  j | d d d | g d  St | d  rmt | j t  rmd }
 xg | j D]\ \ } } } } t |	 | j |   rd	 }
 t |  rI|   qt d | | f   qW|
 rmd  S|  j |  } x0 t |	  j   D] \ } } d | f | | <qW| S)Nr   )Commandzinvalid command name '%s'z&command class %s must subclass Commanduser_optionszIcommand class %s must provide 'user_options' attribute (a list of tuples)r   help_optionsr   r   r   r   zYinvalid help function %r for help option '%s': must be a callable object (function, etc.)zcommand line) distutils.cmdr   
command_rematch
SystemExitr   r   get_command_classDistutilsModuleErrorr   
issubclassZDistutilsClassErrorrm   
isinstancer   listr   copyupdater   fix_help_optionsset_option_tabler   r   r   r   r   Zget_attr_namecallablerg   varsrf   )rr   r   r   r   ru   Z	cmd_classry   r   r   ZoptsZhelp_option_foundZhelp_optionZshortZdescfuncrv   r   valuerH   rH   rI   r     sb    

	
z Distribution._parse_command_optsc             C   st   xm d D]e } t  |  j |  } | d  k r. q t | t  r d d   | j d  D } t |  j | |  q Wd  S)Nr>   r:   c             S   s   g  |  ] } | j     q SrH   )strip)rF   ZelmrH   rH   rI   rJ   _  s   	 z1Distribution.finalize_options.<locals>.<listcomp>,)r>   r:   )rV   rT   r   strr   rR   )rr   rs   r   rH   rH   rI   rq   U  s    zDistribution.finalize_optionsc       
      C   sp  d d l  m } d d l m } | ro | r; |  j   } n	 |  j } | j |  | j |  j d  t	 d  | r | j |  j
  | j d d  t	 d  x |  j D] } t | t  r t | |  r | }	 n |  j |  }	 t |	 d  r't |	 j t  r'| j |	 j t |	 j   n | j |	 j  | j d	 |	 j  t	 d  q Wt	 | |  j   d  S)
Nr   )	gen_usage)r   z
Global options:rL   z*Information display options (just display z!information, ignore any commands)r   zOptions for '%s' command:)distutils.corer   r   r   r   r   r   
print_helpcommon_usageprintr   r   r   typer   r   rm   r   r   r   r   r   rY   )
rr   r   r   r   r   r   r   rM   ru   klassrH   rH   rI   r   b  s6    	

	zDistribution._show_helpc       	      C   s  d d l  m } |  j rD |  j   t d  t | |  j   d Sd } i  } x |  j D] } d | | d <qZ Wx | D] \ } } | ry | j |  ry t |  } t	 |  j
 d |    } | d k r t d j |   n, | d k rt d j |   n
 t |  d } qy W| S)Nr   )r   rL   r   rK   r>   r:   r   r<   r@   rB   rD   rN   )r>   r:   )r<   r@   rB   rD   )r   r   Zhelp_commandsprint_commandsr   rY   r   re   r   rV   rT   r   )	rr   r   r   Zany_display_optionsZis_display_optionoptionrw   rx   r   rH   rH   rI   r     s,    	

	

z#Distribution.handle_display_optionsc             C   s   t  | d  xt | D]l } |  j j |  } | sB |  j |  } y | j } Wn t k
 ri d } Yn Xt  d | | | f  q Wd  S)N:z(no description available)z
  %-*s  %s)r   rW   re   r   r6   AttributeError)rr   r   r   
max_lengthcmdr   r6   rH   rH   rI   print_command_list  s    zDistribution.print_command_listc             C   s   d d  l  } | j j } i  } x | D] } d | | <q% Wg  } x3 |  j j   D]" } | j |  sO | j |  qO Wd } x0 | | D]$ } t |  | k r t |  } q W|  j | d |  | r t	   |  j | d |  d  S)Nr   r   zStandard commandszExtra commands)
distutils.commandru   __all__rW   r   re   r   r   r   r   )rr   r   std_commandsis_stdr   extra_commandsr   rH   rH   rI   r     s*    		zDistribution.print_commandsc       	      C   s   d d  l  } | j j } i  } x | D] } d | | <q% Wg  } x3 |  j j   D]" } | j |  sO | j |  qO Wg  } xt | | D]h } |  j j |  } | s |  j |  } y | j } Wn t	 k
 r d } Yn X| j | | f  q W| S)Nr   r   z(no description available))
r   ru   r   rW   r   re   r   r   r6   r   )	rr   r   r   r   r   r   rvr   r6   rH   rH   rI   get_command_list  s(    	zDistribution.get_command_listc             C   so   |  j  } t | t  sk | d  k r* d } d d   | j d  D } d | k rb | j d d  | |  _  | S)NrL   c             S   s(   g  |  ] } | d  k r | j     q S)rL   )r   )rF   ZpkgrH   rH   rI   rJ     s   	 z5Distribution.get_command_packages.<locals>.<listcomp>r   zdistutils.commandr   )rX   r   r   r   insert)rr   ZpkgsrH   rH   rI   get_command_packages  s    		z!Distribution.get_command_packagesc             C   s   |  j  j |  } | r | Sx |  j   D] } d | | f } | } y t |  t j | } Wn t k
 rw w) Yn Xy t | |  } Wn+ t k
 r t	 d | | | f   Yn X| |  j  | <| SWt	 d |   d  S)Nz%s.%sz3invalid command '%s' (no class '%s' in module '%s')zinvalid command '%s')
rW   re   r   
__import__rj   r   ImportErrorrV   r   r   )rr   ru   r   Zpkgnamemodule_nameZ
klass_namemodulerH   rH   rI   r     s(    
zDistribution.get_command_classc             C   s   |  j  j |  } | r | r t r6 |  j d |  |  j |  } | |   } |  j  | <d |  j | <|  j j |  } | r |  j | |  | S)Nz<Distribution.get_command_obj(): creating '%s' command objectr   )rc   re   r
   r   r   rd   r[   _set_command_options)rr   ru   Zcreatecmd_objr   rM   rH   rH   rI   get_command_objB  s    	zDistribution.get_command_objc          !   C   s  | j    } | d  k r' |  j |  } t r> |  j d |  xz| j   D]l\ } \ } } t r} |  j d | | | f  y d d   | j D } Wn t k
 r g  } Yn Xy | j } Wn t k
 r i  } Yn Xy t | t	  }	 | | k r|	 rt
 | | | t |   nf | | k rG|	 rGt
 | | t |   n; t | |  rit
 | | |  n t d | | | f   WqK t k
 r}
 z t |
   WYd  d  }
 ~
 XqK XqK Wd  S)Nz#  setting options for '%s' command:z    %s = %s (from %s)c             S   s   g  |  ] } t  |   q SrH   )r   )rF   orH   rH   rI   rJ   q  s   	z5Distribution._set_command_options.<locals>.<listcomp>z1error in %s: command '%s' has no such option '%s')get_command_namerg   r
   r   rf   Zboolean_optionsr   r   r   r   rR   r   rm   r   r   )rr   rc   Zoption_dictcommand_namer   sourcer   Z	bool_optsZneg_optZ	is_stringry   rH   rH   rI   r   ]  s>    		z!Distribution._set_command_optionsr   c             C   s   d d l  m } t | |  s7 | } |  j |  } n | j   } | j sP | S| j   d | _ d |  j | <|  j |  | r x$ | j	   D] } |  j
 | |  q W| S)Nr   )r   )r   r   r   r   r   Z	finalizedZinitialize_optionsrd   r   Zget_sub_commandsreinitialize_command)rr   ru   Zreinit_subcommandsr   r   subrH   rH   rI   r     s    	
	z!Distribution.reinitialize_commandc             C   s   t  j  | |  d  S)N)r	   )rr   ry   levelrH   rH   rI   r     s    zDistribution.announcec             C   s%   x |  j  D] } |  j |  q
 Wd  S)N)r   run_command)rr   r   rH   rH   rI   run_commands  s    zDistribution.run_commandsc             C   sZ   |  j  j |  r d  St j d |  |  j |  } | j   | j   d |  j  | <d  S)Nz
running %sr   )rd   re   r	   infor   Zensure_finalizedrun)rr   ru   r   rH   rH   rI   r     s    	

zDistribution.run_commandc             C   s"   t  |  j p |  j p g   d k S)Nr   )r   r\   r]   )rr   rH   rH   rI   has_pure_modules  s    zDistribution.has_pure_modulesc             C   s   |  j  o t |  j   d k S)Nr   )r`   r   )rr   rH   rH   rI   has_ext_modules  s    zDistribution.has_ext_modulesc             C   s   |  j  o t |  j   d k S)Nr   )r^   r   )rr   rH   rH   rI   has_c_libraries  s    zDistribution.has_c_librariesc             C   s   |  j    p |  j   S)N)r   r   )rr   rH   rH   rI   has_modules  s    zDistribution.has_modulesc             C   s   |  j  o t |  j   d k S)Nr   )r_   r   )rr   rH   rH   rI   has_headers  s    zDistribution.has_headersc             C   s   |  j  o t |  j   d k S)Nr   )ra   r   )rr   rH   rH   rI   has_scripts  s    zDistribution.has_scriptsc             C   s   |  j  o t |  j   d k S)Nr   )rb   r   )rr   rH   rH   rI   has_data_files  s    zDistribution.has_data_filesc             C   s$   |  j    o# |  j   o# |  j   S)N)r   r   r  )rr   rH   rH   rI   is_pure  s    zDistribution.is_pure)r   r   r   r   )r   r   r   )r   r   r   )r   r   r   )r   Nr   )r   Nr   )r   Nr   )r   r    r!   )r"   Nr#   )r$   Nr%   )r&   Nr'   )r(   Nr)   )r*   Nr+   )r,   Nr-   )r.   Nr/   )r0   Nr1   )r2   Nr3   )r4   Nr5   )r6   Nr7   )r8   Nr9   )r:   Nr;   )r<   Nr=   )r>   Nr?   )r@   NrA   )rB   NrC   )rD   NrE   )(r   
__module____qualname__r   r   r   rQ   r   r|   rg   r   r   r   r   r   r   rq   r   r   r   r   r   r   r   r   r   r   r	   INFOr   r   r   r   r   r  r  r  r  r  r  rH   rH   rH   rI   r      s    	
                     	0:C[1(!"&,)
r   c               @   so  e  Z d  Z dN Z d d d  Z d d   Z d d   Z d d   Z d d   Z d  d!   Z	 d" d#   Z
 d$ d%   Z d& d'   Z d( d)   Z d* d+   Z d, d-   Z d. d/   Z d0 d1   Z d2 d3   Z d4 d5   Z e Z d6 d7   Z d8 d9   Z d: d;   Z d< d=   Z d> d?   Z d@ dA   Z dB dC   Z dD dE   Z dF dG   Z dH dI   Z dJ dK   Z dL dM   Z  d S)OrS   r   r   r$   author_emailr(   maintainer_emailr0   r2   r6   long_descriptionr>   r:   r"   r,   contact_emailr<   download_urlr@   rB   rD   Nc             C   s   | d  k	 r" |  j  t |   n d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _	 d  |  _
 d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  S)N)read_pkg_fileopenr   r   r$   r
  r(   r  r0   r2   r6   r  r>   r:   r<   r  r@   rB   rD   )rr   r   rH   rH   rI   r|     s&    																zDistributionMetadata.__init__c                s  t  |      f d d   }   f d d   }   d } | d  |  _ | d  |  _ | d  |  _ | d	  |  _ d  |  _ | d
  |  _ d  |  _ | d  |  _ | d  |  _	 d   k r | d  |  _
 n	 d  |  _
 | d  |  _ | d  |  _ d   k r| d  j d  |  _ | d  |  _ | d  |  _ | d k rx| d  |  _ | d  |  _ | d  |  _ n d  |  _ d  |  _ d  |  _ d  S)Nc                s     |  } | d k r d  S| S)NUNKNOWNrH   )r   r   )ry   rH   rI   _read_field  s    
z7DistributionMetadata.read_pkg_file.<locals>._read_fieldc                s&     j  |  d   } | g  k r" d  S| S)N)Zget_all)r   values)ry   rH   rI   
_read_list$  s    z6DistributionMetadata.read_pkg_file.<locals>._read_listzmetadata-versionr   r   Zsummaryr$   zauthor-emailz	home-pager2   zdownload-urlr6   r>   r   platformZ
classifierz1.1rB   r@   rD   )r   r   r   r6   r$   r(   r
  r  r0   r2   r  r  r   r>   r:   r<   rB   r@   rD   )rr   filer  r  Zmetadata_versionrH   )ry   rI   r    s:    
					z"DistributionMetadata.read_pkg_filec          	   C   s?   t  t j j | d  d d d  } |  j |  Wd  QRXd  S)NzPKG-INFOwencodingzUTF-8)r  r   r   r   write_pkg_file)rr   base_dirZpkg_inforH   rH   rI   write_pkg_infoN  s    z#DistributionMetadata.write_pkg_infoc             C   s  d } |  j  s3 |  j s3 |  j s3 |  j s3 |  j r9 d } | j d |  | j d |  j    | j d |  j    | j d |  j    | j d |  j	    | j d |  j
    | j d	 |  j    | j d
 |  j    |  j r| j d |  j  t |  j    } | j d |  d j |  j    } | rW| j d |  |  j | d |  j    |  j | d |  j    |  j | d |  j    |  j | d |  j    |  j | d |  j    d  S)Nz1.0z1.1zMetadata-Version: %s
z	Name: %s
zVersion: %s
zSummary: %s
zHome-page: %s
zAuthor: %s
zAuthor-email: %s
zLicense: %s
zDownload-URL: %s
zDescription: %s
r   zKeywords: %s
ZPlatformZ
ClassifierZRequiresZProvidesZ	Obsoletes)r@   rB   rD   r<   r  rl   get_nameget_versionget_descriptionget_urlget_contactget_contact_emailget_licenser   get_long_descriptionr   get_keywords_write_listget_platformsget_classifiersget_requiresget_providesget_obsoletes)rr   r  r   Z	long_descr>   rH   rH   rI   r  U  s0    	z#DistributionMetadata.write_pkg_filec             C   s,   x% | D] } | j  d | | f  q Wd  S)Nz%s: %s
)rl   )rr   r  r   r  r   rH   rH   rI   r%  w  s    z DistributionMetadata._write_listc             C   s   |  j  p d S)Nr  )r   )rr   rH   rH   rI   r  }  s    zDistributionMetadata.get_namec             C   s   |  j  p d S)Nz0.0.0)r   )rr   rH   rH   rI   r    s    z DistributionMetadata.get_versionc             C   s   d |  j    |  j   f S)Nz%s-%s)r  r  )rr   rH   rH   rI   get_fullname  s    z!DistributionMetadata.get_fullnamec             C   s   |  j  p d S)Nr  )r$   )rr   rH   rH   rI   
get_author  s    zDistributionMetadata.get_authorc             C   s   |  j  p d S)Nr  )r
  )rr   rH   rH   rI   get_author_email  s    z%DistributionMetadata.get_author_emailc             C   s   |  j  p d S)Nr  )r(   )rr   rH   rH   rI   get_maintainer  s    z#DistributionMetadata.get_maintainerc             C   s   |  j  p d S)Nr  )r  )rr   rH   rH   rI   get_maintainer_email  s    z)DistributionMetadata.get_maintainer_emailc             C   s   |  j  p |  j p d S)Nr  )r(   r$   )rr   rH   rH   rI   r     s    z DistributionMetadata.get_contactc             C   s   |  j  p |  j p d S)Nr  )r  r
  )rr   rH   rH   rI   r!    s    z&DistributionMetadata.get_contact_emailc             C   s   |  j  p d S)Nr  )r0   )rr   rH   rH   rI   r    s    zDistributionMetadata.get_urlc             C   s   |  j  p d S)Nr  )r2   )rr   rH   rH   rI   r"    s    z DistributionMetadata.get_licensec             C   s   |  j  p d S)Nr  )r6   )rr   rH   rH   rI   r    s    z$DistributionMetadata.get_descriptionc             C   s   |  j  p d S)Nr  )r  )rr   rH   rH   rI   r#    s    z)DistributionMetadata.get_long_descriptionc             C   s   |  j  p g  S)N)r>   )rr   rH   rH   rI   r$    s    z!DistributionMetadata.get_keywordsc             C   s   |  j  p d g S)Nr  )r:   )rr   rH   rH   rI   r&    s    z"DistributionMetadata.get_platformsc             C   s   |  j  p g  S)N)r<   )rr   rH   rH   rI   r'    s    z$DistributionMetadata.get_classifiersc             C   s   |  j  p d S)Nr  )r  )rr   rH   rH   rI   get_download_url  s    z%DistributionMetadata.get_download_urlc             C   s   |  j  p g  S)N)rB   )rr   rH   rH   rI   r(    s    z!DistributionMetadata.get_requiresc             C   s:   d d  l  } x | D] } | j j |  q W| |  _ d  S)Nr   )distutils.versionpredicateversionpredicateVersionPredicaterB   )rr   r   r   r   rH   rH   rI   set_requires  s    z!DistributionMetadata.set_requiresc             C   s   |  j  p g  S)N)r@   )rr   rH   rH   rI   r)    s    z!DistributionMetadata.get_providesc             C   sM   d d   | D } x* | D]" } d d  l  } | j j |  q W| |  _ d  S)Nc             S   s   g  |  ] } | j     q SrH   )r   )rF   r   rH   rH   rI   rJ     s   	 z5DistributionMetadata.set_provides.<locals>.<listcomp>r   )r1  r2  Zsplit_provisionr@   )rr   r   r   r   rH   rH   rI   set_provides  s
    z!DistributionMetadata.set_providesc             C   s   |  j  p g  S)N)rD   )rr   rH   rH   rI   r*    s    z"DistributionMetadata.get_obsoletesc             C   s:   d d  l  } x | D] } | j j |  q W| |  _ d  S)Nr   )r1  r2  r3  rD   )rr   r   r   r   rH   rH   rI   set_obsoletes  s    z"DistributionMetadata.set_obsoletes)r   r   r$   r
  r(   r  r0   r2   r6   r  r>   r:   r"   r,   r  r2   r<   r  r@   rB   rD   )!r   r  r  rU   r|   r  r  r  r%  r  r  r+  r,  r-  r.  r/  r   r!  r  r"  Zget_licencer  r#  r$  r&  r'  r0  r(  r4  r)  r5  r*  r6  rH   rH   rH   rI   rS     sH         4"rS   c             C   s2   g  } x% |  D] } | j  | d d   q W| S)Nr      )r   )rM   Znew_optionsZ
help_tuplerH   rH   rI   r     s    r   )rj   r   reZemailr   rh   r   Zdistutils.errorsZdistutils.fancy_getoptr   r   Zdistutils.utilr   r   r   r   r	   Zdistutils.debugr
   compiler   r   rS   r   rH   rH   rH   rI   <module>   s&   
   