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 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+1]
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
- # pynput scroll listener reports the mouse position at time of scroll, which we don't need for replay
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()})
@@ -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.1
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 141 functions/classes/bindings across 15 modules.
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=XalZC6F5cHkbJky6UqGvb9UxB0fx_znIZR5hRLocYc4,25904
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=srwlV8FZ--svF5e6rZZxhIs_6ZjOAwq2OcQEf6T2Le8,10410
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.1.dist-info/METADATA,sha256=PKWzGdhOiiLLJUVkxycKu06nog9F74tYcyRO-IyFtrc,42153
25
- zhmiscellany-5.9.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
26
- zhmiscellany-5.9.1.dist-info/top_level.txt,sha256=ioDtsrevCI52rTxZntMPljRIBsZs73tD0hI00HektiE,13
27
- zhmiscellany-5.9.1.dist-info/RECORD,,
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,,