ok-script 2.0.5__tar.gz → 2.0.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ok_script-2.0.5/ok_script.egg-info → ok_script-2.0.6}/PKG-INFO +1 -1
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/TaskExecutor.py +6 -42
- {ok_script-2.0.5 → ok_script-2.0.6/ok_script.egg-info}/PKG-INFO +1 -1
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/SOURCES.txt +0 -1
- ok_script-2.0.5/tests/test_task_executor_ocr.py +0 -113
- {ok_script-2.0.5 → ok_script-2.0.6}/LICENSE.txt +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/MANIFEST.in +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/README.md +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/diagnostics/qq_trace.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/__main__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/alas/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/alas/emulator_base.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/alas/emulator_windows.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/alas/platform_windows.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/alas/utils.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/deep.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/minitouch.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/nemu_ipc.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/nemu_utils.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/pool.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/timer.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/adb/util.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/windows/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/windows/d3d11.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/capture/windows/dump.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/cli.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/config_schema.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/downloads.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/events.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/icons.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/notifications.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/screenshot.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/script_editing.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/script_packager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/script_templates.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/start_controller.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/task_manager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/template_store.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/translation.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/core/ui_config.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/DeviceManager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/adb.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/base.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/bitblt.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/bitblt_utils.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/browser.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/desktop_duplication.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/hwnd_window.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/image.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/nemu_ipc.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/types.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/update.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/capture_methods/windows_graphics.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/adb.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/base.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/browser.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/do_nothing.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/foreground_post_message.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/genshin.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/keys.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/post_message.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/pydirect.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/pynput.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/swipe.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/device/intercation.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/feature/Box.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/feature/Feature.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/feature/FeatureSet.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/feature/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/gui/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/gui/util/pyappify_startup.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/manager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/messenger_images.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/pipeline.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/ppocr.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/providers.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/system.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/notification/windows_messenger.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ocr/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ocr/download_paddle_model.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Media/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Security/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Storage/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/UI/ViewManagement/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/UI/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/delegate.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/export.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/idldsl.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/inspectable.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/roapi.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/types.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/winstring.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/DiagnosisTask.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/exceptions.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/task.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/task/web.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/test/OKTestRunner.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/test/RunTests.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/test/TaskTestCase.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/test/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/third_party/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/third_party/paperclip.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/overlay/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/overlay/win32_gdi.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/Communicate.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/MainWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/MessageWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/StartController.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/TabTitles.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/AboutTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/HttpTextEdit.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/LinksBar.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/ProjectCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/UpdateCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/VersionCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/about/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/OKIcon.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/accent_color.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/config.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/design_system.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/icons.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/common/style_sheet.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/debug/DebugTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/debug/OverlayWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/debug/RunCodeTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/debug/Screenshot.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/debug/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/events.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/GettextTranslator.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/en_US.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/en_US.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/es_ES.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/es_ES.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/ja_JP.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/ja_JP.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/ko_KR.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/ko_KR.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/path.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/update.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/zh_CN.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/zh_CN.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/zh_TW.qm +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/i18n/zh_TW.ts +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/overlay/OverlayWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/overlay/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/card.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/discord.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/heart.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/message_window.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/setting_interface.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/status_bar.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/stop.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/dark/tab.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/card.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/discord.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/heart.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/message_window.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/setting_interface.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/status_bar.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/stop.svg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qss/light/tab.qss +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/qt.qrc +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/resources.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/settings/GlobalConfigCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/settings/GlobalConfigTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/settings/SettingTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/settings/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/LogWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/SelectCaptureListView.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/SelectInteractionListView.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/StartCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/StartTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/start/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ConfigCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ConfigItemFactory.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ConfigLabelAndWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/EditTaskTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndButtons.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndDoubleSpinBox.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndDropDown.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndFileSelector.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndGlobal.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndLineEdit.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndList.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndMultiSelection.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndSpinBox.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndSwitchButton.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndTextEdit.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/LabelAndWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/MarkUpWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ModifyListDialog.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ModifyListItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/OneTimeTaskTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/PythonHighlighter.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/RecordScript.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ScheduleTaskTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/ScriptPackager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/StartButton.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TaskCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TaskManger.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TaskOpButton.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TaskTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TemplateFactory.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TemplateTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TooltipTableWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/TriggerTaskTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/tasks/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/Alert.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/InitWorker.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/app.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/download.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/pip_util.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/pyappify_startup.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/touch_scroll.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/util/windows_thumbnail.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/BaseLoading.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/BaseWindow.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/Card.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/CustomTab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/EmptyCard.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/ExpandCardLayout.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/FlowLayout.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/FramelessDialog.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/ImageWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/ListTableWidgetItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/NumericTableWidgetItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/OkCompactSpinBox.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/SortingTableWidgetItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/StartLoadingDialog.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/StatusBar.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/Tab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/TabWidget.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/UpdateConfigWidgetItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/WidgetWithVLabel.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/YesNonWidgetItem.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/qt/widget/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/app.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/requirements.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/server.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/static/app.js +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/static/chunk-fluent.js +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/static/chunk-react.js +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/static/index.css +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/ui/web/static/index.html +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/update/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/update/copy_ok_folder.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/update/inline_ok_requirements.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/Analytics.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/GlobalConfig.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/__init__.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/blur.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/clazz.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/collection.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/color.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/config.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/explorer.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/file.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/gpu_driver_settings.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/handler.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/i18n.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/logger.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/partial_sync_repo.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/print_hwnd.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/process.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/window.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok/util/windows_schedule.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/dependency_links.txt +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/entry_points.txt +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/not-zip-safe +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/requires.txt +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/ok_script.egg-info/top_level.txt +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/pyproject.toml +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/scripts/generate_web_i18n.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/setup.cfg +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/setup.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_accent_color.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_app.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_base_interaction.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_blur.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_box.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_capture_update.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_cli.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_config_card.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_core_events.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_core_ui_services.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_device_manager.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_expand_card_layout.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_explorer.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_global_config.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_gpu_driver_settings.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_handler.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_headless_imports.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_inline_ok_requirements.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_logger.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_main_window_notifications.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_main_window_startup_tab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_main_window_system_theme.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_missing_frame.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_navigation_state.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_nemu_ipc_capture.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_notifications.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_ok_mutex.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_overlay_custom_draw.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_package_metadata.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_process.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_process_mutex.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_pyappify_startup_update.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_qt_events.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_qt_legacy_imports.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_qt_page_layout.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_runtime_startup.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_start_controller.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_start_tab_overlay.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_task_executor_queue.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_task_ui.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_template_tab.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_touch_scroll.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_translation_fallback.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_ui_config.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_app.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_i18n.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_server.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_task_tabs.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_ui_pages.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_web_ui_tasks.py +0 -0
- {ok_script-2.0.5 → ok_script-2.0.6}/tests/test_windows_graphics_capture.py +0 -0
|
@@ -30,7 +30,6 @@ class TaskExecutor:
|
|
|
30
30
|
debug: bool
|
|
31
31
|
global_config: object
|
|
32
32
|
_ocr_lib: dict
|
|
33
|
-
_ocr_init_results: dict
|
|
34
33
|
ocr_target_height: int
|
|
35
34
|
current_task: object
|
|
36
35
|
config_folder: str
|
|
@@ -76,7 +75,6 @@ class TaskExecutor:
|
|
|
76
75
|
self.debug = debug
|
|
77
76
|
self.global_config = global_config
|
|
78
77
|
self._ocr_lib = {}
|
|
79
|
-
self._ocr_init_results = {}
|
|
80
78
|
if self.config.get('ocr') and not self.config.get('ocr').get('default', False):
|
|
81
79
|
self.config['ocr']['default'] = self.config.get('ocr')
|
|
82
80
|
self.current_task = None
|
|
@@ -152,21 +150,10 @@ class TaskExecutor:
|
|
|
152
150
|
try:
|
|
153
151
|
logger.info('start init default ocr')
|
|
154
152
|
self.ocr_lib()
|
|
155
|
-
|
|
156
|
-
logger.info(f'default ocr init end, result: {result}, cost: {time.time() - start:.2f}s')
|
|
153
|
+
logger.info(f'default ocr init end, cost: {time.time() - start:.2f}s')
|
|
157
154
|
except Exception as e:
|
|
158
155
|
logger.error(f'init default ocr error, cost: {time.time() - start:.2f}s', e)
|
|
159
156
|
|
|
160
|
-
@staticmethod
|
|
161
|
-
def _onnxocr_test_frame():
|
|
162
|
-
import cv2
|
|
163
|
-
import numpy as np
|
|
164
|
-
|
|
165
|
-
frame = np.full((160, 640, 3), 255, dtype=np.uint8)
|
|
166
|
-
cv2.putText(frame, 'okscript', (24, 110), cv2.FONT_HERSHEY_SIMPLEX,
|
|
167
|
-
2.5, (0, 0, 0), 5, cv2.LINE_AA)
|
|
168
|
-
return frame
|
|
169
|
-
|
|
170
157
|
def _create_ocr_lib(self, name):
|
|
171
158
|
ocr_config = self.config.get('ocr').get(name)
|
|
172
159
|
lib = ocr_config.get('lib')
|
|
@@ -201,31 +188,10 @@ class TaskExecutor:
|
|
|
201
188
|
elif lib == 'onnxocr':
|
|
202
189
|
from onnxocr.onnx_paddleocr import ONNXPaddleOcr
|
|
203
190
|
logger.info(f'init onnxocr {config_params}')
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
try:
|
|
209
|
-
ocr_lib = ONNXPaddleOcr(use_angle_cls=False,
|
|
210
|
-
logger=logger,
|
|
211
|
-
use_npu=True,
|
|
212
|
-
use_openvino=use_openvino)
|
|
213
|
-
test_result = ocr_lib.ocr(test_frame)
|
|
214
|
-
self._ocr_init_results[name] = f'use_npu=True, test_ocr={test_result!r}'
|
|
215
|
-
except Exception as error:
|
|
216
|
-
logger.warning(f'onnxocr NPU test failed, falling back to CPU: {error}')
|
|
217
|
-
ocr_lib = ONNXPaddleOcr(use_angle_cls=False,
|
|
218
|
-
logger=logger,
|
|
219
|
-
use_npu=False,
|
|
220
|
-
use_openvino=use_openvino)
|
|
221
|
-
self._ocr_init_results[name] = (
|
|
222
|
-
f'use_npu=False (NPU test failed: {error!r})')
|
|
223
|
-
else:
|
|
224
|
-
ocr_lib = ONNXPaddleOcr(use_angle_cls=False,
|
|
225
|
-
logger=logger,
|
|
226
|
-
use_npu=False,
|
|
227
|
-
use_openvino=use_openvino)
|
|
228
|
-
self._ocr_init_results[name] = 'use_npu=False'
|
|
191
|
+
ocr_lib = ONNXPaddleOcr(use_angle_cls=False,
|
|
192
|
+
logger=logger,
|
|
193
|
+
use_npu=config_params.get('use_npu', True),
|
|
194
|
+
use_openvino=config_params.get('use_openvino', False))
|
|
229
195
|
elif lib == 'rapidocr':
|
|
230
196
|
from rapidocr import RapidOCR
|
|
231
197
|
params = {"Global.use_cls": False, "Global.max_side_len": 100000, "Global.min_side_len": 0,
|
|
@@ -235,9 +201,7 @@ class TaskExecutor:
|
|
|
235
201
|
ocr_lib = RapidOCR(params=params)
|
|
236
202
|
else:
|
|
237
203
|
raise Exception(f'ocr lib not supported: {lib}')
|
|
238
|
-
|
|
239
|
-
self._ocr_init_results[name] = f'lib={lib}, success'
|
|
240
|
-
logger.info(f'ocr_lib init {ocr_lib} {lib}, result: {self._ocr_init_results[name]}')
|
|
204
|
+
logger.info(f'ocr_lib init {ocr_lib} {lib}')
|
|
241
205
|
return ocr_lib
|
|
242
206
|
|
|
243
207
|
def nullable_frame(self):
|
|
@@ -339,7 +339,6 @@ tests/test_qt_page_layout.py
|
|
|
339
339
|
tests/test_runtime_startup.py
|
|
340
340
|
tests/test_start_controller.py
|
|
341
341
|
tests/test_start_tab_overlay.py
|
|
342
|
-
tests/test_task_executor_ocr.py
|
|
343
342
|
tests/test_task_executor_queue.py
|
|
344
343
|
tests/test_task_ui.py
|
|
345
344
|
tests/test_template_tab.py
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import sys
|
|
2
|
-
import threading
|
|
3
|
-
import types
|
|
4
|
-
import unittest
|
|
5
|
-
from unittest.mock import patch
|
|
6
|
-
|
|
7
|
-
import cv2 # Keep OpenCV loaded while patch.dict restores fake OCR modules.
|
|
8
|
-
import numpy as np
|
|
9
|
-
|
|
10
|
-
import ok.task.TaskExecutor as task_executor_module
|
|
11
|
-
from ok.task.TaskExecutor import TaskExecutor
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
class TestTaskExecutorOCR(unittest.TestCase):
|
|
15
|
-
@staticmethod
|
|
16
|
-
def make_executor(use_npu=True):
|
|
17
|
-
executor = TaskExecutor.__new__(TaskExecutor)
|
|
18
|
-
executor.config = {
|
|
19
|
-
'ocr': {
|
|
20
|
-
'default': {
|
|
21
|
-
'lib': 'onnxocr',
|
|
22
|
-
'params': {'use_npu': use_npu},
|
|
23
|
-
},
|
|
24
|
-
},
|
|
25
|
-
}
|
|
26
|
-
executor._ocr_lib = {}
|
|
27
|
-
executor._ocr_lib_lock = threading.Lock()
|
|
28
|
-
executor._ocr_init_results = {}
|
|
29
|
-
return executor
|
|
30
|
-
|
|
31
|
-
@staticmethod
|
|
32
|
-
def fake_onnxocr(ocr_side_effect=None):
|
|
33
|
-
instances = []
|
|
34
|
-
|
|
35
|
-
class FakeONNXPaddleOcr:
|
|
36
|
-
def __init__(self, **kwargs):
|
|
37
|
-
self.kwargs = kwargs
|
|
38
|
-
self.frames = []
|
|
39
|
-
instances.append(self)
|
|
40
|
-
|
|
41
|
-
def ocr(self, frame):
|
|
42
|
-
self.frames.append(frame)
|
|
43
|
-
if ocr_side_effect is not None:
|
|
44
|
-
raise ocr_side_effect
|
|
45
|
-
return [[('box', ('okscript', 0.99))]]
|
|
46
|
-
|
|
47
|
-
package = types.ModuleType('onnxocr')
|
|
48
|
-
module = types.ModuleType('onnxocr.onnx_paddleocr')
|
|
49
|
-
module.ONNXPaddleOcr = FakeONNXPaddleOcr
|
|
50
|
-
package.onnx_paddleocr = module
|
|
51
|
-
return instances, {
|
|
52
|
-
'onnxocr': package,
|
|
53
|
-
'onnxocr.onnx_paddleocr': module,
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
def test_npu_ocr_runs_generated_frame_smoke_test(self):
|
|
57
|
-
executor = self.make_executor(use_npu=True)
|
|
58
|
-
instances, modules = self.fake_onnxocr()
|
|
59
|
-
|
|
60
|
-
with patch.dict(sys.modules, modules):
|
|
61
|
-
result = executor._create_ocr_lib('default')
|
|
62
|
-
|
|
63
|
-
self.assertIs(result, instances[0])
|
|
64
|
-
self.assertEqual([True], [instance.kwargs['use_npu'] for instance in instances])
|
|
65
|
-
self.assertEqual(1, len(instances[0].frames))
|
|
66
|
-
frame = instances[0].frames[0]
|
|
67
|
-
self.assertIsInstance(frame, np.ndarray)
|
|
68
|
-
self.assertEqual((160, 640, 3), frame.shape)
|
|
69
|
-
self.assertLess(frame.min(), 255)
|
|
70
|
-
self.assertIn('use_npu=True', executor._ocr_init_results['default'])
|
|
71
|
-
self.assertIn('okscript', executor._ocr_init_results['default'])
|
|
72
|
-
|
|
73
|
-
def test_failed_npu_ocr_falls_back_to_non_npu_instance(self):
|
|
74
|
-
executor = self.make_executor(use_npu=True)
|
|
75
|
-
instances, modules = self.fake_onnxocr(RuntimeError('NPU unavailable'))
|
|
76
|
-
|
|
77
|
-
with patch.dict(sys.modules, modules):
|
|
78
|
-
result = executor._create_ocr_lib('default')
|
|
79
|
-
|
|
80
|
-
self.assertIs(result, instances[1])
|
|
81
|
-
self.assertEqual([True, False], [instance.kwargs['use_npu'] for instance in instances])
|
|
82
|
-
self.assertEqual(1, len(instances[0].frames))
|
|
83
|
-
self.assertEqual(0, len(instances[1].frames))
|
|
84
|
-
self.assertIn('use_npu=False', executor._ocr_init_results['default'])
|
|
85
|
-
self.assertIn('NPU unavailable', executor._ocr_init_results['default'])
|
|
86
|
-
|
|
87
|
-
def test_disabled_npu_skips_smoke_test(self):
|
|
88
|
-
executor = self.make_executor(use_npu=False)
|
|
89
|
-
instances, modules = self.fake_onnxocr()
|
|
90
|
-
|
|
91
|
-
with patch.dict(sys.modules, modules):
|
|
92
|
-
result = executor._create_ocr_lib('default')
|
|
93
|
-
|
|
94
|
-
self.assertIs(result, instances[0])
|
|
95
|
-
self.assertEqual([False], [instance.kwargs['use_npu'] for instance in instances])
|
|
96
|
-
self.assertEqual([], instances[0].frames)
|
|
97
|
-
self.assertEqual('use_npu=False', executor._ocr_init_results['default'])
|
|
98
|
-
|
|
99
|
-
def test_default_init_finish_log_includes_npu_test_result(self):
|
|
100
|
-
executor = self.make_executor(use_npu=True)
|
|
101
|
-
executor._ocr_lib['default'] = object()
|
|
102
|
-
executor._ocr_init_results['default'] = 'use_npu=True, test_ocr=okscript'
|
|
103
|
-
|
|
104
|
-
with patch.object(task_executor_module.logger, 'info') as info:
|
|
105
|
-
executor._init_default_ocr()
|
|
106
|
-
|
|
107
|
-
finish_log = info.call_args_list[-1].args[0]
|
|
108
|
-
self.assertIn('default ocr init end', finish_log)
|
|
109
|
-
self.assertIn('use_npu=True, test_ocr=okscript', finish_log)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
if __name__ == '__main__':
|
|
113
|
-
unittest.main()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ok_script-2.0.5 → ok_script-2.0.6}/ok/device/interaction_methods/foreground_post_message.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ok_script-2.0.5 → ok_script-2.0.6}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|