PKDevTools 0.13.20250221.237__tar.gz → 0.13.20250222.239__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.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/FunctionTimeouts.py +24 -0
  2. pkdevtools-0.13.20250222.239/PKDevTools/classes/__init__.py +1 -0
  3. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/pubsub/subscriber.py +4 -1
  4. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/PKG-INFO +2 -2
  5. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKG-INFO +2 -2
  6. pkdevtools-0.13.20250221.237/PKDevTools/classes/__init__.py +0 -1
  7. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/LICENSE +0 -0
  8. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/LICENSE.txt +0 -0
  9. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/README.txt +0 -0
  10. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/__init__.py +0 -0
  11. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Archiver.py +0 -0
  12. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/ColorText.py +0 -0
  13. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Committer.py +0 -0
  14. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/CookieHelper.py +0 -0
  15. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/DBManager.py +0 -0
  16. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Environment.py +0 -0
  17. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Fetcher.py +0 -0
  18. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/GmailReader.py +0 -0
  19. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/MarketHours.py +0 -0
  20. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/MenuOptions.py +0 -0
  21. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/NSEMarketStatus.py +0 -0
  22. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/OutputControls.py +0 -0
  23. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKDateUtilities.py +0 -0
  24. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  25. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKJoinableQueue.py +0 -0
  26. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  27. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKPickler.py +0 -0
  28. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/PKTimer.py +0 -0
  29. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Pikey.py +0 -0
  30. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Singleton.py +0 -0
  31. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/SuppressOutput.py +0 -0
  32. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/System.py +0 -0
  33. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Telegram.py +0 -0
  34. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/UserSubscriptions.py +0 -0
  35. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/Utils.py +0 -0
  36. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/WorkflowManager.py +0 -0
  37. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/githubutilities.py +0 -0
  38. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/log.py +0 -0
  39. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/multiprocessing_logging.py +0 -0
  40. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/pubsub/__init__.py +0 -0
  41. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/pubsub/events.py +0 -0
  42. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/pubsub/publisher.py +0 -0
  43. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/squash.py +0 -0
  44. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/classes/updater.py +0 -0
  45. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/release.md +0 -0
  46. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools/requirements.txt +0 -0
  47. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/SOURCES.txt +0 -0
  48. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/dependency_links.txt +0 -0
  49. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/entry_points.txt +0 -0
  50. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/not-zip-safe +0 -0
  51. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/requires.txt +0 -0
  52. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/PKDevTools.egg-info/top_level.txt +0 -0
  53. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/README.md +0 -0
  54. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/setup.cfg +0 -0
  55. {pkdevtools-0.13.20250221.237 → pkdevtools-0.13.20250222.239}/setup.py +0 -0
@@ -35,6 +35,13 @@ except ImportError:
35
35
 
36
36
  INTERMEDIATE_NUM_SECONDS_WARN=30
37
37
 
38
+ def cdping(instance):
39
+ try:
40
+ if instance is not None and hasattr(instance, "send_event"):
41
+ instance.send_event("ping")
42
+ except:
43
+ pass
44
+
38
45
  def cdquit(fn_name):
39
46
  # print to stderr, unbuffered in Python 2.
40
47
  print('{0} took too long. Handle KeyboardInterrupt if you do not want to exit'.format(fn_name), file=sys.stderr)
@@ -65,4 +72,21 @@ def exit_after(s):
65
72
  timer_mid.cancel()
66
73
  return result
67
74
  return inner
75
+ return outer
76
+
77
+ def ping(s,instance):
78
+ '''
79
+ use as decorator to ping process every s seconds
80
+ '''
81
+ def outer(fn):
82
+ def inner(*args, **kwargs):
83
+ timer = threading.Timer(s, cdping, args=[fn.__name__])
84
+ timer.start()
85
+ try:
86
+ result = None
87
+ result = fn(*args, **kwargs)
88
+ finally:
89
+ timer.cancel()
90
+ return result
91
+ return inner
68
92
  return outer
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250222.239'
@@ -28,8 +28,11 @@ from PKDevTools.classes.pubsub.events import globalEventsSignal
28
28
  from PKDevTools.classes.DBManager import DBManager
29
29
  from PKDevTools.classes.Telegram import send_message
30
30
 
31
- class PKNotificationService:
31
+ from PKDevTools.classes.Singleton import SingletonType, SingletonMixin
32
+
33
+ class PKNotificationService(SingletonMixin, metaclass=SingletonType):
32
34
  def __init__(self):
35
+ super(PKNotificationService, self).__init__()
33
36
  # Subscribe to the event
34
37
  globalEventsSignal.connect(self.notify)
35
38
 
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250221.237
3
+ Version: 0.13.20250222.239
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.237.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250222.239.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.237
3
+ Version: 0.13.20250222.239
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.237.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250222.239.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.237'