Files
django.remote/__pycache__/remote_commands_tab.cpython-38.pyc

204 lines
16 KiB
Plaintext
Raw Normal View History

2025-08-31 11:00:32 +08:00
U
<00>K<EFBFBD>h<EFBFBD>q<00>@s<>ddlmZmZmZmZmZmZmZmZm Z m
2025-08-31 11:00:32 +08:00
Z
m Z m Z ddl mZmZmZddlmZGdd<05>de <0B>ZGdd<07>de<0F>ZGdd <09>d e<01>Zd
S) <0B>) <0C>QWidget<65> QVBoxLayout<75> QHBoxLayout<75>QLabel<65> QLineEdit<69> QPushButton<6F> QGroupBox<6F> QTextEdit<69> QMessageBox<6F> QFormLayout<75>QDialog<6F>QDialogButtonBox)<03>Qt<51>QThread<61>Signal)<01>loggercs&eZdZd<06>fdd<03> Zdd<05>Z<04>ZS)<07>PasswordDialogNcs<>t<00><00>|<01>|<00>d<01>|<00>d<02>t<04>}td<03>}|<02>|<03>t<07>|_|j<08> tj
<EFBFBD>|<02>|j<08>t t j t j B<00>}|j<0E>|j<10>|j<11>|j<12>|<02>|<04>|<00>|<02>dS)Nu 输入密码i,u请输入sudo密码:)<14>super<65>__init__<5F>setWindowTitle<6C>setMinimumWidthrr<00> addWidgetr<00>password_input<75> setEchoMode<64>Passwordr <00>Ok<4F>Cancel<65>accepted<65>connect<63>accept<70>rejected<65>reject<63> setLayout)<05>self<6C>parent<6E>layout<75>labelZ
button_box<EFBFBD><01> __class__<5F><00>Sc:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\remote_commands_tab.pyrs 
2025-08-31 11:00:32 +08:00


 
zPasswordDialog.__init__cCs
|j<00><01>S<00>N)r<00>text<78>r#r)r)r*<00> get_password szPasswordDialog.get_password)N)<06>__name__<5F>
__module__<EFBFBD> __qualname__rr.<00> __classcell__r)r)r'r*rsrcsDeZdZee<04>Zeee<04>Ze<03>Z<08>fdd<02>Z dd<04>Z
dd<06>Z <0B>Z S)<07>RemoteCommandThreadcs&t<00><00><01>||_||_d|_d|_dS<00>NF)rr<00>
ssh_client<EFBFBD>command<6E>password<72>waiting_for_password)r#r5r6r'r)r*r(s

