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

54 lines
15 KiB
Plaintext
Raw Normal View History

Ë
2026-06-25 12:19:26 +08:00
ˆª<j­*ãóVdZddlZddlmZmZddlmZddlmZm Z m
Z
m Z m Z m
Z
mZdZy)u
é¡¹ç›®ç®¡ç† API 路由
éN)ÚjsonifyÚrequest)Ú
PROJECTS_FILE)Ú log_messageÚ
load_projectsÚload_projects_fullÚ
save_projectsÚ
check_portÚ stop_processÚ run_commandcó‡ ‡
2026-06-25 12:19:26 +08:00
|jd«d«}|jddg¬«d«Š |jddg¬«d«Š
|jd dg¬«ˆ ˆ
fd
«}|jd dg¬«d «}|jd
dg¬«d«}|jd«d«}|jd
dg¬«d«}|jd«d«}|jddg¬«d«}y)u注册项目管ç†ç›¸å…³è·¯ç”±z
/api/projectscózt«}|D]‡}|jdg«}i}|D]}dt|«i|t|«<Œt d|j «D««}|t
|«k(rt
|«dkDrd}n
|dkDrd}nd}||dœ|d<Œ‰t|t«jd i«d
œ«S) u获å–项目列表ÚportsÚrunningc3ó,K|] }|dsŒ dŒy­w©ré©Ú.0Úpss úX/home/openclaw/.openclaw/workspace-hz4th_coder/works/project-panel-dev/routes_project.pyÚ <genexpr>z@register_project_routes.<locals>.api_projects.<locals>.<genexpr>óèø€ÐTÑ,B bÀbÈÃm¤Ñ,Bùó
rÚpartialÚstopped©ÚstatusrrÚserver)Úprojectsr ) rÚgetr
ÚstrÚsumÚvaluesÚlenrr)r!ÚprojectrÚ
port_statusesÚ
running_countÚoveralls rÚ api_projectsz-register_project_routes.<locals>.api_projectsô!“?ˆó ˆGØ—K‘K ¨Ó,ˆE؈MÛØ)2´J¸q³MÐ(B
œc !›fÒô ÑT¨M×,@Ñ,@Ô,BÓTˆ¤ 
Ò*¬s°5«z¸Aª~Ø#‘Ø Ò#à#ð!ˆG ð ô&Ø Ü*×.¨x¸Ó
ó ð óz /api/projects/<project_id>/startÚPOST)Úmethodsc óÖt«}tˆfd|D«d«}|stddi«dfS|ddk7rtddi«dfS|jd d
«}|stdd i«dfSd d
lm}d dl}|jd«s|jj||«n|}|jj|«stdd|i«dfS|jd«rG|dj«D]0\}}tdd|dd|«t|d|d|«Œ2n4|jdd«}tdd|d|«t||d«tddi«S)Nc3ó4K|]}|dk(sŒ |Œy­w©ÚidNr©rr)Ú
project_ids €rrz=register_project_routes.<locals>.api_start.<locals>.<genexpr>3óøèø€ÐE¡8˜a¨q°©w¸*Ó/Dœ¡8ùóƒ
Úerrorõ项目ä¸å­˜åœ¨é”ÚtypeÚwebuåªæœ‰WebæœåŠ¡æ”¯æŒå¯åЍéÚ directoryÚu项目目录未é…ç½®r©Ú
WORKSPACE_DIRÚ/u目录ä¸å­˜åœ¨: Ú
start_cmdsu[API-START] 项目=u 命令=Úcmdu 目录=zstart-Ú start_cmdzpython3 app.pyÚstartÚmessageuæœåŠ¡å¯åЍ䏭...)rÚnextrr"ÚconfigrAÚosÚ
startswithÚpathÚjoinÚexistsÚitemsrr ) r5r!r'ÚcwdrArJÚnameÚinforDs ` rÚ api_startz*register_project_routes.<locals>.api_start0s…ø€ä “?ˆÜÓE¡8ÓEÀtÓÙܘGÐ%6Ð8¸#Ð 6‰?˜eÒ ˜GÐ%BÐDÀcÐ k‰k˜+ *ˆÙܘGÐ%<ÐÐ Ø69·n±nÀSÔ6Iˆbg‰gl‰l˜=¨#Ô.Èsˆàw‰w~‰~˜˜GÐ'8¸¸Ð%>Ð@À#Ð ;‰; % 3×;
Ð1°*°¸XÀdÈ5ÁkÀ]ÐRZÐ[^ÐZ_ИD ™K¨¨j¸FÀ4À&¸—++˜kÐ+;Ó<ˆCÜ Ð-¨j¨\¸À#ÀÀhÈsÈeÐ ˜˜S *¨gÔ ˜ Ð#7Ð9r-z/api/projects/<project_id>/stopcót«}tˆfd|D«d«}|stddi«dfS|ddk7rtddi«dfS|jd g«}d
}|D]}|t |«z
}Œtd d |d
i«S)Nc3ó4K|]}|dk(sŒ |Œy­wr2rr4s €rrz<register_project_routes.<locals>.api_stop.<locals>.<genexpr>Sr6r7r8r9r:r;r<uåªæœ‰WebæœåŠ¡æ”¯æŒåœæ­¢r=rrrGu
å·²åœæ­¢ u
个进程)rrHrr"r )r5r!r'rrÚports` rÚapi_stopz)register_project_routes.<locals>.api_stopPs ø€ä “?ˆÜÓE¡8ÓEÀtÓÙܘGÐ%6Ð8¸#Ð 6‰?˜eÒ ˜GÐ%BÐDÀcÐ  ˜G RÓØˆÛˆDØ ”| DÓ )‰Gðô˜  Z°¨y¸
Ð#CÐEr-z"/api/projects/<project_id>/restartcóN|«ddl}|jd«|«S)u é‡å¯æœåŠ¡rNr)ÚtimeÚsleep)r5rYrSrWs €€rÚ api_restartz,register_project_routes.<locals>.api_restartas*ø€ñ Ôó Ø
ñ˜Ó$r-z/api/projects/addcóòtj«Šjd«r"‰jd«rjd«stddi«dfSt «}t ˆfd|D««rtddi«dfSddjd d
«djd d «jd
d «jdd «jdd «jdd «jdd «jdd «jdd «jdd«dœ
}|j
|«t|«td|d«td|dœ«S)u添加新项目r3rQrr8õ缺少必è¦å­—段r=c3ó4K|]}|ddk(Œy­wr2r)rr)Údatas €rrzCregister_project_routes.<locals>.api_add_project.<locals>.<genexpr>yóøèø€Ð7©h¨ˆq‰w˜$˜t™*Õ$©hùóƒu项目ID已存在r;r<r>r?rEÚstop_cmdÚlog_fileÚ
health_urlÚ admin_urlÚ descriptionÚgit_repoÚversionzv1.0.0)
r3rQr;rr>rErbrcrdrerfrgrhu添加项目: u项目添加æˆåŠŸ)rGr') rÚget_jsonr"rrÚanyÚappendr r)r!r'r_s @rÚapi_add_projectz0register_project_routes.<locals>.api_add_projectns\ø€ô×ÑÓàx‰x˜Œ~ T§X¡X¨fÔ%5¸T¿X¹XÀgÔ=NܘGÐ%9Ð;¸SÐ  “?ˆô Ó7©hÓ ˜GÐ%8Ð:¸CÐ t‘*ؘ‘LØ—HH˜V UÓ˜'‘]ØŸ +¨rÓŸ +¨rÓŸ ¨RÓŸ ¨RÓŸ(™( <°ÓŸ +¨rÓŸ8™8 M°2ÓŸ ¨RÓ—x‘x  ¨8Ó
ˆð ˜Ô Üän W¨V¡_Ð$5ÐÐ#7ÀGÑMr-z/api/projects/<project_id>ÚPUTcótj«}t«}tˆfd|D«d«}|st ddi«dfSdD]}||vsŒ||||<Œt |«t