U ãè bÙã@sdddlZddlZdd„Zdd„Zdd„Zdd „Zd d „Zd d „Zdd„Zdd„Z dd„Z dd„Z dS)éNcCs0t |j|jf¡}|j|j|jdtj |¡S©N)ÚusernameÚpassword) ÚparamikoZ TransportÚhostZportÚconnectrrZ SFTPClientZfrom_transport)ÚsÚ transport©r úF/mnt/d/workstation/expo/rust/letterman/mailcenter/deployer/executer.pyÚstart_upload_transportsr cCs2tj ¡}| t ¡¡|j|j|j|jd|Sr) rÚclientZ SSHClientZset_missing_host_key_policyZ AutoAddPolicyrrrr)rr r r r Ú start_client s rcCs8t|ƒ}| ¡}| ¡}| d¡| ¡| d¡|S)NTé)rZ get_transportZ open_sessionZset_combine_stderrZget_ptyZ setblocking)rr r Úsessionr r r Ú start_sessions  rcCstd|ƒdS)Nz>>> )Úprint)Úvr r r ÚlogsrcCs@dtjkrdSdtjkrdStdƒ}|dkr0dS|dkrd}| ¡dkr:| d¡}t|ƒdkr*q:q|| d¡7}q|S©NÚFérúutf-8)Ú recv_readyÚrecvÚlenÚdecode)rÚcollectÚstdoutr r r Úread*s   r&cCsJd}| ¡dkrFt|ƒ|krF| d¡}t|ƒdkr6qFq|| d¡7}q|Sr)r r"r!r#)rrr$r%r r r Ú read_limit4s  r'cCs>| ¡dkr2| d¡}t|ƒdkrt| d¡ƒqtdƒdS)NFrrrzprint_infinite ended)r r!r"rr#)rr%r r r Úprint_infinite>s    r(cCsvd}| ¡dkrT| d¡}t|ƒdkr*qTq|| d¡7}||kr| |d¡dSq||krn| |d¡dSdSdS)NrFrrrÚ T)r r!r"r#Úsend)rÚwÚrr$r%r r r ÚreplyEs   r-) rrr rrrrrr&r'r(r-r r r r Ús