Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

核心代码 #709

Open
1 task done
sanwei111 opened this issue Oct 31, 2024 · 17 comments
Open
1 task done

核心代码 #709

sanwei111 opened this issue Oct 31, 2024 · 17 comments

Comments

@sanwei111
Copy link

Issues

  • I have browsed through the Issues. 我已浏览过Issues,确定没有重复的建议。

Expected behavior 预期的功能

你好,请问核心代码有整理出来吗?
我现在想找到输入pdf,然后设置一些参数,输出txt的结果,但是结构这个代码有点麻烦,想问问这部分核心的python代码怎么找到

Approximate reference (optional) 近似的参考(可选)

No response

@hiroi-sora
Copy link
Owner

PDF任务的核心代码: UmiOCR-data\py_src\mission\mission_doc.py

如何调用PDF任务队列,可以参考 UmiOCR-data\py_src\server\doc_server.py

@sanwei111
Copy link
Author

PDF任

感觉不太对劲诶老哥

@sanwei111
Copy link
Author

老哥我直接运行main文件,会出来一个exe,但是我在关键位置打了日志,没输出,这对于我查看中间结果影响很大。我想理清一下核心功能代码的位置,老哥可以指导一下吗~

@sanwei111
Copy link
Author

PDF任务的核心代码: UmiOCR-data\py_src\mission\mission_doc.py

如何调用PDF任务队列,可以参考 UmiOCR-data\py_src\server\doc_server.py

老哥

@sanwei111
Copy link
Author

PDF任务的核心代码: UmiOCR-data\py_src\mission\mission_doc.py

如何调用PDF任务队列,可以参考 UmiOCR-data\py_src\server\doc_server.py

mission_doc.py中的msnTask函数,为什么项目中没有调用?

@hiroi-sora
Copy link
Owner

hiroi-sora commented Nov 1, 2024

mission_doc.py中的msnTask函数,为什么项目中没有调用?

因为 msnTask 是任务队列的子业务函数,而 不是任务入口 。子业务由任务管理器自动调用,见父类 UmiOCR-data\py_src\mission\mission_doc.py 的第 237 行。

项目中由任务发起者手动调用的 任务入口 统一为 Mission 类的 addMissionList() 或者 addMissionWait() 。这种设计让不同种类的任务,使用相同的入口规范,易于拓展和维护。

我直接运行main文件,会出来一个exe

作为研究和开发,我建议你按照 Umi-OCR_runtime_windows 部署一个开发环境,这样可以在 VsCode 中查看日志。

另外,项目 main 分支最新的代码已经更新了日志模块,可参考 #584 来插入日志。

@sanwei111
Copy link
Author

多谢老哥,但是我这会打开exe,没有显示日志的这个button

@sanwei111
Copy link
Author

mission_doc.py中的msnTask函数,为什么项目中没有调用?

因为 msnTask 是任务队列的子业务函数,而 不是任务入口 。子业务由任务管理器自动调用,见父类 UmiOCR-data\py_src\mission\mission_doc.py 的第 237 行。

项目中由任务发起者手动调用的 任务入口 统一为 Mission 类的 addMissionList() 或者 addMissionWait() 。这种设计让不同种类的任务,使用相同的入口规范,易于拓展和维护。

我直接运行main文件,会出来一个exe

作为研究和开发,我建议你按照 Umi-OCR_runtime_windows 部署一个开发环境,这样可以在 VsCode 中查看日志。

另外,项目 main 分支最新的代码已经更新了日志模块,可参考 #584 来插入日志。

多谢老哥,日志有了。但是为什么会重复两次?

17:33:16 ? init | 未能获取程序入口路径。
17:33:17 √ | 普通信息!!!!!!!!
17:33:17 √ | 普通信息!!!!!!!!
17:33:17 init | 使用默认文本,未加载翻译。
17:33:17 init | 使用默认文本,未加载翻译。
17:33:17 init | 主题管理器初始化完毕! ThemeManager_QMLTYPE_222(0x177a7184360)
17:33:17 init | 主题管理器初始化完毕! ThemeManager_QMLTYPE_222(0x177a7184360)
17:33:17 handleConfigItem | ui.i18n 取默认值 zh_CN
17:33:17 handleConfigItem | ui.i18n 取默认值 zh_CN
17:33:17 handleConfigItem | ui.opengl 取默认值 AA_UseOpenGLES
17:33:17 handleConfigItem | ui.opengl 取默认值 AA_UseOpenGLES
17:33:17 handleConfigItem | developer.textScale 取默认值 1
17:33:17 handleConfigItem | developer.textScale 取默认值 1
17:33:17 ()=>{} | ui.fontBtn 更新设置UI为undefined
17:33:17 ()=>{} | ui.fontBtn 更新设置UI为undefined
17:33:18 ()=>{} | logs.btns 更新设置UI为undefined
17:33:18 ()=>{} | logs.btns 更新设置UI为undefined
17:33:18 ()=>{} | ocr.btns 更新设置UI为undefined
17:33:18 ()=>{} | ocr.btns 更新设置UI为undefined
17:33:18 √ change_save_log_level | 设置保存日志级别: DEBUG

@hiroi-sora
Copy link
Owner

为什么会重复两次?

应该不会吧,我这边无论是编辑器内部终端还是 Windows CMD 都输出正常。你确定代码是main分支最新的吗

image

@sanwei111
Copy link
Author

为什么会重复两次?

应该不会吧,我这边无论是编辑器内部终端还是 Windows CMD 都输出正常。你确定代码是main分支最新的吗

image

是的,

