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 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/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 + 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()