From 30d5a16cb64aa62080b17f8a3e5293738d3e5d6d Mon Sep 17 00:00:00 2001 From: JE-Chen Date: Wed, 13 Oct 2021 05:14:02 -0700 Subject: [PATCH 1/3] i think macos can't create record --- je_auto_control/osx/listener/osx_listener.py | 27 ++++++++------------ je_auto_control/osx/record/osx_record.py | 14 +++++++++- 2 files changed, 24 insertions(+), 17 deletions(-) diff --git a/je_auto_control/osx/listener/osx_listener.py b/je_auto_control/osx/listener/osx_listener.py index 94f7e13..71edf86 100644 --- a/je_auto_control/osx/listener/osx_listener.py +++ b/je_auto_control/osx/listener/osx_listener.py @@ -12,16 +12,10 @@ from queue import Queue -class RecordQueue(object): +record_queue = Queue() - def __init__(self): - self.record_queue = None +app = NSApplication.sharedApplication() - def reset_queue(self): - self.record_queue = Queue() - - -record_queue_manager = RecordQueue() class AppDelegate(NSObject): def applicationDidFinishLaunching_(self, aNotification): @@ -32,30 +26,31 @@ def applicationDidFinishLaunching_(self, aNotification): def mouse_left_handler(event): loc = NSEvent.mouseLocation() - record_queue_manager.record_queue.put(("mouse_left", loc.x, loc.y)) + record_queue.put(("mouse_left", loc.x, loc.y)) def mouse_right_handler(event): loc = NSEvent.mouseLocation() - record_queue_manager.record_queue.put(("mouse_right", loc.x, loc.y)) + record_queue.put(("mouse_right", loc.x, loc.y)) def keyboard_handler(event): - record_queue_manager.record_queue.put(("keyboard", int(hex(event.keyCode()), 16))) if int(event.keyCode()) == 98: - AppHelper.stopEventLoop() + pass + else: + record_queue.put(("keyboard", int(hex(event.keyCode()), 16))) + print(event) def osx_record(): - record_queue_manager.reset_queue() - app = NSApplication.sharedApplication() + record_queue = Queue() delegate = AppDelegate.alloc().init() - NSApp().setDelegate_(delegate) + app.setDelegate_(delegate) AppHelper.runEventLoop() def osx_stop_record(): - return record_queue_manager.record_queue + return record_queue if __name__ == "__main__": diff --git a/je_auto_control/osx/record/osx_record.py b/je_auto_control/osx/record/osx_record.py index f0e7248..8a2256a 100644 --- a/je_auto_control/osx/record/osx_record.py +++ b/je_auto_control/osx/record/osx_record.py @@ -23,4 +23,16 @@ def stop_record(self): raise AutoControlRecordException return osx_stop_record() -osx_recorder = OSXRecorder() \ No newline at end of file +osx_recorder = OSXRecorder() + + +if __name__ == "__main__": + test_osx_recorder = OSXRecorder() + test_osx_recorder.record() + temp = test_osx_recorder.stop_record() + print(temp) + for action in temp.queue: + print(action) + while True: + pass + From 96fbcdebcfde69812caecbcf77a466717544ce40 Mon Sep 17 00:00:00 2001 From: JE-Chen Date: Wed, 13 Oct 2021 22:47:59 +0800 Subject: [PATCH 2/3] add record test and update pypi add record test update pypi ver refactor --- circle_ci_test/record_test.py | 15 +++++++++++++++ je_auto_control/wrapper/auto_control_record.py | 14 ++++++++------ je_auto_control/wrapper/platform_wrapper.py | 3 +-- setup.py | 2 +- test/platform_independent/test/record_test.py | 15 +++++++++++++++ 5 files changed, 40 insertions(+), 9 deletions(-) create mode 100644 circle_ci_test/record_test.py create mode 100644 test/platform_independent/test/record_test.py diff --git a/circle_ci_test/record_test.py b/circle_ci_test/record_test.py new file mode 100644 index 0000000..799cfe7 --- /dev/null +++ b/circle_ci_test/record_test.py @@ -0,0 +1,15 @@ +import sys +from time import sleep + +from je_auto_control import record +from je_auto_control import stop_record +from je_auto_control import type_key + +record() +type_key("t") +type_key("e") +type_key("s") +type_key("t") + +sleep(1) +stop_record() diff --git a/je_auto_control/wrapper/auto_control_record.py b/je_auto_control/wrapper/auto_control_record.py index 78d0762..a864ffa 100644 --- a/je_auto_control/wrapper/auto_control_record.py +++ b/je_auto_control/wrapper/auto_control_record.py @@ -1,3 +1,5 @@ +import sys + from je_auto_control.utils.je_auto_control_exception.exceptions import AutoControlRecordException from je_auto_control.utils.je_auto_control_exception.exception_tag import record_not_found_action_error from je_auto_control.wrapper.auto_control_mouse import click_mouse @@ -34,10 +36,14 @@ def stop_record_keyboard(): def record(): + if sys.platform == "darwin": + raise Exception("macos can't use recorder") recorder.record() def stop_record(): + if sys.platform == "darwin": + raise Exception("macos can't use recorder") action_queue = recorder.stop_record() if action_queue is None: raise AutoControlRecordException @@ -53,12 +59,8 @@ def stop_record(): if __name__ == "__main__": record() from time import sleep - sleep(10) + sleep(5) stop_record() - sleep(3) - import sys - if sys.platform in ["darwin"]: - record() - stop_record() + sleep(2) diff --git a/je_auto_control/wrapper/platform_wrapper.py b/je_auto_control/wrapper/platform_wrapper.py index 77d69e3..d60a23d 100644 --- a/je_auto_control/wrapper/platform_wrapper.py +++ b/je_auto_control/wrapper/platform_wrapper.py @@ -864,8 +864,7 @@ keyboard_check = osx_keyboard_check mouse = osx_mouse screen = osx_screen - recorder = osx_recorder - if None in [keys_table, mouse_table, keyboard_check, keyboard, mouse, screen, recorder]: + if None in [keys_table, mouse_table, keyboard_check, keyboard, mouse, screen]: raise AutoControlException("Can't init auto control") elif sys.platform in ["linux", "linux2"]: diff --git a/setup.py b/setup.py index a8f2dfe..fa91bfd 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="je_auto_control", - version="0.0.39", + version="0.0.40", author="JE-Chen", author_email="zenmailman@gmail.com", description="auto control gui", diff --git a/test/platform_independent/test/record_test.py b/test/platform_independent/test/record_test.py new file mode 100644 index 0000000..799cfe7 --- /dev/null +++ b/test/platform_independent/test/record_test.py @@ -0,0 +1,15 @@ +import sys +from time import sleep + +from je_auto_control import record +from je_auto_control import stop_record +from je_auto_control import type_key + +record() +type_key("t") +type_key("e") +type_key("s") +type_key("t") + +sleep(1) +stop_record() From 9625e2e5a84fb0a39245208764da4c5f22d19983 Mon Sep 17 00:00:00 2001 From: JE-Chen Date: Wed, 13 Oct 2021 22:58:05 +0800 Subject: [PATCH 3/3] test --- .idea/workspace.xml | 50 ++++++++++++++++++--------------------------- 1 file changed, 20 insertions(+), 30 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index ffe893d..9e02afd 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -3,18 +3,6 @@ - - - - - - - - - - - - - + - + - + - + - + + - @@ -285,22 +273,24 @@ - + + - + + - + \ No newline at end of file