ó
£„öUc           @   s•   d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z e d k r‘ e j e ƒ  ƒ n  d S(	   iÿÿÿÿNc         C   sd   y# t  j t j |  ƒ j d ƒ ƒ SWn: t j k
 rN t d j |  ƒ ƒ ‚ n t k
 r_ d  SXd  S(   Ns   pbr.jsons   Package {0} not installed(	   t   jsont   loadst   pkg_resourcest   get_distributiont   get_metadatat   DistributionNotFoundt	   Exceptiont   formatt   None(   t   package_name(    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   _get_metadata   s    c         C   s%   t  |  j ƒ d } | r! | GHn  d  S(   Nt   sha(   t	   _get_infot   name(   t   argsR   (    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   get_sha$   s    c         C   s   d j  t |  j ƒ   GHd  S(   Ns!   {name}	{version}	{released}	{sha}(   R   R   R   (   R   (    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   get_info*   s    c      	   C   sÔ   t  |  ƒ } t j |  ƒ j } | rJ | d r7 d } n d } | d } nk | j d ƒ } | d j d ƒ rƒ | d d } d } n2 d	 } d } x# | D] } | j ƒ  s– d } q– q– Wt d
 |  d | d | d | ƒ S(   Nt
   is_releaset   releaseds   pre-releaset   git_versiont   .iÿÿÿÿt   gi   t    R   t   versionR   (   R
   R   R   R   t   splitt
   startswitht   isdigitt   dict(   R   t   metadataR   R   R   t   version_partst   part(    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyR   /   s"    
		c         C   s[   xT t  j D]I } t | j ƒ } d j |   } | d rN | d j |   7} n  | GHq
 Wd  S(   Ns   {name}=={version}R   s     # git sha {sha}(   R   t   working_setR   t   project_nameR   (   R   t   distt   infot   output(    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   freezeF   s    
c       	   C   s/  t  j d d ƒ }  |  j d d d d d t t j j d ƒ ƒ ƒ|  j d d	 d d
 d d ƒ } | j d d d ƒ} | j	 d t
 ƒ | j d d d ƒ| j d d d ƒ} | j	 d t ƒ | j d d d ƒ| j d d d ƒ} | j	 d t ƒ |  j ƒ  } y | j | ƒ Wn t k
 r*} | GHn Xd  S(   Nt   descriptions    pbr: Python Build Reasonablenesss   -vs	   --versiont   actionR   t   pbrt   titlet   commandss   valid commandst   helps   additional helpR   s   print sha of packaget   funcR   s   package to print sha ofR"   s   print version info for packages   package to print info ofR$   s-   print version info for all installed packages(   t   argparset   ArgumentParsert   add_argumentt   strR'   R   t   VersionInfot   add_subparserst
   add_parsert   set_defaultsR   R   R$   t
   parse_argsR+   R   (   t   parsert
   subparserst   cmd_shaR   t   e(    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   mainO   s,    			t   __main__(   R,   R    t   sysR   t   pbr.versionR'   R
   R   R   R   R$   R9   t   __name__t   exit(    (    (    s0   /usr/lib/python2.7/dist-packages/pbr/cmd/main.pyt   <module>   s   							