zRemoteCommandThread.__init__cCs||_d|_dSr4)r7r8)r#r7r)r)r*<00> set_password/sz RemoteCommandThread.set_passwordc
Csx<00>z<>t<00>d|j<02><00><02>z,|jr(|j<03><04>nd}|r8|<01><05>s@td<02><01>WnXtk
2025-08-31 13:08:06 +08:00
r<EFBFBD>}z:t<00>dt|<02><01><00><02>|j <09>
d<04>|j <0B>
dd<06>WY<00>WdSd}~XYnXzL|j<03> d<07>\}}}|<04> <0A><00><0E><00><0F>}|r<>|j <09>
d|<06><00><02>t<00>d|<06><00><02>Wn8tk
<EFBFBD>r }zt<00>d t|<02><01><00><02>W5d}~XYnXd
|jk<06>r|j<02>d
d <0B>}|j<03> |<07>\}} }
|j<11>rzt<00>d <0C>|<08>|jd <00>|<08><13>n<>d} |
D]4} |j <09>
| <0C>d| <0C><14>k<06>s<>d| k<06>r<>d} <00>q<><71>q<>| <0B>rd|_|j<16>
<EFBFBD>|j<15>r<>|<00>d<11><00>q<>|j<11>r|<08>|jd <00>|<08><13>n|j<03> |j<02>\}} }
d} | D]} | | 7} |j <09>
| <0C><00>q"d}|
D]8} || 7}d| <0C><14>k<07>rFd| k<07>rF|j <09>
d| <0C><00><02><00>qF| j<18><19>}|dk<02>r<>t<00>d|j<02><00><02>|j <0B>
dd<16>n$t<00>d|<0F><00><02>|j <0B>
dd|<0F><00><02>Wn<>tk
<EFBFBD>rr}zvt<00>dt|<02><01><00><02>t|<02>}d|k<06>s d|k<06>r<|j <09>
2025-08-31 13:08:06 +08:00
d<04>|j <0B>
dd<06>n&|j <09>
d|<10><00><02>|j <0B>
dd|<10><00><02>W5d}~XYnXdS)Nu执行远程命令: <20>SSH连接已断开uSSH连接检查失败: u5错误: SSH连接已断开请重新连接服务器Fu-SSH连接已断开请重新连接服务器<E58AA1>pwdu当前目录: u获取当前目录失败: Zsudozsudo -Su使用预先设置的密码<E5AF86>
z password foru密码T<E7A081>d<00>u错误: ru命令执行成功: <20>命令执行成功u#命令执行失败,退出状态: u执行命令时发生错误: zSocket is closedzSSH session not active)r<00>infor6r5<00> get_transport<72> is_active<76> Exception<6F>error<6F>str<74> output_signal<61>emit<69>finished_signal<61> exec_command<6E>read<61>decode<64>strip<69>replacer7<00>write<74>flush<73>lowerr8<00>password_request_signalZmsleep<65>channel<65>recv_exit_status)r#<00> transport<72>eZ pwd_stdinZ
pwd_stdoutZ
pwd_stderrZ
pwd_outputZcommand_with_sudo<64>stdin<69>stdout<75>stderrZpassword_prompt<70>line<6E>outputrD<00> exit_status<75> error_msgr)r)r*<00>run3s<>   & 

 

2025-08-31 13:08:06 +08:00


2025-08-31 11:00:32 +08:00

 zRemoteCommandThread.run) r/r0r1rrErF<00>boolrHrQrr9r]r2r)r)r'r*r3#s 
 r3cs<>eZdZ<02>fdd<02>Zdd<04>Zdd<06>Zdd<08>Zd d
2025-08-31 11:00:32 +08:00
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zdd<1E>Zdd <20>Zd!d"<22>Zd#d$<24>Zd%d&<26>Z<15>ZS)'<27>RemoteCommandsTabcs,t<00><00><01>t<02>d<01>d|_d|_|<00><06>dS)Nu初始化远程命令标签页)rrrr@r5<00>command_thread<61>init_uir-r'r)r*r<00>s
2025-08-31 11:00:32 +08:00


