PKDevTools 0.13.20250221.238__tar.gz → 0.13.20250222.240__tar.gz

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/FunctionTimeouts.py +31 -1
  2. pkdevtools-0.13.20250222.240/PKDevTools/classes/__init__.py +1 -0
  3. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/PKG-INFO +2 -2
  4. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKG-INFO +2 -2
  5. pkdevtools-0.13.20250221.238/PKDevTools/classes/__init__.py +0 -1
  6. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/LICENSE +0 -0
  7. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/LICENSE.txt +0 -0
  8. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/README.txt +0 -0
  9. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/__init__.py +0 -0
  10. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Archiver.py +0 -0
  11. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/ColorText.py +0 -0
  12. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Committer.py +0 -0
  13. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/CookieHelper.py +0 -0
  14. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/DBManager.py +0 -0
  15. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Environment.py +0 -0
  16. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Fetcher.py +0 -0
  17. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/GmailReader.py +0 -0
  18. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/MarketHours.py +0 -0
  19. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/MenuOptions.py +0 -0
  20. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/NSEMarketStatus.py +0 -0
  21. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/OutputControls.py +0 -0
  22. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKDateUtilities.py +0 -0
  23. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  24. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKJoinableQueue.py +0 -0
  25. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  26. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKPickler.py +0 -0
  27. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/PKTimer.py +0 -0
  28. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Pikey.py +0 -0
  29. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Singleton.py +0 -0
  30. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/SuppressOutput.py +0 -0
  31. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/System.py +0 -0
  32. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Telegram.py +0 -0
  33. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/UserSubscriptions.py +0 -0
  34. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/Utils.py +0 -0
  35. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/WorkflowManager.py +0 -0
  36. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/githubutilities.py +0 -0
  37. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/log.py +0 -0
  38. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/multiprocessing_logging.py +0 -0
  39. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/pubsub/__init__.py +0 -0
  40. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/pubsub/events.py +0 -0
  41. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/pubsub/publisher.py +0 -0
  42. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/pubsub/subscriber.py +0 -0
  43. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/squash.py +0 -0
  44. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/classes/updater.py +0 -0
  45. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/release.md +0 -0
  46. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools/requirements.txt +0 -0
  47. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/SOURCES.txt +0 -0
  48. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/dependency_links.txt +0 -0
  49. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/entry_points.txt +0 -0
  50. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/not-zip-safe +0 -0
  51. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/requires.txt +0 -0
  52. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/PKDevTools.egg-info/top_level.txt +0 -0
  53. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/README.md +0 -0
  54. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/setup.cfg +0 -0
  55. {pkdevtools-0.13.20250221.238 → pkdevtools-0.13.20250222.240}/setup.py +0 -0
@@ -27,6 +27,8 @@ from __future__ import print_function
27
27
 
28
28
  import sys
29
29
  import threading
30
+ import time
31
+ import functools
30
32
  from time import sleep
31
33
  try:
32
34
  import thread
@@ -65,4 +67,32 @@ def exit_after(s):
65
67
  timer_mid.cancel()
66
68
  return result
67
69
  return inner
68
- return outer
70
+ return outer
71
+
72
+ def ping(interval=60,instance=None):
73
+ """Decorator to run a ping function in a background thread."""
74
+ def decorator(func):
75
+ @functools.wraps(func)
76
+ def wrapper(*args, **kwargs):
77
+ stop_event = threading.Event()
78
+
79
+ def send_ping():
80
+ while not stop_event.is_set():
81
+ time.sleep(interval)
82
+ if instance is not None and hasattr(instance, "send_event"):
83
+ instance.send_event("ping")
84
+
85
+ # Start ping thread
86
+ ping_thread = threading.Thread(target=send_ping, daemon=True)
87
+ ping_thread.start()
88
+
89
+ try:
90
+ return func(*args, **kwargs) # Run the main function
91
+ except (KeyboardInterrupt, SystemExit):
92
+ stop_event.set()
93
+ ping_thread.join()
94
+ finally:
95
+ stop_event.set() # Ensure ping thread stops even if func exits normally
96
+
97
+ return wrapper
98
+ return decorator
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250222.240'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250221.238
3
+ Version: 0.13.20250222.240
4
4
  Summary: A general day-to-day toolset for PKScreener repos
5
5
  Home-page: https://github.com/pkjmesra/PKDevTools
6
- Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250221.238.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250222.240.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250221.238
3
+ Version: 0.13.20250222.240
4
4
  Summary: A general day-to-day toolset for PKScreener repos
5
5
  Home-page: https://github.com/pkjmesra/PKDevTools
6
- Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250221.238.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250222.240.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -1 +0,0 @@
1
- VERSION='0.13.20250221.238'