zhmiscellany 5.9.1__py3-none-any.whl → 5.9.3__py3-none-any.whl
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.
- zhmiscellany/macro.py +6 -5
- zhmiscellany/processing.py +16 -1
- {zhmiscellany-5.9.1.dist-info → zhmiscellany-5.9.3.dist-info}/METADATA +20 -2
- {zhmiscellany-5.9.1.dist-info → zhmiscellany-5.9.3.dist-info}/RECORD +6 -6
- {zhmiscellany-5.9.1.dist-info → zhmiscellany-5.9.3.dist-info}/WHEEL +0 -0
- {zhmiscellany-5.9.1.dist-info → zhmiscellany-5.9.3.dist-info}/top_level.txt +0 -0
zhmiscellany/macro.py
CHANGED
|
@@ -488,19 +488,21 @@ def record_actions_to_code(RECORD_MOUSE_MOVEMENT=False, STOP_KEY='f9'):
|
|
|
488
488
|
code_lines.append(f"m(({x}, {y}), click_end_duration=mouse_move_dly)")
|
|
489
489
|
|
|
490
490
|
elif action == 'scroll':
|
|
491
|
-
dx, dy = event['dx'], event['dy']
|
|
491
|
+
x, y, dx, dy = event['x'], event['y'], event['dx'], event['dy']
|
|
492
492
|
j = i
|
|
493
493
|
count = 0
|
|
494
494
|
while True:
|
|
495
495
|
count += 1
|
|
496
|
+
j += 1
|
|
496
497
|
try:
|
|
497
|
-
t_event = events[j
|
|
498
|
+
t_event = events[j]
|
|
498
499
|
except:
|
|
499
500
|
t_event = None
|
|
500
|
-
if t_event and t_event['action'] == 'scroll' and t_event['dy'] == dy:
|
|
501
|
+
if t_event and t_event['action'] == 'scroll' and t_event['dy'] == dy and (t_event['x'], t_event['y']) == (x, y):
|
|
501
502
|
skip_next += 1
|
|
502
503
|
else:
|
|
503
504
|
break
|
|
505
|
+
code_lines.append(f"m(({x}, {y}), click_end_duration=mouse_move_dly)")
|
|
504
506
|
code_lines.append(f"s({dy*count}, scroll_dly, post_scroll_dly)")
|
|
505
507
|
|
|
506
508
|
elif action in ('key_press', 'key_release'):
|
|
@@ -564,8 +566,7 @@ def record_actions_to_code(RECORD_MOUSE_MOVEMENT=False, STOP_KEY='f9'):
|
|
|
564
566
|
events.append({'action': 'click', 'x': x, 'y': y, 'button': button, 'pressed': pressed, 'time': time.time()})
|
|
565
567
|
|
|
566
568
|
def on_scroll(x, y, dx, dy):
|
|
567
|
-
|
|
568
|
-
events.append({'action': 'scroll', 'dx': dx, 'dy': dy, 'time': time.time()})
|
|
569
|
+
events.append({'action': 'scroll', 'x': x, 'y': y, 'dx': dx, 'dy': dy, 'time': time.time()})
|
|
569
570
|
|
|
570
571
|
def on_press(key):
|
|
571
572
|
events.append({'action': 'key_press', 'key': key, 'time': time.time()})
|
zhmiscellany/processing.py
CHANGED
|
@@ -279,4 +279,19 @@ if __name__=="__main__":
|
|
|
279
279
|
yield var[1]
|
|
280
280
|
proc.stdout.close()
|
|
281
281
|
proc.wait()
|
|
282
|
-
cleanup()
|
|
282
|
+
cleanup()
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
class thread_join_return(threading.Thread):
|
|
286
|
+
def __init__(self, group=None, target=None, name=None, args=(), kwargs={}):
|
|
287
|
+
super().__init__(group, target, name, args, kwargs)
|
|
288
|
+
self._return = None
|
|
289
|
+
|
|
290
|
+
def run(self):
|
|
291
|
+
if self._target is not None:
|
|
292
|
+
self._return = self._target(*self._args, **self._kwargs)
|
|
293
|
+
|
|
294
|
+
# A custom 'join' that also returns the value
|
|
295
|
+
def join(self, *args):
|
|
296
|
+
super().join(*args)
|
|
297
|
+
return self._return
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: zhmiscellany
|
|
3
|
-
Version: 5.9.
|
|
3
|
+
Version: 5.9.3
|
|
4
4
|
Summary: A collection of useful/interesting python libraries made by zh.
|
|
5
5
|
Home-page: https://discord.gg/ThBBAuueVJ
|
|
6
6
|
Author: zh
|
|
@@ -41,7 +41,7 @@ Introduction
|
|
|
41
41
|
|
|
42
42
|
Can be installed with `pip install zhmiscellany`
|
|
43
43
|
|
|
44
|
-
Currently, the package stands at
|
|
44
|
+
Currently, the package stands at 143 functions/classes/bindings across 15 modules.
|
|
45
45
|
|
|
46
46
|
The git repository for this package can be found [here](https://github.com/zen-ham/zhmiscellany). The docs also look nicer on github.
|
|
47
47
|
|
|
@@ -1348,6 +1348,15 @@ Very efficiently deduplicates an iterable such as a list and returns a list.
|
|
|
1348
1348
|
|
|
1349
1349
|
#
|
|
1350
1350
|
|
|
1351
|
+
`zhmiscellany.processing.thread_join_return()`
|
|
1352
|
+
---
|
|
1353
|
+
|
|
1354
|
+
`zhmiscellany.processing.thread_join_return()`
|
|
1355
|
+
|
|
1356
|
+
Just a thread, but it returns whatever value was returned by the function inside it when .join() is called so you can use the data.
|
|
1357
|
+
|
|
1358
|
+
#
|
|
1359
|
+
|
|
1351
1360
|
---
|
|
1352
1361
|
`zhmiscellany.string`
|
|
1353
1362
|
---
|
|
@@ -1527,6 +1536,15 @@ keyboard.wait() requires a clean press of the specified key, and concurrent key
|
|
|
1527
1536
|
|
|
1528
1537
|
#
|
|
1529
1538
|
|
|
1539
|
+
`zhmiscellany.macro.record_actions_to_code()`
|
|
1540
|
+
---
|
|
1541
|
+
|
|
1542
|
+
`zhmiscellany.macro.record_actions_to_code(RECORD_MOUSE_MOVEMENT=False, STOP_KEY='f9')`
|
|
1543
|
+
|
|
1544
|
+
Records keyboard and mouse events and generates zhmiscellany.macro code to emulate them, I'm so tired..
|
|
1545
|
+
|
|
1546
|
+
#
|
|
1547
|
+
|
|
1530
1548
|
---
|
|
1531
1549
|
`zhmiscellany.cpp`
|
|
1532
1550
|
---
|
|
@@ -12,16 +12,16 @@ zhmiscellany/fileio.py,sha256=KmRnWWZJWBc5Or3_mKcRY2ehE_Fuk870iS-imtyERyg,18169
|
|
|
12
12
|
zhmiscellany/gui.py,sha256=VgT5j5UIr-wWyL2P1qCHSNL7RrvZWDlm0TX00JGWmKo,7404
|
|
13
13
|
zhmiscellany/image.py,sha256=qUjxiYpc2VVZp2vwr1vN36O2PVQ7YlMKzhegQ1u4c0M,8198
|
|
14
14
|
zhmiscellany/list.py,sha256=S8Z85bLJEP9lk2JkGpzUcG6kpRB7a-NWDIHMPiF5bKo,1473
|
|
15
|
-
zhmiscellany/macro.py,sha256=
|
|
15
|
+
zhmiscellany/macro.py,sha256=IHkIDUgRqciD9-p9vF0j_Qfzir0mIIueax8MwQIZmOY,25996
|
|
16
16
|
zhmiscellany/math.py,sha256=btOQTe_GvqP0A7Zz84tmN_c8j1NGe_mKnhmAt40lhLU,2482
|
|
17
17
|
zhmiscellany/misc.py,sha256=BsTbRWlXI5LZBG7Bl2MgLzHESyCMJnr_KNZAf2wY_H4,29689
|
|
18
18
|
zhmiscellany/netio.py,sha256=GTamo5cJn4P6u8V_kgZ9kL8qeMUE7OQAmYkmj9Sp_GA,2236
|
|
19
19
|
zhmiscellany/pastebin.py,sha256=TbZ3DqFYXo5qt5d95ugrofYoptlzKkjXUr7VnEqa6ks,6357
|
|
20
20
|
zhmiscellany/pipes.py,sha256=PxO4aykFzC60xbTQuc66KzZYIxiW0KPebXZbncD2HcU,3795
|
|
21
|
-
zhmiscellany/processing.py,sha256=
|
|
21
|
+
zhmiscellany/processing.py,sha256=sDKIbzG9TNFyT6yJ4TJL59taG-59_v3CBLekVSLrwgE,10899
|
|
22
22
|
zhmiscellany/rust.py,sha256=znN6DYNoa_p-braTuDZKvUnXX8reWLFu_dG4fv2vLR0,442
|
|
23
23
|
zhmiscellany/string.py,sha256=xyqE6V5YF2nieZDcg5ZrXTIrH2D9oDRbZ5vQGz8rPys,4787
|
|
24
|
-
zhmiscellany-5.9.
|
|
25
|
-
zhmiscellany-5.9.
|
|
26
|
-
zhmiscellany-5.9.
|
|
27
|
-
zhmiscellany-5.9.
|
|
24
|
+
zhmiscellany-5.9.3.dist-info/METADATA,sha256=4QHsCH3gk8pXLyULv-PWo0ogsNiX7tbR1DkKC9nu0Sk,42655
|
|
25
|
+
zhmiscellany-5.9.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
26
|
+
zhmiscellany-5.9.3.dist-info/top_level.txt,sha256=ioDtsrevCI52rTxZntMPljRIBsZs73tD0hI00HektiE,13
|
|
27
|
+
zhmiscellany-5.9.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|