zRemoteCommandsTab.__init__cCsLt<00>}td<01>}t<00>}t<02>}td<02>|_|jj<05>|j<07>|<04>|j<04>|<04> <09>|<03>
2025-08-31 11:02:17 +08:00
|<04>t<02>}t <0B>}t <0C>|_ |<06>d|j <0A>t <0C>|_|j<0F>d<04>|<06>d|j<0F>|<05>
|<06>t<00>}td<06>|_|jj<05>|j<12>|<07>|j<11>|<07> <09>|<05>
|<07>|<03>
|<05>|<02>|<03>|<01>|<02>td<07>}t<00>} t<00>}
2025-08-31 11:07:11 +08:00
|
<EFBFBD>td<08><01>t<15>|_|j<16>d <09>|
<EFBFBD>|j<16>t<02>} td
<EFBFBD>|_|jj<05>|j<19>| <0B>|j<18>| <0B> <09>|
<EFBFBD>
| <0B>| <09>
|
<EFBFBD>|<08>| <09>|<01>|<08>td <0B>} t<00>} t<02>}|<0E>td <0C><01>t <0C>|_|jj<1B>|j<1C>|<0E>|j<1A>td <0A>|_|jj<05>|j<1E>|<0E>|j<1D>| <0A>
|<0E>t<02>}|<0F>td<0E><01>t<15>|_|j<1F>d<04>|j<1F>d<0F>|<0F>|j<1F>| <0A>
|<0F>t<02>}|<10>td<10><01>t <0C>|_ |<10>|j <20>td<11>|_!|j!j<05>|j"<22>|<10>|j!<21>| <0A>
|<10>| <0C>| <0A>|<01>| <0C>td<12>}t<00>}t<15>|_#|j#<23>d<04>|<12>|j#<23>|<11>|<12>|<01>|<11>td<13>|_$|j$<24>%t&j'<27>|<01>|j$<24>|<01> <09>|<00>|<01>t(<28>)d<14>dS)Nu Git操作<E6938D> 安装Gitu
仓库URL:Tu 远程目录:u 克隆项目u 系统管理u自定义命令:r=u 执行命令u 目录管理u 当前目录:u 刷新目录u 目录内容:<3A><>u 删除目录:<3A> 删除目录u 命令输出u就绪u&远程命令标签页UI初始化完成)*rrrrZinstall_git_button<6F>clickedr<00> install_gitr<00>
addStretch<EFBFBD> addLayoutr r<00>repo_url_input<75>addRow<6F>remote_dir_display<61> setReadOnlyZ clone_button<6F>clone_repositoryr"rr <00>custom_command_input<75>setMaximumHeightZexecute_command_button<6F>execute_custom_command<6E>current_dir_display<61> returnPressed<65>on_current_dir_enteredZrefresh_dir_button<6F>refresh_directory<72> dir_list_text<78>delete_dir_inputZdelete_dir_button<6F>delete_directory<72> output_text<78> status_label<65> setAlignmentr<00> AlignCenterrr@)r#<00> main_layoutZ git_groupZ
git_layoutZinstall_git_layoutZ clone_layoutZ left_layoutZ right_layoutZ system_groupZ system_layoutZcustom_command_layoutZexecute_button_layoutZ dir_groupZ
dir_layoutZcurrent_dir_layoutZdir_list_layoutZdelete_dir_layoutZ output_groupZ output_layoutr)r)r*ra<00>s<>
2025-08-31 11:00:32 +08:00
 
2025-08-31 11:02:17 +08:00
 

 

2025-08-31 11:00:32 +08:00


  
2025-08-31 13:08:06 +08:00
 


2025-08-31 13:08:06 +08:00

2025-08-31 11:07:11 +08:00
 
 
   
 
 


2025-08-31 11:00:32 +08:00
  


 
zRemoteCommandsTab.init_uic
Cs<>t<00>d|<01><00><02>||_z<>|<00><03><00><03>}t|d<02>r<>|jr<>|j<06><07><00><08>}|j<02> dd<04>}|r<>|j
<EFBFBD> d|<04>d|<03><00><04>t<00>d|<04>d|<03><00><04>n"|j
<EFBFBD> d|<04><00><02>t<00>d |<04><00><02>Wn6t k
r<EFBFBD>}zt<00> d
t|<05><01><00><02>W5d }~XYnXd S) u设置服务器信息u设置服务器信息: <20>
status_bar<EFBFBD>host<73>未知<E69CAA>远程服务器 <20>: <20>2主窗口状态栏更新为远程服务器目录: <20>远程服务器: <20>,主窗口状态栏更新为远程服务器: <20> 更新主窗口状态栏失败: N)rr@<00> server_infor$<00>hasattrr5rqr,rL<00>getr}<00> showMessagerCrDrE)r#r<><00> main_window<6F> current_dir<69> server_hostrUr)r)r*<00>set_server_info$s z!RemoteCommandsTab.set_server_infoc
Cs<>t<00>d<01>||_|j<02>r|j<03>d<02>|j<03>d<03>z<>|<00><06><00><06>}t|d<04>r<>|j<08> <09><00>
<EFBFBD>}t|d<05>rn|j <0B> dd<07>nd}|r<>|j <0A>d|<04>d |<03><00><04>t<00>d
|<04>d |<03><00><04>n"|j <0A>d |<04><00><02>t<00>d |<04><00><02>Wn8tk
<EFBFBD>r}zt<00>d t|<05><01><00><02>W5d}~XYnXn<>|j<03>d<0E>|j<03>d<0F>z2|<00><06><00><06>}t|d<04><02>rN|j <0A>d<10>t<00>d<11>Wn8tk
<EFBFBD>r<>}zt<00>d t|<05><01><00><02>W5d}~XYnXdS)Nu设置SSH客户端u已连接到服务器<E58AA1> color: green;r}r<>r~rr<>r<>r<>r<>r<>r<>u未连接到服务器<E58AA1> color: red;u未连接到远程服务器u*主窗口状态栏更新为未连接状态)rr@r5ry<00>setText<78> setStyleSheetr$r<>rqr,rLr<>r<>r}r<>rCrDrE)r#r5r<>r<>r<>rUr)r)r*<00>set_ssh_client8s4
   
