一个aardio调用python方法的例子-Python论坛-aardio-阿甘软件

一个aardio调用python方法的例子

import win.ui;
/*DSG{{*/
mainForm = win.form(text="aardio工程22";right=959;bottom=591)
mainForm.add(
button={cls="button";text='\u2193 处理 release note \u2193';left=332;top=273;right=633;bottom=325;db=0.45;dl=0.35;dr=0.34;dt=0.46;font=LOGFONT(h=-24;name='微软雅黑');z=3};
edit={cls="edit";left=14;top=14;right=947;bottom=267;db=0.55;dl=1;dr=1;dt=1;edge=1;hscroll=1;multiline=1;vscroll=1;z=1};
edit2={cls="edit";left=14;top=331;right=947;bottom=565;db=1;dl=1;dr=1;dt=0.56;edge=1;hscroll=1;multiline=1;vscroll=1;z=2}
)
/*}}*/

import web.json;
import console;
import py3;

var pyCode = /**
import re
import json

def IOReleaseNote(release_note_str):
    release_note_pattern = re.compile(r'(?<=[a-zA-Z0-9]{7}[ ]).+(?=\n|\r\n|$)')
    issue_id_pattern = re.compile(r'(?<=_).*?(?=:)')

    release_temp = release_note_pattern.findall(release_note_str)

    issue_id = [issue_id_pattern.search(i).group() for i in release_temp]
    release_note = [r for r in release_temp]
    return [{'Issue_id': i, 'Release_note': r} for i, r in dict(zip(issue_id, release_note)).items()]
**/

//执行Python3 的代码
py3.exec( pyCode );

mainForm.edit.text = /**20eaa4b JIRA_GAPP-1234: san.zhang_comm_fix: common-A01 aardio 变量传参给 Python 方法
f1419b1 jira_GAPP-9621: si.li_app__fix: common-项目配置
f1419b2 Merge "jira_GAPP-9621: si.li_app__fix: common-项目配置"**/

mainForm.button.oncommand = function(id,event){
    var result = py3.main.IOReleaseNote(mainForm.edit.text).parseValue();
    mainForm.edit2.print(result);
}

mainForm.show();
return win.loopMessage();

image

 

2022年09月10日:
感谢 Jacen He 的提示,修改后的效果好看多了!
aardio 的 edit 控件有个 print 方法,可以直接格式化输出 json 到 edit 上。
请登录后发表评论

    没有回复内容