U
    ÇZjo  ã                   @   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   úO/var/www/html/TRUCKING_PROJECT/venv/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   s8   | j rtdjf t| jƒŽƒ ntdjf t| jƒŽƒ d S )Nz	{version}z!{name}	{version}	{released}	{sha})Úshortr   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 )NZ
is_releaseÚreleasedzpre-releaseZgit_versionÚ.éÿÿÿÿÚgé   Ú )r   Úversionr   r   )r   r   r   r   ÚsplitÚ
startswithÚisdigitÚdict)r   Úmetadatar   r   r   Úversion_partsÚpartr   r   r   r   2   s"    

r   c                 C   sV   t tjdd„ d�}|D ]:}t|jƒ}djf |Ž}|d rH|djf |Ž7 }t|ƒ qd S )Nc                 S   s
   | j  ¡ S )N)Úproject_nameÚlower)Údistr   r   r   Ú<lambda>K   ó    zfreeze.<locals>.<lambda>)Úkeyz{name}=={version}r   z  # git sha {sha})Úsortedr   Úworking_setr   r$   r	   r   )r   Zsorted_distsr&   ÚinfoÚoutputr   r   r   ÚfreezeI   s    ÿ
r.   c               
   C   s  t jdd�} | jdddttj d¡ƒd� | jdd	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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Úcmd)Útitler/   ÚhelpÚdestTr   zprint sha of package)r5   )Úfuncr   zpackage to print sha ofr,   zprint version info for packagezpackage to print info ofz-sz--shortÚ
store_truezonly display package version)r1   r5   r.   z-print version info for all installed packages)ÚargparseÚArgumentParserÚadd_argumentÚstrr0   r   ÚVersionInfoÚadd_subparsersÚrequiredÚ
add_parserÚset_defaultsr   r   r.   Ú
parse_argsr7   r   r   )ÚparserZ
subparsersZcmd_shaZcmd_infoZ
cmd_freezer   Úer   r   r   ÚmainT   sL    ÿ  þ  þ ÿ
ÿ ÿrE   Ú__main__)r9   r   Úsysr   Zpbr.versionr0   r   r   r   r   r.   rE   Ú__name__Úexitr   r   r   r   Ú<module>   s   "