
    2yio                        d dl mZ d dlZd dlZd dlZd dlZd dlmZ d dlZd dl	m
Z
 d dlZd dlmZ erd dlmZ  ej                   e      ZdZddZdd	Zdd
ZddZ	 	 	 	 	 d	 	 	 	 	 ddZy)    )annotationsN)TYPE_CHECKING)version)Abort)MkDocsConfigz-Deployed {sha} with MkDocs version: {version}c                    	 t        j                  g dt         j                  t         j                        } | j                          | j                         dk(  S # t        $ r! t        j                  d       t        d      w xY w)N)git	rev-parsez--is-inside-work-treestdoutstderrz6Could not find git - is it installed and on your path?Deployment Aborted!r   )	
subprocessPopenPIPEFileNotFoundErrorlogerrorr   communicatewait)procs    [/var/www/html/content_weaver/venv/lib/python3.12/site-packages/mkdocs/commands/gh_deploy.py_is_cwd_git_repor      sq    +9????
 	99;!	  +		JK)**+s   6A *Bc                    t        j                  g d| xs d t         j                  t         j                        }|j                         \  }}|j	                  d      j                         }|S )N)r	   r
   z--shortHEAD)cwdr   r   utf-8)r   r   r   r   decodestrip)	repo_pathr   r   _shas        r   _get_current_shar#   %   s[    /	D   "IFA
--
 
&
&
(CJ    c                X   d|  d}t        j                  ddd|gt         j                  t         j                        }|j                         \  }}|j	                  d      j                         }d|v r|j                  dd	      \  }}||fS d
|v r|j                  d
d	      \  }}||fS y)Nzremote.z.urlr	   configz--getr   r   zgithub.com/   zgithub.com:)NN)r   r   r   r   r   r   split)remote_nameremoter   r   r!   urlhostpaths           r   _get_remote_urlr.   2   s     {m4(F	'6*D   "IFA
--
 
&
&
(CYY}a0
d
 :	 
#	YY}a0
d : r$   c                   t        j                  ddddd|  gt         j                  t         j                        }|j                         \  }}|j	                  d      j                         }t        j                  d|t        j                  t        j                  z        }|r#t        j                  |j                               nd }t        j                  t        j                        }|st        j!                  d	       y ||kD  rt        j#                  d
| d| d       y ||k  r't        j%                  d| d| d       t'        d      y )Nr	   showz-sz--format=%szrefs/heads/r   r   z0\d+(\.\d+)+((a|b|rc)\d+)?(\.post\d+)?(\.dev\d+)?zCVersion check skipped: No version specified in previous deployment.z1Previous deployment was done with MkDocs version z*; you are deploying with a newer version ()zHDeployment terminated: Previous deployment was made with MkDocs version z6; you are attempting to deploy with an older version (z)). Use --ignore-version to deploy anyway.r   )r   r   r   r   r   r   researchXIr   parsegroupmkdocs__version__r   warninginfor   r   )branchr   r   r!   msgm	previousvcurrentvs           r   _check_versionrA   H   s5   	m{6(-CDD   "IFA
--
 
&
&
(C
		EsBDDSUSWSWKXA,-aggi(4I}}V//0HYZ	I	?	{ K77?jC	
 
I			VW`Va bCCK* M  	

 )** 
r$   c                   t               st        j                  d       | j                  }| j                  }|st        |       |t        }t        t        j                  j                  | j                              }|j                  t        j                  |      }t        j                  d| j                   | j                         	 t#        j"                  | j                   |||d|||d	       t        j                  j+                  | j                   d      }
t        j                  j-                  |
      r`t/        |
      5 }|j1                         j3                         }d d d        t        j                  d	        t        j                  d
       y t5        |      \  }}||t        j                  d       y |j7                  dd      \  }}|j9                  d      r|d t;        d        }d| d| d}t        j                  d|        y # t"        j$                  $ r2}	t        j                  d|	j&                          t)        d      d }	~	ww xY w# 1 sw Y   xY w)NzECannot deploy - this directory does not appear to be a git repository)r   r"   z2Copying '%s' to '%s' branch and pushing to GitHub.T)mesgr*   r<   pushforce	use_shell
no_historynojekyllz(Failed to deploy to GitHub with error: 
r   CNAMEzTBased on your CNAME file, your documentation should be available shortly at: http://zSNOTE: Your DNS records must be configured appropriately for your CNAME URL to work.z/Your documentation should be available shortly./r'   z.gitzhttps://z.github.io/z3Your documentation should shortly be available at: )r   r   r   remote_branchr)   rA   default_messager#   osr-   dirnameconfig_file_pathformatr8   r9   r;   site_dir
ghp_importGhpErrormessager   joinisfileopenreadr   r.   r(   endswithlen)r&   rT   rE   rG   ignore_versionshellrK   r)   r"   e
cname_filef
cname_hostr,   r-   usernamerepor+   s                     r   	gh_deployrc   d   s    		YZ((M$$K}%!
277??6+B+BC
DCnnV%7%7SnAGHH<+OO !
	
 foow7J	ww~~j!* 	*)J	*,,6<9	
 	a	
 	 -JD$|t|BCC+$== 3v;,'D
+dV15FseLM;  +		=aii[IJ)**+	* 	*s$   (H I$I!/-II!$I-)returnbool)rd   str)r)   rf   rd   z#tuple[str, str] | tuple[None, None])r<   rf   rd   None)NFFFF)r&   r   rT   z
str | Nonerd   rg   )
__future__r   loggingrM   r2   r   typingr   rR   	packagingr   r8   mkdocs.exceptionsr   mkdocs.config.defaultsr   	getLogger__name__r   rL   r   r#   r.   rA   rc    r$   r   <module>rq      s    "  	 	       #3g!E
,+< 

ENENEN 
ENr$   