
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    V                     @   sp   d dl Z d dlZd dlZd dlZd dlZdd Zdd Zdd Zdd	 Z	d
d Z
dd Zedkrlee  dS )    Nc                 C   sV   zt t| dW S  tjk
r<   td| Y n tk
rP   Y d S X d S )Nzpbr.jsonzPackage {0} not installed)jsonloadspkg_resourcesget_distributionget_metadataDistributionNotFound	Exceptionformat)package_name r   =/opt/alt/python38/lib/python3.8/site-packages/pbr/cmd/main.py_get_metadata   s    r   c                 C   s   t | jd }|rt| d S )Nsha)	_get_infonameprint)argsr   r   r   r   get_sha$   s    r   c                 C   s   t djf t| j d S )Nz!{name}	{version}	{released}	{sha})r   r	   r   r   )r   r   r   r   get_info*   s    r   c                 C   s   t | }t| j}|r4|d r&d}nd}|d }nL|d}|d drb|d dd  }d}nd	}d}|D ]}| snd}qnt| |||d
S )N
is_releasereleasedzpre-releasegit_version.g    )r   versionr   r   )r   r   r   r   split
startswithisdigitdict)r   metadatar   r   r   Zversion_partspartr   r   r   r   /   s"    

r   c                 C   sF   t jD ]:}t|j}djf |}|d r8|djf |7 }t| qd S )Nz{name}=={version}r   z  # git sha {sha})r   working_setr   project_namer	   r   )r   distinfooutputr   r   r   freezeF   s    

r)   c               
   C   s   t jdd} | jdddttjdd | jdd	d
d}|jddd}|j	t
d |jddd |jddd}|j	td |jddd |jddd}|j	td |  }z|| W n* tk
r } zt| W 5 d }~X Y nX d S )Nz pbr: Python Build Reasonableness)descriptionz-vz	--versionr   pbr)actionr   commandszvalid commandszadditional help)titler*   helpr   zprint sha of package)r/   )funcr   zpackage to print sha ofr'   zprint version info for packagezpackage to print info ofr)   z-print version info for all installed packages)argparseArgumentParseradd_argumentstrr+   r   VersionInfoadd_subparsers
add_parserset_defaultsr   r   r)   
parse_argsr0   r   r   )parserZ
subparsersZcmd_shar   er   r   r   mainO   sB          r<   __main__)r1   r   sysr   Zpbr.versionr+   r   r   r   r   r)   r<   __name__exitr   r   r   r   <module>   s   	