(     z RemoteCommandsTab.set_ssh_clientc
Cs<>t<00>d|<01>d|<02><00><04>|j<02>|<01>|j<04>|<02>|r<>|j<05>|<02>|<00><06>zj|<00><07><00><07>}t|d<03>r<>t|d<04>r|d|j kr||j dnd}|j
<EFBFBD> d|<04>d|<02><00><04>t<00>d |<04>d|<02><00><04>Wn6t k
r<EFBFBD>}zt<00> d
t|<05><01><00><02>W5d}~XYnXdS) Nu设置服务器配置: git_url=z , remote_dir=r}r<>r~rr<>r<>r<>r<>)rr@rir<>rkrqrtr$r<>r<>r}r<>rCrDrE)r#<00>git_url<72>
remote_dirr<EFBFBD>r<>rUr)r)r*<00>set_server_config[s    
"z#RemoteCommandsTab.set_server_configcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06>|j<07>d<04>t |jd<05>|_
2025-08-31 11:00:32 +08:00
|j
j <0B> |j <0A>|j
j<0E> |j<0F>|j
j<10> |j<11>|j
<EFBFBD><12>dS)Nrb<00>警告<E8ADA6>请先连接到服务器u正在安装Git...z*sudo apt update && sudo apt install -y git)rr@r5r
<00>warningrx<00>clearryr<>r3r`rFr<00> append_outputrH<00>on_command_finishedrQ<00>request_password<72>startr-r)r)r*rfos
2025-08-31 11:00:32 +08:00

 zRemoteCommandsTab.install_gitcCsjt<00>d<01>t|<00>}|<01><03>tjkrF|<01><06>}|rf|j<07>|<02>|j <09>
d<02>n |j <09>
d<03>|j<07>d<04>d|j_ dS)Nu请求输入sudo密码u密码已发送
u已取消输入密码
r>F) rr@r<00>execr <00>Acceptedr.r`r9rx<00>appendr8)r#<00>dialogr7r)r)r*r<><00>s
2025-08-31 11:02:17 +08:00
   z"RemoteCommandsTab.request_passwordcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sFt<03>|dd<04>dS|j<08><06><00><07>}|j <09>
