Files
project-panel/__pycache__/utils.cpython-312.pyc
T

72 lines
15 KiB
Plaintext
Raw Normal View History

Ë
j'ãóÌdZddlZddlZddlZddlZddlZddlZddlmZddlm Z m
Z
m Z m Z iZ
dZdZdZdZd „Zd
Zd Zd Zd
ZdZdZdZdZdZdZdZdZdZy)u
工具函数模å
éN)Údatetime)ÚLOG_FILEÚ
PROJECTS_FILEÚCRON_BACKUP_DIRÚALERT_CONFIG_FILEcóztj«jd«}d|d|d}t|j «« t j t
jjt«d¬«ttd«5}|j|«ddd«y#1swYyxYw#YyxYw) u 写入日志ú%Y-%m-%d %H:%M:%SÚ[z] Ú
Úexist_okÚaN) rÚnowÚstrftimeÚprintÚstripÚosÚmakedirsÚpathÚdirnamerÚopenÚwrite)ÚmsgÚ timestampÚlog_lineÚfs úK/home/openclaw/.openclaw/workspace-hz4th_coder/works/project-panel/utils.pyÚ log_messagers‰ä ×'Ð(;Ó<€IØ9+˜R ˜u '€HÜ ˆ(.‰.Ó
Ôð
Ü
”B—G‘G—O‘O¤HÓÕ
”(˜
 
G‰G ÷!×
Ñ
ûð
Ù ús+ÁAB6ÂB*Â!B6Â*B3Â/B6Â3B6Â6B:có´ ttdd¬«5}tj|«}|j dg«cddd«S#1swYyxYw#gcYSxYw)u加载项目é…ç½®Úutf-8©ÚencodingÚprojectsN)rrÚjsonÚloadÚget)rÚdatas rÚ
load_projectsr)!sGðÜ
”- ¨wÕ
7¸—99˜Q“<ˆDØ—88˜Ó
7ûðØŠ ús'A”'A» AÁAÁ
AÁAÁAcó˜ ttdd¬«5}tj|«cddd«S#1swYyxYw#iggdœcYSxYw)u>加载完整项目é…置(包å«serverå’Œexternal_services)r r!r"N)Úserverr$Úexternal_services)rrr%r&©rs rÚload_projects_fullr.+sAðGÜ
”- ¨wÕ
7¸—99˜Q“<÷8×
7ûðGب"À2ÑFús?3© ?³<¸?¼?¿A cóˆttdd¬«5}tjd|i|dd¬«ddd«y#1swYyxYw) uä¿å­˜é¡¹ç›®é…ç½®Úwr!r"r$©Ú ensure_asciiÚindentN)rrr%Údump)r$rs rÚ
save_projectsr64s3ä
Œm˜S¨7Õ 3°qÜ :˜(¨!¸Õ
4× 3Ñ 3ús 8¸AcóØ ddl}|j|j|j«}|jd«|j d|f«}|j «|dk(S#YyxYw)u!æ£€æŸ¥ç«¯å£æ˜¯å¦æœ‰è¿›ç¨‹ç›‘å¬rÚ localhostF)ÚsocketÚAF_INETÚ SOCK_STREAMÚ
settimeoutÚ
connect_exÚclose)Úportr:ÚsockÚresults rÚ
check_portrC:s`ðÛØ}‰}˜VŸ^™^¨V×-?Ñ-?ÓØ ˜ÔØ +¨tÐ!4ÓØ
Œ ؘ‰{ÐøðÙús A"A%Á%A)có† tjd|ddd¬«}|jrtddl}|jd|j«}|rQt |j
d««}tj|tj«td|d |d
«yy#t$r}td |«Yd}~yd}~wwxYw) u!åœæ­¢å ç”¨æŒ‡å®šç«¯å£çš„进程zss -tlnp | grep :T©ÚshellÚcapture_outputÚtextrNz pid=(\d+)r8uå·²åœæ­¢è¿›ç¨‹ u (ç«¯å£ Ú)uåœæ­¢è¿›ç¨‹å¤±è´¥: )
Ú
subprocessÚrunÚstdoutÚreÚsearchÚintÚgrouprÚkillÚsignalÚSIGTERMrÚ Exception)r@rBrMÚmatchÚpidÚes rÚ stop_processrXGs´ð
Ð"3°D°6Ð :À$ÐW[ÐbfÔgˆØ =Š=ã ØB—I‘I˜l¨F¯M©MÓ:ˆEÙܘ%Ÿ+™+ a›.Ó)ܘœVŸ^™^ÔÐ.¨s¨e°9¸T¸FÀ!Ðð
øô òÐ*¨1¨#Ð ûð0úsBB CÂ(B;Â;Ccóâtd|d|d|« tj|d|tjtj¬«y#t$r}td|«Yd}~yd}~wwxYw) u è¿è¡Œå‘½ä»¤r
u ] 执行 z: T)rFÚcwdrLÚstderru命令执行失败: NF)rrJÚPopenÚPIPErT)ÚcmdrZÚ
project_idÚactionrWs rÚ run_commandraZsiä!J<˜¨°°3°%ÐÜ×ј D¨c¼*¿/¹/ÔR\×RaÑRaÕøÜ òÜÐ*¨1¨#Ðûðús–6A
Á
A.ÁA)Á)A.cóàtj«jd«}tjj t d|d«} tjt d¬«tjdddd¬«}t|d«5}|j|j«d d d «td
|«y #1swYŒxYw#t$r}td |«Yd }~y d }~wwxYw) uå¤‡ä»½å½“å‰ crontabz
%Y%m%d_%H%M%SÚcrontab_z.txtTr úcrontab -l 2>/dev/nullrEr0Nucrontab 已备份到 u备份 crontab 失败: )rrrrrÚjoinrrrJrKrrrLrrT)rÚ backup_filerBrrWs rÚbackup_crontabrgeä ×Ó8€IÜ—''—,°(¸9¸+ÀTÐ0JÓK€Kð
”O¨dÕÐ 8ÀÐUYÐ`dÔÜ
+˜
# 
G‰GF—M Ð+¨K¨=Ð
#ûô òÐ-¨a¨SÐ2ûð3ús1Á
AC Â
CÂ)C ÃC ÃC à C-ÃC(Ã(C-có°g} tjddddd¬«}|jj«j d«D]€}|j«}|sŒ|j d«rŒ(|j «}t
|«dk\sŒG|jdd j|d
d«d j|dd
«|d œ«Œ‚ tjjd «rŸtd d
«5}|D]„}|j«}|sŒ|j d«rŒ(|j «}t
|«dk\sŒG|jdd j|d
d«|dd j|dd
«|dœ«Œ† d
d
d
« tjjd«rútjd«D}tjjd|«}tjj|«sŒCt|d
«5}|D]…}|j«}|sŒ|j d«rŒ(|j «}t
|«dk\sŒG|jd|d j|d
d«|dd j|dd
«|dœ«Œ‡ d