
    agW                          d dl Z  G d d      Zy)    Nc                   $    e Zd Zd Zd Zd Zd Zy)GitInfoc                     || _         y )N)	repo_path)selfr   s     /var/www/html/utils/gitinfo.py__init__zGitInfo.__init__   s	    "    c                     ddd| j                   g|j                         z   }t        j                  |      j	                         j                  d      }|S )Nsudogitz-Czutf-8)r   split
subprocesscheck_outputstripdecode)r   commandgit_commandresults       r   execute_git_commandzGitInfo.execute_git_command   sH    udDNN;gmmoM((5;;=DDWMr
   c                 (    | j                  d      }|S )Nzrev-parse --short HEAD)r   )r   commit_hashs     r   get_commit_hashzGitInfo.get_commit_hash   s    ../GHr
   c                     	 | j                  d      }|S # t        j                  $ r 	 | j                  d      }|cY S #  Y Y yxY ww xY w)Nzsymbolic-ref --short HEADz"describe --tags --exact-match HEADnone)r   r   CalledProcessError)r   branchdetached_heads      r   get_branch_or_tagzGitInfo.get_branch_or_tag   sX    	--.IJFM,, 	 $ 8 89] ^$$	s#    A>AA AAN)__name__
__module____qualname__r	   r   r   r    r
   r   r   r      s    #
	r
   r   )r   r   r#   r
   r   <module>r$      s     r
   