<EFBFBD>|j <0B> d<05>|r<>d|<02>d|<02>d|<01><00>}n
d |<01><00>}t |j|<03>|_|jj<0F>|j<11>|jj<12>|j<13>|j<0E><14>dS)
Nu 克隆仓库r<E5BA93>r<>u请输入仓库URLu正在克隆仓库...z mkdir -p z && cd z && git clone --verbose zgit clone --verbose )rr@r5r
r<>rir,rLrkrxr<>ryr<>r3r`rFrr<>rHr<>r<>)r#Zrepo_urlr<6C>Z clone_commandr)r)r*rm<00>s$
2025-08-31 11:02:17 +08:00

 
z"RemoteCommandsTab.clone_repositorycCs|j<00>|<01>dSr+)rxr<><00>r#r,r)r)r*r<><00>szRemoteCommandsTab.append_outputcCs<>|rD|j<00>|<02>|j<00>d<01>t<03>|d|<02>d|ks:d|kr<>|<00><05>nd|j<00>|<02>|j<00>d<05>d|kr<>t<03>|d|<02>d<07>tjtjBtj<07>}|tjkr<>|<00> <09>nt<03>
|d|<02>dS) Nr<4E>u成功u删除u目录r<E5BD95>r:u&
2025-08-31 13:08:06 +08:00
是否现在重新连接服务器<EFBFBD>错误) ryr<>r<>r
<00> informationrt<00>question<6F>Yes<65>No<4E> reconnect_sshr<68>)r#<00>success<73>message<67>replyr)r)r*r<><00>s"  
2025-08-31 13:08:06 +08:00
  
<04>

z%RemoteCommandsTab.on_command_finishedc
Cs<>t<00>d<01>z||<00><02><00><02>}t|d<02>r<>|j<04><05><00><06>}t|d<03>rNd|jkrN|jdnd}|r<>|j<08> d|<03>d|<02><00><04>t<00>d|<03>d|<02><00><04>Wn6t
k
r<EFBFBD>}zt<00> d t |<04><01><00><02>W5d
}~XYnX|<00> <0A>d
S) u6处理用户输入目录路径并按回车键的情况u'用户输入目录路径并按回车键r}r<>r~rr<>r<>r<>r<>N)rr@r$r<>rqr,rLr<>r}r<>rCrDrErt)r#r<>r<>r<>rUr)r)r*rs<00>s
 
"&z(RemoteCommandsTab.on_current_dir_enteredcCs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sVd}|j<05>|<01>t<00>d|<01><00><02>nt<00>d|<01><00><02>|j <09>d<07>d|<01>d <09>}t
2025-08-31 11:07:11 +08:00
|j|<02>|_ |j j <0C> |j<0E>|j j<0F> |j<10>|j <0B><11>dS)
Nu刷新目录列表r<E8A1A8>r<><00>~u使用默认目录: u使用用户输入目录: u正在刷新目录列表...<2E>cd z && pwd && ls -la)rr@r5r
r<>rqr,rLr<>ryr3r`rFr<00>append_dir_outputrH<00>on_dir_refresh_finishedr<64>)r#r<>r6r)r)r*rt<00>s 
   z#RemoteCommandsTab.refresh_directorycCs$|j<00>|<01>t<02>d|<01><04><00><00><02>dS)Nu目录列表信息: )rur<>rr@rLr<>r)r)r*r<><00>s z#RemoteCommandsTab.append_dir_outputc
Cs|r<>|j<00>d<01>|j<00>d<02>t<03>d<03>zt|<00><05><00><05>}t|d<04>r<>|j<07><08>}t|d<05>rfd|j krf|j dnd}|j
<EFBFBD> d|<05>d |<04><00><04>t<03>d
|<05>d |<04><00><04>Wn6t k
r<EFBFBD>}zt<03> d t|<06><01><00><02>W5d}~XYnXn<|j<00>d <0C>|j<00>d <0A>t<03> d|<02><00><02>t<0F>|dd|<02><00><02>dS)Nu目录列表已刷新r<E696B0>u目录列表刷新成功r}r<>r~rr<>r<>r<>r<>u刷新目录列表失败r<E8B4A5>u刷新目录列表失败: r<>)ryr<>r<>rr@r$r<>rqr,r<>r}r<>rCrDrEr
r<>)r#r<>r<>r<>r<>r<>rUr)r)r*r<><00>s"  
 

