diff --git a/source/binding/Python/maa/define.py b/source/binding/Python/maa/define.py index 637b0c124..7d8e2c5bb 100644 --- a/source/binding/Python/maa/define.py +++ b/source/binding/Python/maa/define.py @@ -372,18 +372,23 @@ def __init__(self, status: Union[MaaStatus, MaaStatusEnum, int]): else: self._status = MaaStatusEnum(status) + @property def done(self) -> bool: return self._status in [MaaStatusEnum.succeeded, MaaStatusEnum.failed] + @property def succeeded(self) -> bool: return self._status == MaaStatusEnum.succeeded + @property def failed(self) -> bool: return self._status == MaaStatusEnum.failed + @property def pending(self) -> bool: return self._status == MaaStatusEnum.pending + @property def running(self) -> bool: return self._status == MaaStatusEnum.running diff --git a/source/binding/Python/maa/job.py b/source/binding/Python/maa/job.py index 906490d7b..7b24d94ba 100644 --- a/source/binding/Python/maa/job.py +++ b/source/binding/Python/maa/job.py @@ -9,6 +9,7 @@ def __init__(self, job_id: MaaId, status_func, wait_func): self._status_func = status_func self._wait_func = wait_func + @property def job_id(self) -> int: return int(self._job_id) @@ -16,23 +17,29 @@ def wait(self) -> "Job": self._wait_func(self._job_id) return self + @property def status(self) -> Status: return Status(self._status_func(self._job_id)) + @property def done(self) -> bool: - return self.status().done() + return self.status.done + @property def succeeded(self) -> bool: - return self.status().succeeded() + return self.status.succeeded + @property def failed(self) -> bool: - return self.status().failed() + return self.status.failed + @property def pending(self) -> bool: - return self.status().pending() + return self.status.pending + @property def running(self) -> bool: - return self.status().running() + return self.status.running class JobWithResult(Job): diff --git a/test/python/binding_test.py b/test/python/binding_test.py index 805a47a10..8aab7d5e4 100644 --- a/test/python/binding_test.py +++ b/test/python/binding_test.py @@ -199,20 +199,20 @@ def custom_ctrl_test(): print("test_custom_controller") controller = MyController(MyNotificationHandler()) - ret = controller.post_connection().wait().succeeded() + ret = controller.post_connection().wait().succeeded uuid = controller.uuid - ret &= controller.post_start_app("custom_aaa").wait().succeeded() - ret &= controller.post_stop_app("custom_bbb").wait().succeeded() + ret &= controller.post_start_app("custom_aaa").wait().succeeded + ret &= controller.post_stop_app("custom_bbb").wait().succeeded image_job = controller.post_screencap().wait() - ret &= image_job.succeeded() + ret &= image_job.succeeded print(f"image: {image_job.get().shape}") - ret &= controller.post_click(100, 200).wait().succeeded() - ret &= controller.post_swipe(100, 200, 300, 400, 200).wait().succeeded() - ret &= controller.post_touch_down(1, 100, 100, 0).wait().succeeded() - ret &= controller.post_touch_move(1, 200, 200, 0).wait().succeeded() - ret &= controller.post_touch_up(1).wait().succeeded() - ret &= controller.post_press_key(32).wait().succeeded() - ret &= controller.post_input_text("Hello World!").wait().succeeded() + ret &= controller.post_click(100, 200).wait().succeeded + ret &= controller.post_swipe(100, 200, 300, 400, 200).wait().succeeded + ret &= controller.post_touch_down(1, 100, 100, 0).wait().succeeded + ret &= controller.post_touch_move(1, 200, 200, 0).wait().succeeded + ret &= controller.post_touch_up(1).wait().succeeded + ret &= controller.post_press_key(32).wait().succeeded + ret &= controller.post_input_text("Hello World!").wait().succeeded print(f"controller.count: {controller.count}, ret: {ret}") if controller.count != 11 or not ret: diff --git a/tools/ImageCropper/main.py b/tools/ImageCropper/main.py index 9d914ccbd..da087fc58 100644 --- a/tools/ImageCropper/main.py +++ b/tools/ImageCropper/main.py @@ -111,7 +111,7 @@ def parse_args() -> Controller: controller = parse_args() if controller: set_screenshot_target_side(controller) - if controller.post_connection().failed(): + if controller.post_connection().failed: print(f"Failed to connect device({device_serial}).") # 初始化 Roi