ok-script 2.0.0b5__tar.gz → 2.0.0b6__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.0b5/ok_script.egg-info → ok_script-2.0.0b6}/PKG-INFO +2 -2
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/MainWindow.py +9 -5
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/AboutTab.py +4 -2
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/UpdateCard.py +4 -3
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/app.py +4 -2
- {ok_script-2.0.0b5 → ok_script-2.0.0b6/ok_script.egg-info}/PKG-INFO +2 -2
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/requires.txt +1 -1
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/pyproject.toml +1 -1
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_pyappify_startup_update.py +34 -1
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_ui_pages.py +3 -2
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/LICENSE.txt +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/MANIFEST.in +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/README.md +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/diagnostics/qq_trace.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/__main__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/alas/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/alas/emulator_base.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/alas/emulator_windows.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/alas/platform_windows.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/alas/utils.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/deep.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/minitouch.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/nemu_ipc.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/nemu_utils.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/pool.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/timer.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/adb/util.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/windows/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/windows/d3d11.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/capture/windows/dump.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/cli.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/config_schema.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/downloads.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/events.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/icons.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/notifications.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/screenshot.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/script_editing.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/script_packager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/script_templates.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/start_controller.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/task_manager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/template_store.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/translation.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/core/ui_config.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/DeviceManager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/adb.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/base.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/bitblt.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/bitblt_utils.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/browser.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/desktop_duplication.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/hwnd_window.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/image.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/nemu_ipc.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/types.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/update.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/capture_methods/windows_graphics.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/adb.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/base.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/browser.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/do_nothing.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/foreground_post_message.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/genshin.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/keys.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/post_message.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/pydirect.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/pynput.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/interaction_methods/swipe.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/device/intercation.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/feature/Box.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/feature/Feature.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/feature/FeatureSet.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/feature/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/gui/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/gui/util/pyappify_startup.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/manager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/messenger_images.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/pipeline.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/ppocr.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/providers.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/system.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/notification/windows_messenger.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ocr/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ocr/download_paddle_model.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Foundation/Collections.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Foundation/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Globalization/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Graphics/Capture/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Graphics/DirectX/Direct3D11/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Graphics/DirectX/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Graphics/Imaging/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Graphics/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Media/Ocr/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Media/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Security/Cryptography/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Security/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Storage/Streams/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Storage/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/UI/ViewManagement/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/UI/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/delegate.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/export.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/idldsl.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/inspectable.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/roapi.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/types.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/winstring.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/DiagnosisTask.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/TaskExecutor.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/exceptions.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/task.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/task/web.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/test/OKTestRunner.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/test/RunTests.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/test/TaskTestCase.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/test/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/third_party/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/third_party/paperclip.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/overlay/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/overlay/win32_gdi.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/Communicate.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/MessageWindow.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/StartController.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/TabTitles.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/HttpTextEdit.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/LinksBar.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/ProjectCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/VersionCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/about/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/OKIcon.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/accent_color.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/config.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/design_system.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/icons.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/common/style_sheet.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/debug/DebugTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/debug/OverlayWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/debug/RunCodeTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/debug/Screenshot.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/debug/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/events.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/GettextTranslator.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/en_US.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/en_US.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/es_ES.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/es_ES.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/ja_JP.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/ja_JP.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/ko_KR.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/ko_KR.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/path.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/update.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/zh_CN.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/zh_CN.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/zh_TW.qm +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/i18n/zh_TW.ts +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/overlay/OverlayWindow.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/overlay/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/card.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/discord.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/heart.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/message_window.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/setting_interface.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/status_bar.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/stop.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/dark/tab.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/card.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/discord.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/heart.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/message_window.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/setting_interface.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/status_bar.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/stop.svg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qss/light/tab.qss +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/qt.qrc +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/resources.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/settings/GlobalConfigCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/settings/GlobalConfigTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/settings/SettingTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/settings/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/LogWindow.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/SelectCaptureListView.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/SelectInteractionListView.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/StartCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/StartTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/start/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ConfigCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ConfigItemFactory.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ConfigLabelAndWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/EditTaskTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndButtons.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndDoubleSpinBox.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndDropDown.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndFileSelector.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndGlobal.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndLineEdit.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndList.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndMultiSelection.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndSpinBox.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndSwitchButton.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndTextEdit.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/LabelAndWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/MarkUpWindow.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ModifyListDialog.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ModifyListItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/OneTimeTaskTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/PythonHighlighter.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/RecordScript.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ScheduleTaskTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/ScriptPackager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/StartButton.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TaskCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TaskManger.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TaskOpButton.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TaskTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TemplateFactory.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TemplateTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TooltipTableWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/TriggerTaskTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/tasks/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/Alert.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/InitWorker.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/app.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/download.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/pip_util.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/pyappify_startup.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/touch_scroll.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/util/windows_thumbnail.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/BaseLoading.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/BaseWindow.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/Card.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/CustomTab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/EmptyCard.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/ExpandCardLayout.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/FlowLayout.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/FramelessDialog.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/ImageWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/ListTableWidgetItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/NumericTableWidgetItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/OkCompactSpinBox.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/SortingTableWidgetItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/StartLoadingDialog.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/StatusBar.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/Tab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/TabWidget.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/UpdateConfigWidgetItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/WidgetWithVLabel.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/YesNonWidgetItem.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/qt/widget/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/requirements.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/server.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/static/app.js +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/static/chunk-fluent.js +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/static/chunk-react.js +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/static/index.css +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/ui/web/static/index.html +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/update/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/update/copy_ok_folder.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/update/inline_ok_requirements.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/Analytics.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/GlobalConfig.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/__init__.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/blur.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/clazz.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/collection.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/color.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/config.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/explorer.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/file.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/gpu_driver_settings.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/handler.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/i18n.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/logger.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/partial_sync_repo.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/print_hwnd.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/process.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/window.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/util/windows_schedule.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/SOURCES.txt +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/dependency_links.txt +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/entry_points.txt +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/not-zip-safe +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok_script.egg-info/top_level.txt +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/scripts/generate_web_i18n.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/setup.cfg +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/setup.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_accent_color.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_app.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_base_interaction.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_blur.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_box.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_capture_update.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_cli.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_config_card.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_core_events.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_core_ui_services.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_device_manager.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_expand_card_layout.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_explorer.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_global_config.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_gpu_driver_settings.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_headless_imports.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_inline_ok_requirements.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_logger.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_main_window_notifications.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_main_window_startup_tab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_main_window_system_theme.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_missing_frame.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_navigation_state.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_nemu_ipc_capture.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_notifications.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_ok_mutex.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_overlay_custom_draw.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_package_metadata.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_process.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_qt_events.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_qt_legacy_imports.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_qt_page_layout.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_runtime_startup.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_start_controller.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_task_executor_queue.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_task_ui.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_template_tab.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_touch_scroll.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_translation_fallback.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_ui_config.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_app.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_i18n.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_server.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_task_tabs.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_web_ui_tasks.py +0 -0
- {ok_script-2.0.0b5 → ok_script-2.0.0b6}/tests/test_windows_graphics_capture.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ok-script
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0b6
|
|
4
4
|
Summary: Automation with Computer Vision for Python
|
|
5
5
|
Author-email: ok-oldking <firedcto@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/ok-oldking/ok-script
|
|
@@ -16,7 +16,7 @@ Requires-Python: >=3.11
|
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE.txt
|
|
18
18
|
Requires-Dist: pywin32>=306
|
|
19
|
-
Requires-Dist: pyappify>=1.0.
|
|
19
|
+
Requires-Dist: pyappify>=1.0.9
|
|
20
20
|
Requires-Dist: typing-extensions>=4.11.0
|
|
21
21
|
Requires-Dist: requests>=2.32.3
|
|
22
22
|
Requires-Dist: psutil>=6.0.0
|
|
@@ -212,7 +212,7 @@ class MainWindow(FluentWindow):
|
|
|
212
212
|
position=NavigationItemPosition.BOTTOM)
|
|
213
213
|
|
|
214
214
|
from ok.ui.qt.about.AboutTab import AboutTab
|
|
215
|
-
self.about_tab = AboutTab(config)
|
|
215
|
+
self.about_tab = AboutTab(config, exit_event=exit_event)
|
|
216
216
|
self.addSubInterface(self.about_tab, FluentIcon.QUESTION, self.tr('About'),
|
|
217
217
|
position=NavigationItemPosition.BOTTOM)
|
|
218
218
|
self.about_update_badge = None
|
|
@@ -526,14 +526,18 @@ class MainWindow(FluentWindow):
|
|
|
526
526
|
self.shown = True
|
|
527
527
|
pyappify.hide_pyappify()
|
|
528
528
|
if update_pyappify := self.config.get("update_pyappify"):
|
|
529
|
-
pyappify.upgrade(
|
|
530
|
-
|
|
529
|
+
pyappify.upgrade(
|
|
530
|
+
update_pyappify.get('to_version'),
|
|
531
|
+
update_pyappify.get('sha256'),
|
|
532
|
+
[update_pyappify.get('zip_url')],
|
|
533
|
+
exit_event=self.exit_event,
|
|
534
|
+
)
|
|
531
535
|
logger.info("Window has fully displayed")
|
|
532
536
|
from ok import og
|
|
533
537
|
og.ok.start_runtime()
|
|
534
538
|
if self.basic_global_config.get(KILL_LAUNCHER_AFTER_START):
|
|
535
539
|
logger.info(f'MainWindow showEvent Kill Launcher After Start')
|
|
536
|
-
pyappify.kill_pyappify()
|
|
540
|
+
pyappify.kill_pyappify(exit_event=self.exit_event)
|
|
537
541
|
startup_version_change = get_startup_version_change()
|
|
538
542
|
if self.version != self.main_window_config.get('last_version'):
|
|
539
543
|
self.main_window_config['last_version'] = self.version
|
|
@@ -739,5 +743,5 @@ class MainWindow(FluentWindow):
|
|
|
739
743
|
self.executor.destroy()
|
|
740
744
|
event.accept()
|
|
741
745
|
if not self.do_not_quit:
|
|
742
|
-
pyappify.kill_pyappify()
|
|
746
|
+
pyappify.kill_pyappify(exit_event=self.exit_event)
|
|
743
747
|
QApplication.instance().exit()
|
|
@@ -16,7 +16,7 @@ logger = Logger.get_logger(__name__)
|
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
class AboutTab(Tab):
|
|
19
|
-
def __init__(self, config, pyappify_module=None):
|
|
19
|
+
def __init__(self, config, pyappify_module=None, exit_event=None):
|
|
20
20
|
super().__init__()
|
|
21
21
|
if pyappify_module is None:
|
|
22
22
|
import pyappify as pyappify_module
|
|
@@ -28,7 +28,9 @@ class AboutTab(Tab):
|
|
|
28
28
|
|
|
29
29
|
self.update_card = None
|
|
30
30
|
if callable(getattr(pyappify_module, 'get_version_list', None)):
|
|
31
|
-
self.update_card = UpdateCard(
|
|
31
|
+
self.update_card = UpdateCard(
|
|
32
|
+
config.get('version'), pyappify_module, self, exit_event=exit_event
|
|
33
|
+
)
|
|
32
34
|
self.add_card(self.tr("App update"), self.update_card)
|
|
33
35
|
else:
|
|
34
36
|
logger.warning(
|
|
@@ -51,13 +51,14 @@ class UpdateCard(QWidget):
|
|
|
51
51
|
VERSION_COMBO_MIN_WIDTH = 100
|
|
52
52
|
VERSION_COMBO_MAX_WIDTH = 240
|
|
53
53
|
|
|
54
|
-
def __init__(self, current_version, pyappify_module, parent=None):
|
|
54
|
+
def __init__(self, current_version, pyappify_module, parent=None, exit_event=None):
|
|
55
55
|
super().__init__(parent)
|
|
56
56
|
self.current_version = current_version or getattr(pyappify_module, "app_version", None) or ""
|
|
57
57
|
if "PYAPPIFY_PYTHON_TEST" in os.environ and not _is_numeric_version(self.current_version):
|
|
58
58
|
logger.info(f"using v0.0.0 for nonnumeric test version {self.current_version!r}")
|
|
59
59
|
self.current_version = "v0.0.0"
|
|
60
60
|
self.pyappify_module = pyappify_module
|
|
61
|
+
self.exit_event = exit_event
|
|
61
62
|
self.versions = []
|
|
62
63
|
self._busy = False
|
|
63
64
|
logger.info(
|
|
@@ -125,7 +126,7 @@ class UpdateCard(QWidget):
|
|
|
125
126
|
self._set_status(self.tr("Checking for updates…"))
|
|
126
127
|
release_only = not self.test_version_checkbox.isChecked()
|
|
127
128
|
self._run_in_background(
|
|
128
|
-
lambda: get_versions(release_only=release_only),
|
|
129
|
+
lambda: get_versions(release_only=release_only, exit_event=self.exit_event),
|
|
129
130
|
self._versions_loaded,
|
|
130
131
|
f"pyappify.get_version_list(release_only={release_only})",
|
|
131
132
|
)
|
|
@@ -141,7 +142,7 @@ class UpdateCard(QWidget):
|
|
|
141
142
|
self._set_busy(True)
|
|
142
143
|
self._set_status(self.tr("Starting change to {version}…").format(version=version))
|
|
143
144
|
self._run_in_background(
|
|
144
|
-
lambda: update_to_version(version),
|
|
145
|
+
lambda: update_to_version(version, exit_event=self.exit_event),
|
|
145
146
|
self._update_finished,
|
|
146
147
|
f"pyappify.update_to_version({version!r})",
|
|
147
148
|
)
|
|
@@ -705,7 +705,9 @@ class WebRuntime:
|
|
|
705
705
|
try:
|
|
706
706
|
module = self.pyappify_module
|
|
707
707
|
logger.info("calling pyappify.get_version_list(release_only=%s)", release_only)
|
|
708
|
-
versions = module.get_version_list(
|
|
708
|
+
versions = module.get_version_list(
|
|
709
|
+
release_only=release_only, exit_event=self.ok.exit_event
|
|
710
|
+
)
|
|
709
711
|
logger.info("pyappify.get_version_list result=%r", versions)
|
|
710
712
|
if not isinstance(versions, list):
|
|
711
713
|
raise RuntimeError("PyAppify returned an invalid version list")
|
|
@@ -748,7 +750,7 @@ class WebRuntime:
|
|
|
748
750
|
if not callable(operation):
|
|
749
751
|
raise RuntimeError("Updating is not supported by this PyAppify version")
|
|
750
752
|
logger.info("calling pyappify.update_to_version(%r)", version)
|
|
751
|
-
result = operation(version)
|
|
753
|
+
result = operation(version, exit_event=self.ok.exit_event)
|
|
752
754
|
logger.info("pyappify.update_to_version(%r) result=%r", version, result)
|
|
753
755
|
return {"accepted": True, "version": version, "result": _json_value(result)}
|
|
754
756
|
finally:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ok-script
|
|
3
|
-
Version: 2.0.
|
|
3
|
+
Version: 2.0.0b6
|
|
4
4
|
Summary: Automation with Computer Vision for Python
|
|
5
5
|
Author-email: ok-oldking <firedcto@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/ok-oldking/ok-script
|
|
@@ -16,7 +16,7 @@ Requires-Python: >=3.11
|
|
|
16
16
|
Description-Content-Type: text/markdown
|
|
17
17
|
License-File: LICENSE.txt
|
|
18
18
|
Requires-Dist: pywin32>=306
|
|
19
|
-
Requires-Dist: pyappify>=1.0.
|
|
19
|
+
Requires-Dist: pyappify>=1.0.9
|
|
20
20
|
Requires-Dist: typing-extensions>=4.11.0
|
|
21
21
|
Requires-Dist: requests>=2.32.3
|
|
22
22
|
Requires-Dist: psutil>=6.0.0
|
|
@@ -299,6 +299,7 @@ class TestPyappifyStartupUpdate(unittest.TestCase):
|
|
|
299
299
|
|
|
300
300
|
def test_check_test_version_controls_release_filter(self):
|
|
301
301
|
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
|
302
|
+
import threading
|
|
302
303
|
import time
|
|
303
304
|
from PySide6.QtWidgets import QApplication
|
|
304
305
|
from ok.ui.qt.about.UpdateCard import UpdateCard
|
|
@@ -308,7 +309,8 @@ class TestPyappifyStartupUpdate(unittest.TestCase):
|
|
|
308
309
|
get_version_list=Mock(return_value=[]),
|
|
309
310
|
is_greater_version=lambda left, right: self._version_tuple(left) > self._version_tuple(right),
|
|
310
311
|
)
|
|
311
|
-
|
|
312
|
+
exit_event = threading.Event()
|
|
313
|
+
card = UpdateCard("v1.0.0", module, exit_event=exit_event)
|
|
312
314
|
|
|
313
315
|
for checked, expected_release_only in ((False, True), (True, False)):
|
|
314
316
|
card.test_version_checkbox.setChecked(checked)
|
|
@@ -320,6 +322,7 @@ class TestPyappifyStartupUpdate(unittest.TestCase):
|
|
|
320
322
|
time.sleep(0.01)
|
|
321
323
|
self.assertFalse(card._busy)
|
|
322
324
|
self.assertEqual(expected_release_only, module.get_version_list.call_args.kwargs["release_only"])
|
|
325
|
+
self.assertIs(exit_event, module.get_version_list.call_args.kwargs["exit_event"])
|
|
323
326
|
|
|
324
327
|
card.deleteLater()
|
|
325
328
|
app.processEvents()
|
|
@@ -369,6 +372,36 @@ class TestPyappifyStartupUpdate(unittest.TestCase):
|
|
|
369
372
|
card.deleteLater()
|
|
370
373
|
app.processEvents()
|
|
371
374
|
|
|
375
|
+
def test_update_to_version_receives_exit_event(self):
|
|
376
|
+
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
|
377
|
+
import threading
|
|
378
|
+
import time
|
|
379
|
+
from PySide6.QtWidgets import QApplication
|
|
380
|
+
from ok.ui.qt.about.UpdateCard import UpdateCard
|
|
381
|
+
|
|
382
|
+
app = QApplication.instance() or QApplication([])
|
|
383
|
+
exit_event = threading.Event()
|
|
384
|
+
update_to_version = Mock(return_value={"updated": True, "version": "v1.1.0"})
|
|
385
|
+
module = SimpleNamespace(
|
|
386
|
+
update_to_version=update_to_version,
|
|
387
|
+
is_greater_version=lambda left, right: self._version_tuple(left) > self._version_tuple(right),
|
|
388
|
+
calculate_update_notes=self._calculate_update_notes,
|
|
389
|
+
)
|
|
390
|
+
card = UpdateCard("v1.0.0", module, exit_event=exit_event)
|
|
391
|
+
card._apply_versions((True, [{"version": "v1.1.0", "update_note": ["one"]}]))
|
|
392
|
+
|
|
393
|
+
card.update_to_selected_version()
|
|
394
|
+
for _ in range(100):
|
|
395
|
+
app.processEvents()
|
|
396
|
+
if not card._busy:
|
|
397
|
+
break
|
|
398
|
+
time.sleep(0.01)
|
|
399
|
+
|
|
400
|
+
self.assertFalse(card._busy)
|
|
401
|
+
update_to_version.assert_called_once_with("v1.1.0", exit_event=exit_event)
|
|
402
|
+
card.deleteLater()
|
|
403
|
+
app.processEvents()
|
|
404
|
+
|
|
372
405
|
def test_failed_request_shows_visible_error(self):
|
|
373
406
|
os.environ.setdefault("QT_QPA_PLATFORM", "offscreen")
|
|
374
407
|
import time
|
|
@@ -31,6 +31,7 @@ def make_runtime(tmp_path):
|
|
|
31
31
|
config={"gui_title": "Test App", "version": "1.2.3", "debug": False, "links": {"github": "https://example.test"}},
|
|
32
32
|
task_manager=manager,
|
|
33
33
|
task_executor=SimpleNamespace(get_all_tasks=lambda: [], onetime_tasks=[], trigger_tasks=[]),
|
|
34
|
+
exit_event=Mock(),
|
|
34
35
|
)
|
|
35
36
|
runtime.icon_url = "/static/app-icon.png"
|
|
36
37
|
runtime._schedule_manager = None
|
|
@@ -107,7 +108,7 @@ def test_web_update_check_returns_calculated_notes_in_one_result(tmp_path):
|
|
|
107
108
|
|
|
108
109
|
result = runtime.check_for_updates(release_only=False)
|
|
109
110
|
|
|
110
|
-
get_versions.assert_called_once_with(release_only=False)
|
|
111
|
+
get_versions.assert_called_once_with(release_only=False, exit_event=runtime.ok.exit_event)
|
|
111
112
|
assert result["current_version"] == "1.2.3"
|
|
112
113
|
assert result["update_available"] is True
|
|
113
114
|
assert result["versions"][0] == {"version": "v1.2.5", "notes": ["five", "four", "three"]}
|
|
@@ -120,7 +121,7 @@ def test_web_update_request_calls_pyappify(tmp_path):
|
|
|
120
121
|
|
|
121
122
|
result = runtime.update_to_version("v1.2.4")
|
|
122
123
|
|
|
123
|
-
update.assert_called_once_with("v1.2.4")
|
|
124
|
+
update.assert_called_once_with("v1.2.4", exit_event=runtime.ok.exit_event)
|
|
124
125
|
assert result["accepted"] is True
|
|
125
126
|
assert result["version"] == "v1.2.4"
|
|
126
127
|
|
|
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.0b5 → ok_script-2.0.0b6}/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.0b5 → ok_script-2.0.0b6}/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
|
{ok_script-2.0.0b5 → ok_script-2.0.0b6}/ok/rotypes/Windows/Security/Cryptography/__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
|