"(  z)RemoteCommandsTab.on_dir_refresh_finishedcCs.t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sFt<03>|dd<04>dS|j<08> <09>|j
<EFBFBD> d<05>|<01> d<06>r<>t<00>d<07>t |<00>}|<02><0E>tjkr<>|<02><11>}|s<>t<03>|dd<08>dSnt<03>|dd <09>dSt|j|<01>|_|jj<14>|j<16>|jj<17>|j<18>|jj<19>|j<1A>|<01> d<06><01>r |<03>r |j<13>|<03>|j<08>d
<EFBFBD>|j<13><1D>dS) Nu执行自定义命令r<E4BBA4>r<>u请输入要执行的命令u正在执行命令...zsudo u(检测到sudo命令预先请求密码u$未输入密码取消执行命令u已取消输入密码u密码已设置
)rr@r5r
r<>rn<00> toPlainTextrLrxr<>ryr<><00>
startswithrr<>r r<>r.r3r`rFrr<>rH<00>on_custom_command_finishedrQr<>r9r<>r<>)r#r6r<>r7r)r)r*rps8

 

  z(RemoteCommandsTab.execute_custom_commandcCs^|r0|j<00>d<01>|j<00>d<02>|j<03>d|<02><00><02>n*|j<00>d<04>|j<00>d<05>|j<03>d|<02><00><02>dS)Nr?r<>u
=== 命令执行成功 ===
u命令执行失败r<E8B4A5>u
=== 命令执行失败 ===
)ryr<>r<>rxr<>)r#r<>r<>r)r)r*r<>8s    z,RemoteCommandsTab.on_custom_command_finishedc Cs<>t<00>d<01>|js"t<03>|dd<03>dS|j<05><06><00><07>}|sFt<03>|dd<04>dS|j<08><06><00><07>}|s\d}t<03> |dd|<02>d|<01>d <09>tj
2025-08-31 11:07:11 +08:00
tj Btj <0B>}|tj kr<>dS|j <0C> <0A>|j<0E>d
<EFBFBD>d |<02>d |<01><00>}t|j|<04>|_|jj<12>|j<14>|jj<15>|j<16>|j<11><17>dS) Nrdr<>r<>u请输入要删除的目录名r<E5908D>u 确认删除u确定要删除目录 '<27>/u3' 及其所有内容吗?
此操作不可撤销u正在删除目录...r<>z && rm -rf )rr@r5r
r<>rvr,rLrqr<>r<>r<>rxr<>ryr<>r3r`rFrr<>rHr<>r<>)r#Z dir_to_deleter<65>r<>r6r)r)r*rwBs2
2025-08-31 11:07:11 +08:00

<04>

 z"RemoteCommandsTab.delete_directoryc
2025-08-31 13:08:06 +08:00
Csd|js
dSz|j<00><01>}|o |<01><02>WStk
r^}zt<04>dt|<02><01><00><02>WY<00>dSd}~XYnXdS)u检查SSH连接是否有效Fu 检查SSH连接时发生错误: N)r5rArBrCrrDrE)r#rTrUr)r)r*<00>check_ssh_connectionfs
2025-08-31 13:08:06 +08:00
z&RemoteCommandsTab.check_ssh_connectioncCs<>t<00>d<01>|jr2z|j<02><03>Wn YnXd|_|<00><04><00><04>}t|d<03>r<>|j<06>d<04>|j<08> d<05>|j<08>
d<06>|j <0B> d<07>|j <0B> d<08>t <0A>|d d
t jt jBt j<0F>}|t jkr<>|j}|<03><12>dS) u重新连接SSH服务器u尝试重新连接SSH服务器N<E599A8>tabsru请重新连接服务器zcolor: orange;u
=== SSH连接已断开 ===
u<请切换到"服务器连接"标签页重新连接服务器
r:u0SSH连接已断开是否现在重新连接)rr@r5<00>closer$r<>r<><00>setCurrentIndexryr<>r<>rxr<>r
r<>r<>r<><00>server_connection_tab<61>connect_to_server)r#r<>r<>r<>r)r)r*r<>rs,
2025-08-31 13:08:06 +08:00
 
     
<04>
zRemoteCommandsTab.reconnect_ssh)r/r0r1rrar<>r<>r<>rfr<>rmr<>r<>rsrtr<>r<>rpr<>rwr<>r<>r2r)r)r'r*r_<00>s(  #*
$ r_N)<16>PySide6.QtWidgetsrrrrrrrr r
r r r <00>PySide6.QtCorerrr<00>logururrr3r_r)r)r)r*<00><module>s
8 p