17:39:59 ? init | 未能获取程序入口路径。
17:40:00 √ | 普通信息!!!!!!!!
17:40:00 √ | 普通信息!!!!!!!!
17:40:00 init | 使用默认文本,未加载翻译。
17:40:00 init | 使用默认文本,未加载翻译。
17:40:00 init | 主题管理器初始化完毕! ThemeManager_QMLTYPE_225(0x24501102b40)
17:40:00 init | 主题管理器初始化完毕! ThemeManager_QMLTYPE_225(0x24501102b40)
17:40:00 handleConfigItem | ui.i18n 取默认值 zh_CN
17:40:00 handleConfigItem | ui.i18n 取默认值 zh_CN
17:40:00 handleConfigItem | ui.opengl 取默认值 AA_UseOpenGLES
17:40:00 handleConfigItem | ui.opengl 取默认值 AA_UseOpenGLES
17:40:00 handleConfigItem | developer.textScale 取默认值 1
17:40:00 handleConfigItem | developer.textScale 取默认值 1
17:40:00 ()=>{} | ui.fontBtn 更新设置UI为undefined
17:40:00 ()=>{} | ui.fontBtn 更新设置UI为undefined
17:40:00 ()=>{} | logs.btns 更新设置UI为undefined
17:40:00 ()=>{} | logs.btns 更新设置UI为undefined
17:40:00 ()=>{} | ocr.btns 更新设置UI为undefined
17:40:00 ()=>{} | ocr.btns 更新设置UI为undefined
17:40:00 √ change_save_log_level | 设置保存日志级别: DEBUG
17:40:00 √ change_save_log_level | 设置保存日志级别: DEBUG
17:40:00 reload | % 加载配置 Global !
17:40:00 reload | % 加载配置 Global !
17:40:00 init2 | OcrManager 初始化OCR管理器完毕!
17:40:00 init2 | OcrManager 初始化OCR管理器完毕!
17:40:00 onCompleted | GlobalConfig 初始化全局配置完毕!
17:40:00 onCompleted | GlobalConfig 初始化全局配置完毕!
17:40:00 loadGeometry | 读取窗口位置 1920 23 1920 1017 1
17:40:00 loadGeometry | 读取窗口位置 1920 23 1920 1017 1
17:40:01 init | py控制器 BatchDOC_1 实例化!
17:40:01 init | py控制器 BatchDOC_1 实例化!
17:40:01 handleConfigItem | tbpu.ignoreArea 取默认值 undefined
17:40:01 handleConfigItem | tbpu.ignoreArea 取默认值 undefined
17:40:01 handleConfigItem | tbpu.ignoreRangeStart 取默认值 1
17:40:01 handleConfigItem | tbpu.ignoreRangeStart 取默认值 1
17:40:01 handleConfigItem | tbpu.ignoreRangeEnd 取默认值 -1
17:40:01 handleConfigItem | tbpu.ignoreRangeEnd 取默认值 -1
17:40:01 handleConfigItem | postTaskActions.system 取默认值
17:40:01 handleConfigItem | postTaskActions.system 取默认值
17:40:01 ()=>{} | tbpu.btns 更新设置UI为undefined
17:40:01 ()=>{} | tbpu.btns 更新设置UI为undefined
17:40:01 reload | % 加载配置 BatchPDF !
17:40:01 reload | % 加载配置 BatchPDF !
17:40:01 init | TabViewManager 初始化页面完毕!
17:40:01 init | TabViewManager 初始化页面完毕!
Bottle v0.12.25 server starting up (using _WSGIRefServer())...
17:40:01 √ run | Listening on http://127.0.0.1:1224
17:40:01 √ run | Listening on http://127.0.0.1:1224
Listening on http://127.0.0.1:1224

@hiroi-sora
Copy link
Owner

你试试运行 Umi-OCR\UmiOCR-data\RUN_CLI.bat ,看看日志输出是否正常

@sanwei111
Copy link
Author

你试试运行 Umi-OCR\UmiOCR-data\RUN_CLI.bat ,看看日志输出是否正常

双击之后,输出
127.0.0.1 - - [01/Nov/2024 17:47:30] "POST /argv HTTP/1.1" 200 2206

关闭exe窗口,输出
17:47:43 saveGeometry | 保存窗口位置 1920,30,1920,1017
17:47:43 saveGeometry | 保存窗口位置 1920,30,1920,1017

@hiroi-sora
Copy link
Owner

双击之后,输出

噢,你这是上次开启的Umi-OCR在后台没关, RUN_CLI.bat 直接调起了后台的进程。你试试先关掉Umi(托盘→右键→退出),再启动 RUN_CLI.bat 。

@sanwei111
Copy link
Author

msnTask这个功能函数在哪里封装,从而调用的?

@hiroi-sora
Copy link
Owner

msnTask这个功能函数在哪里封装,从而调用的?

你用编辑器全局搜索一下就知道了。

msnTask 是在 mission.py 的 Mission 基类里定义的抽象方法,在 Mission._taskRun() 调用(第238行)。 msnTask 在各个不同的子类(如图像OCR、文档识别)中定义具体的功能实现。

@sanwei111
Copy link
Author

msnTask这个功能函数在哪里封装,从而调用的?

你用编辑器全局搜索一下就知道了。

msnTask 是在 mission.py 的 Mission 基类里定义的抽象方法,在 Mission._taskRun() 调用(第238行)。 msnTask 在各个不同的子类(如图像OCR、文档识别)中定义具体的功能实现。

tag_pages_connector.py中的callPy函数的ctrlKey参数是怎么来的!?

@hiroi-sora
Copy link
Owner

tag_pages_connector.py中的callPy函数的ctrlKey参数是怎么来的?

ctrlKey 是”页面控制器“的标识符。Umi-OCR 中,每个标签页都有唯一的标识符,由 _getCtrlKey() 生成。标签页的qml模块或python模块会记住自己所属的 ctrlKey ,通过这个键来互相通信。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants