Skip to content

Commit cbb6da0

Browse files
authored
Merge pull request #9 from JE-Chen/dev
pull
2 parents 62d53a5 + 072eb44 commit cbb6da0

File tree

10 files changed

+143
-94
lines changed

10 files changed

+143
-94
lines changed

.idea/Python_JEAutoControl.iml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/misc.xml

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

.idea/workspace.xml

Lines changed: 69 additions & 23 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

je_auto_control/utils/action_executer/action_executor.py

Lines changed: 41 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -25,48 +25,40 @@
2525

2626
event_dict = {
2727
# mouse
28-
"mouse_left": ("click_mouse", click_mouse),
29-
"mouse_right": ("click_mouse", click_mouse),
30-
"mouse_middle": ("click_mouse", click_mouse),
31-
"mouse_table": ("mouse_table", mouse_table),
32-
"position": ("position", position),
33-
"press_mouse": ("press_mouse", press_mouse),
34-
"release_mouse": ("release_mouse", release_mouse),
35-
"scroll": ("scroll", scroll),
36-
"set_position": ("set_position", set_position),
37-
"special_table": ("special_table", special_table),
28+
"mouse_left": click_mouse,
29+
"mouse_right": click_mouse,
30+
"mouse_middle": click_mouse,
31+
"mouse_table": mouse_table,
32+
"position": position,
33+
"press_mouse": press_mouse,
34+
"release_mouse": release_mouse,
35+
"scroll": scroll,
36+
"set_position": set_position,
37+
"special_table": special_table,
3838
# keyboard
39-
"keys_table": ("keys_table", keys_table),
40-
"type_key": ("type_key", type_key),
41-
"press_key": ("press_key", press_key),
42-
"release_key": ("release_key", release_key),
43-
"check_key_is_press": ("check_key_is_press", check_key_is_press),
44-
"write": ("write", write),
45-
"hotkey": ("hotkey", hotkey),
39+
"keys_table": keys_table,
40+
"type_key": type_key,
41+
"press_key": press_key,
42+
"release_key": release_key,
43+
"check_key_is_press": check_key_is_press,
44+
"write": write,
45+
"hotkey": hotkey,
4646
# image
47-
"locate_all_image": ("locate_all_image", locate_all_image),
48-
"locate_image_center": ("locate_image_center", locate_image_center),
49-
"locate_and_click": ("locate_and_click", locate_and_click),
47+
"locate_all_image": locate_all_image,
48+
"locate_image_center": locate_image_center,
49+
"locate_and_click": locate_and_click,
5050
# screen
51-
"size": ("size", size),
52-
"screenshot": ("screenshot", screenshot)
51+
"size": size,
52+
"screenshot": screenshot
5353
}
5454

5555

5656
def execute_event(action):
5757
event = event_dict.get(action[0])
58-
if event[0] in ["click_mouse"]:
59-
event[1](action[0], action[1], action[2])
60-
elif event[0] in ["type_key", "press_key", "release_key", "check_key_is_press", "write"]:
61-
event[1](action[1])
62-
elif event[0] in ["position", "record", "stop_record", "size"]:
63-
event[1]()
64-
elif event[0] in ["set_position", "screenshot"]:
65-
event[1](action[1], action[2])
66-
elif event[0] in ["locate_all_image", "locate_image_center", "press_mouse", "release_mouse"]:
67-
event[1](action[1], action[2], action[3])
68-
elif event[0] in ["scroll", "locate_and_click"]:
69-
event[1](action[1], action[2], action[3], action[4])
58+
if len(action) == 2:
59+
event(**action[1])
60+
else:
61+
event()
7062

7163

7264
def execute_action(action_list: list):
@@ -94,27 +86,27 @@ def execute_action(action_list: list):
9486
test_list = None
9587
if sys.platform in ["win32", "cygwin", "msys"]:
9688
test_list = [
97-
("type_key", 65),
98-
("mouse_left", 500, 500),
99-
("position", "position"),
100-
("press_mouse", "mouse_left", 500, 500),
101-
("release_mouse", "mouse_left", 500, 500),
89+
["type_key", {"keycode": 65}],
90+
["mouse_left", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
91+
["position"],
92+
["press_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
93+
["release_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
10294
]
10395
elif sys.platform in ["linux", "linux2"]:
10496
test_list = [
105-
("type_key", 38),
106-
("mouse_left", 500, 500),
107-
("position", "position"),
108-
("press_mouse", "mouse_left", 500, 500),
109-
("release_mouse", "mouse_left", 500, 500)
97+
["type_key", {"keycode": 38}],
98+
["mouse_left", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
99+
["position"],
100+
["press_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
101+
["release_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
110102
]
111103
elif sys.platform in ["darwin"]:
112104
test_list = [
113-
("type_key", 0x00),
114-
("mouse_left", 500, 500),
115-
("position", "position"),
116-
("press_mouse", "mouse_left", 500, 500),
117-
("release_mouse", "mouse_left", 500, 500)
105+
["type_key", {"keycode": 0x00}],
106+
["mouse_left", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
107+
["position"],
108+
["press_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
109+
["release_mouse", {"mouse_keycode": "mouse_left", "x": 500, "y": 500}],
118110
]
119111
print("\n\n")
120112
print(execute_action(test_list))

je_auto_control/wrapper/auto_control_image.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from je_auto_control.wrapper.auto_control_mouse import set_position
77

88

9-
def locate_all_image(image, detect_threshold: float = 1, draw_image: bool = False):
9+
def locate_all_image(image, detect_threshold: float = 1, draw_image: bool = False, **kwargs):
1010
"""
1111
:param image which image we want to find on screen
1212
:param detect_threshold detect precision 0.0 ~ 1.0; 1 is absolute equal
@@ -22,7 +22,7 @@ def locate_all_image(image, detect_threshold: float = 1, draw_image: bool = Fals
2222
raise ImageNotFoundException(cant_find_image)
2323

2424

25-
def locate_image_center(image, detect_threshold: float = 1, draw_image: bool = False):
25+
def locate_image_center(image, detect_threshold: float = 1, draw_image: bool = False, **kwargs):
2626
"""
2727
:param image which image we want to find on screen
2828
:param detect_threshold detect precision 0.0 ~ 1.0; 1 is absolute equal
@@ -41,7 +41,7 @@ def locate_image_center(image, detect_threshold: float = 1, draw_image: bool = F
4141
raise ImageNotFoundException(cant_find_image)
4242

4343

44-
def locate_and_click(image, mouse_keycode: int, detect_threshold: float = 1, draw_image: bool = False):
44+
def locate_and_click(image, mouse_keycode: [int, str], detect_threshold: float = 1, draw_image: bool = False, **kwargs):
4545
"""
4646
:param image which image we want to find on screen
4747
:param mouse_keycode which mouse keycode we want to click

je_auto_control/wrapper/auto_control_keyboard.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from je_auto_control.wrapper.platform_wrapper import keys_table
1515

1616

17-
def press_key(keycode: int, is_shift: bool = False):
17+
def press_key(keycode: [int, str], is_shift: bool = False, **kwargs):
1818
"""
1919
:param keycode which keycode we want to press
2020
:param is_shift shift is press?
@@ -33,7 +33,7 @@ def press_key(keycode: int, is_shift: bool = False):
3333
raise AutoControlKeyboardException(keyboard_press_key)
3434

3535

36-
def release_key(keycode: int, is_shift: bool = False):
36+
def release_key(keycode: [int, str], is_shift: bool = False, **kwargs):
3737
"""
3838
:param keycode which keycode we want to release
3939
:param is_shift shift is press?
@@ -52,7 +52,7 @@ def release_key(keycode: int, is_shift: bool = False):
5252
raise AutoControlKeyboardException(keyboard_release_key)
5353

5454

55-
def type_key(keycode: int, is_shift: bool = False):
55+
def type_key(keycode: [int, str], is_shift: bool = False, **kwargs):
5656
"""
5757
:param keycode which keycode we want to type
5858
:param is_shift shift is press?
@@ -64,7 +64,7 @@ def type_key(keycode: int, is_shift: bool = False):
6464
raise AutoControlKeyboardException(keyboard_type_key)
6565

6666

67-
def check_key_is_press(keycode: int):
67+
def check_key_is_press(keycode: [int, str], **kwargs):
6868
"""
6969
:param keycode check key press?
7070
"""
@@ -75,7 +75,7 @@ def check_key_is_press(keycode: int):
7575
return keyboard_check.check_key_is_press(keycode=get_key_code)
7676

7777

78-
def write(write_string: str, is_shift: bool = False):
78+
def write(write_string: str, is_shift: bool = False, **kwargs):
7979
"""
8080
:param write_string while string not on write_string+1 type_key(string)
8181
:param is_shift shift is press?
@@ -93,7 +93,7 @@ def write(write_string: str, is_shift: bool = False):
9393
raise AutoControlKeyboardException(keyboard_write)
9494

9595

96-
def hotkey(key_code_list: list, is_shift: bool = False):
96+
def hotkey(key_code_list: list, is_shift: bool = False, **kwargs):
9797
"""
9898
:param key_code_list press and release all key on list and reverse
9999
:param is_shift shift is press?

je_auto_control/wrapper/auto_control_mouse.py

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import sys
22

33
from je_auto_control.utils.je_auto_control_exception.exception_tag import mouse_click_mouse
4+
from je_auto_control.utils.je_auto_control_exception.exception_tag import mouse_get_position
5+
from je_auto_control.utils.je_auto_control_exception.exception_tag import table_cant_find_key
46
from je_auto_control.utils.je_auto_control_exception.exception_tag import mouse_press_mouse
57
from je_auto_control.utils.je_auto_control_exception.exception_tag import mouse_release_mouse
68
from je_auto_control.utils.je_auto_control_exception.exception_tag import mouse_set_position
@@ -22,7 +24,7 @@ def position():
2224
raise AutoControlMouseException(mouse_get_position)
2325

2426

25-
def set_position(x: int, y: int):
27+
def set_position(x: int, y: int, **kwargs):
2628
"""
2729
:param x set position x
2830
:param y set position y
@@ -33,14 +35,17 @@ def set_position(x: int, y: int):
3335
raise AutoControlMouseException(mouse_set_position)
3436

3537

36-
def press_mouse(mouse_keycode: int, x: int = None, y: int = None):
38+
def press_mouse(mouse_keycode: [int, str], x: int = None, y: int = None, **kwargs):
3739
"""
3840
:param mouse_keycode which mouse keycode we want to press
3941
:param x event x
4042
:param y event y
4143
"""
4244
try:
43-
mouse_keycode = mouse_table.get(mouse_keycode)
45+
if type(mouse_keycode) is str:
46+
mouse_keycode = mouse_table.get(mouse_keycode)
47+
else:
48+
pass
4449
except Exception:
4550
raise AutoControlCantFindKeyException(table_cant_find_key)
4651
try:
@@ -57,14 +62,17 @@ def press_mouse(mouse_keycode: int, x: int = None, y: int = None):
5762
raise AutoControlMouseException(mouse_press_mouse)
5863

5964

60-
def release_mouse(mouse_keycode: int, x: int = None, y: int = None):
65+
def release_mouse(mouse_keycode: [int, str], x: int = None, y: int = None, **kwargs):
6166
"""
6267
:param mouse_keycode which mouse keycode we want to release
6368
:param x event x
6469
:param y event y
6570
"""
6671
try:
67-
mouse_keycode = mouse_table.get(mouse_keycode)
72+
if type(mouse_keycode) is str:
73+
mouse_keycode = mouse_table.get(mouse_keycode)
74+
else:
75+
pass
6876
except Exception:
6977
raise AutoControlCantFindKeyException(table_cant_find_key)
7078
try:
@@ -84,14 +92,17 @@ def release_mouse(mouse_keycode: int, x: int = None, y: int = None):
8492
raise AutoControlMouseException(mouse_release_mouse)
8593

8694

87-
def click_mouse(mouse_keycode: int, x: int = None, y: int = None):
95+
def click_mouse(mouse_keycode: [int, str], x: int = None, y: int = None, **kwargs):
8896
"""
8997
:param mouse_keycode which mouse keycode we want to click
9098
:param x event x
9199
:param y event y
92100
"""
93101
try:
94-
mouse_keycode = mouse_table.get(mouse_keycode)
102+
if type(mouse_keycode) is str:
103+
mouse_keycode = mouse_table.get(mouse_keycode)
104+
else:
105+
pass
95106
except Exception:
96107
raise AutoControlCantFindKeyException(table_cant_find_key)
97108
try:
@@ -108,7 +119,7 @@ def click_mouse(mouse_keycode: int, x: int = None, y: int = None):
108119
raise AutoControlMouseException(mouse_click_mouse)
109120

110121

111-
def scroll(scroll_value: int, x: int = None, y: int = None, scroll_direction: str = "scroll_down"):
122+
def scroll(scroll_value: int, x: int = None, y: int = None, scroll_direction: str = "scroll_down", **kwargs):
112123
""""
113124
:param scroll_value scroll count
114125
:param x event x

je_auto_control/wrapper/auto_control_screen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ def size():
1818
raise AutoControlScreenException(screen_get_size)
1919

2020

21-
def screenshot(file_path: str = None, region: list = None):
21+
def screenshot(file_path: str = None, region: list = None, **kwargs):
2222
"""
2323
:param file_path screenshot file save path
2424
:param region screenshot region

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
setuptools.setup(
77
name="je_auto_control",
8-
version="0.0.69",
8+
version="0.0.71",
99
author="JE-Chen",
1010
author_email="[email protected]",
1111
description="auto testing",

test/platform_independent/test/image/locate_and_click.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"""
77
mouse_keycode what mouse keycode you want to click
88
detect_threshold 0~1 , 1 is absolute equal
9-
draw_image, mark the find target
9+
draw_image, mark the find target
1010
"""
1111
image_data = locate_and_click("../test_source/test_template.png", mouse_keycode="mouse_left", detect_threshold=0.9,
1212
draw_image=False)

0 commit comments

Comments
 (0)