
    h
                         d dl mZ d dlZd dlZd dlZd dlZd dlZ ej                  d      Zej                  d       ej                  dddd	
       d Z
d Zd Zd Zd Zd Zd Zedk(  r e        yy)    )print_functionNz%(prog)s [options] args...)usageversionz--no-tagtagstore_falseT)destactiondefaultc                 Z   t        |       }|t        dt        j                         yt	        |d      5 }t        dj                  | j                        |       d d d        t        d       | j                  r$t        dj                  | j                               y# 1 sw Y   ExY w)	NzVersion file not found!)filewz__version__ = "{}"zgit commit -a -m 'bump version'z
git tag {}r   )	_get_version_filenameprintsysstderropenformatr   _shellr   )argsversion_filenameoutfiles      P/var/www/tech_portal/venv/lib/python3.12/site-packages/pyproject/bump_version.pymainr      s    ,T2'cjj9		$ "))$,,7	 ,-xx|""4<<01 s   'B!!B*c                     | d d  }|j                   r|d   dz   g|dd  D cg c]  }d c}z   }|S |j                  r#|d   |d   dz   g|dd  D cg c]  }d c}z   }|S |dxx   dz  cc<   |S c c}w c c}w )Nr         r   )
major_bump
minor_bump)r   r   returnedxs       r   _bumpr"      s    qzHQK!O$8AB<'@a'@@
 O	 
QK!q14M1Q4MM O 	O (A4Ms   	A/	A4c                 p    t        j                  | d      }|dk7  rt        dj                  |             y )NT)shellr   zshell command failed: {!r})
subprocesscall	Exceptionr   )cmd
returncodes     r   r   r   $   s5    D1JQ4;;C@AA     c                    g }t        j                  d      D ]  \  }}}|D cg c]  }|j                  d      r| c}|d d  |dk(  rdD ]  }||v s|j                  |        |D ]7  }|dk(  s	|j	                  t         j
                  j                  ||             9  |sy t        |      dkD  rt        dj                  |            |d   S c c}w )N.)buildz__version__.pyr   z Too many version files found: {}r   )
oswalk
startswithremoveappendpathjoinlenr'   r   )r   matchedr3   dirnames	filenamesdexcludedfilenames           r   r   r   )   s    G%'WWS\ =!h	"*DQ!,,s2CqD3;% .x'OOH-. " 	=H++rww||D(;<	== 
7|a:AA'JKK1: Es
   CCc                 ,   t        | d      j                         }t        j                  d|j	                  d      t        j
                  t        j                  z        }|s
t               S t        t        t        |j                         d d             S )Nrbz-^__version__\s+=\s+\"(\d)\.(\d+)\.(\d+)\"\s*$zutf-8r   )r   readrematchdecodeSM_get_latest_taglistmapintgroups)r;   contentr@   s      r   _get_versionrJ   :   sr    8T"'')GHHEw~~V]G^`b`d`dgigkgk`klE  C,-..r*   c            
         t        j                  ddt         j                        } | j                         dk7  rt	        d      g }| j
                  D ]g  }|j                  d      r|dd  }t        j                  d|      }|s2|j                  t        t        t        |j                                            i |j                          |d	   S )
Nzgit tagT)r$   stdoutr   zCannot extract tagsvr   z^(\d+)\.(\d+)\.(\d+)\s*$r   )r%   PopenPIPEwaitRuntimeErrorrL   r0   r?   r@   r2   rE   rF   rG   rH   sort)pr    r   r@   s       r   rD   rD   A   s    $zGAvvx1}011Hxx 8>>#ab'C4c:Selln5678 MMOB<r*   c                  h    t         j                         } t        j                  t	        |              y )N)parser
parse_argsr   exitr   )r   s    r   main_entry_pointrX   Q   s     DHHT$Zr*   __main__)
__future__r   argparser.   r?   r   r%   ArgumentParserrU   add_argumentr   r"   r   r   rJ   rD   rX   __name__ r*   r   <module>r`      s    %  	 	 
 	 	 	 'C	D   I    JU=$  OB
"/  z r*   