ó
ø\c           @   sU   d  d l  Z  d  d l Z d  d l Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿNc          C   s¨   t  j d d d d g ƒ j d ƒ j ƒ  }  |  d k r  t  j d d g ƒ j d ƒ j d ƒ } xD | D]5 } d | k rd | j d	 ƒ d
 j d d ƒ } | Sqd Wn |  Sd S(   sZ   Return the current branch we are on or the branch that the detached head
    is pointed tot   gits	   rev-parses   --abbrev-reft   HEADs   utf-8t   branchs   
t   *t   /iÿÿÿÿt   )t    N(   t
   subprocesst   check_outputt   decodet   stript   splitt   replace(   t   current_brancht   branchesR   t   detached_from_branch(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_current_branch   s    'c          C   s   d „  }  |  ƒ  } | d  S(   sD   Return the current X.Y stable version number from the latest git tagc          S   si   t  j d d d d g ƒ j d ƒ j ƒ  }  t j d d |  ƒ j d ƒ } | j d	 d
 „  ƒ | d } | S(   s+   "Helper function: Return the latest git tagR    t   tags   --lists   v*s   utf-8s   [A-Za-z]R   s   
t   keyc         S   s&   g  |  j  d ƒ D] } t | ƒ ^ q S(   Nt   .(   R   t   int(   t   st   u(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   <lambda>3   s    iÿÿÿÿ(   R   R   R	   R
   t   ret   subR   t   sort(   t   git_tag_outputt   git_tag_listt   git_tag_latest(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_latest_tag+   s    
iþÿÿÿ(    (   R   t
   latest_tag(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_current_stable_version(   s    		c          C   s7   t  ƒ  }  d j t |  d  ƒ t |  d ƒ d ƒ } | S(   s   Return the next stable versions   {}.{}i   iþÿÿÿ(   R    t   formatR   (   t   current_versiont   next_version(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_next_stable_version@   s
    	c          C   s+   t  j d d d d d g ƒ j d ƒ }  |  S(   s   Return commit hash stringR    t   logs   --pretty=format:%hR   s   -n1s   utf-8(   R   R   R	   (   t   commit_hash(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_current_commit_hashN   s    'c         C   s—   |  d k r„ t  j j ƒ  } | j d ƒ } | d k rK d j t ƒ  ƒ } q“ | d k r{ d j t ƒ  t ƒ  | t ƒ  ƒ } q“ d } n d j | ƒ } | S(   s‚   Return a release string representing the type of build. Verbose for
    dev builds and with sparse version info for release buildst   devs   %Y%m%dt   simples   {}t   detaileds   {}-{}-{}-{}s'   invalid value for release_string_detail(   t   datetimet   datet   todayt   strftimeR!   R'   R$   R   (   t   release_typet   release_string_detailt   versiont   DATEt   TODAYt   release_string(    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   get_release_stringV   s    	(   R+   R   R   R   R    R$   R'   R5   (    (    (    s2   /home/rger/proj/rsyslog-doc/source/conf_helpers.pyt   <module>   s   	!			