PKDevTools 0.13.20250218.236__cp310-cp310-macosx_10_9_x86_64.whl → 0.13.20250221.238__cp310-cp310-macosx_10_9_x86_64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (51) hide show
  1. PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/__init__.py +1 -0
  2. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/pubsub/publisher.py +5 -0
  3. PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/pubsub/subscriber.py +87 -0
  4. {PKDevTools-0.13.20250218.236.dist-info → PKDevTools-0.13.20250221.238.dist-info}/METADATA +2 -2
  5. PKDevTools-0.13.20250221.238.dist-info/RECORD +48 -0
  6. PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/__init__.py +0 -1
  7. PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/pubsub/subscriber.py +0 -54
  8. PKDevTools-0.13.20250218.236.dist-info/RECORD +0 -48
  9. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/LICENSE.txt +0 -0
  10. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/README.txt +0 -0
  11. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/__init__.py +0 -0
  12. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Archiver.py +0 -0
  13. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/ColorText.py +0 -0
  14. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Committer.py +0 -0
  15. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/CookieHelper.py +0 -0
  16. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/DBManager.py +0 -0
  17. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Environment.py +0 -0
  18. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Fetcher.py +0 -0
  19. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/FunctionTimeouts.py +0 -0
  20. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/GmailReader.py +0 -0
  21. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/MarketHours.py +0 -0
  22. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/MenuOptions.py +0 -0
  23. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/NSEMarketStatus.py +0 -0
  24. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/OutputControls.py +0 -0
  25. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKDateUtilities.py +0 -0
  26. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  27. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKJoinableQueue.py +0 -0
  28. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  29. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKPickler.py +0 -0
  30. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/PKTimer.py +0 -0
  31. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Pikey.py +0 -0
  32. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Singleton.py +0 -0
  33. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/SuppressOutput.py +0 -0
  34. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/System.py +0 -0
  35. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Telegram.py +0 -0
  36. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/UserSubscriptions.py +0 -0
  37. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/Utils.py +0 -0
  38. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/WorkflowManager.py +0 -0
  39. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/githubutilities.py +0 -0
  40. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/log.py +0 -0
  41. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/multiprocessing_logging.py +0 -0
  42. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/pubsub/__init__.py +0 -0
  43. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/pubsub/events.py +0 -0
  44. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/squash.py +0 -0
  45. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/classes/updater.py +0 -0
  46. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/release.md +0 -0
  47. {PKDevTools-0.13.20250218.236.data → PKDevTools-0.13.20250221.238.data}/purelib/PKDevTools/requirements.txt +0 -0
  48. {PKDevTools-0.13.20250218.236.dist-info → PKDevTools-0.13.20250221.238.dist-info}/LICENSE +0 -0
  49. {PKDevTools-0.13.20250218.236.dist-info → PKDevTools-0.13.20250221.238.dist-info}/WHEEL +0 -0
  50. {PKDevTools-0.13.20250218.236.dist-info → PKDevTools-0.13.20250221.238.dist-info}/entry_points.txt +0 -0
  51. {PKDevTools-0.13.20250218.236.dist-info → PKDevTools-0.13.20250221.238.dist-info}/top_level.txt +0 -0
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250221.238'
@@ -29,3 +29,8 @@ class PKUserService:
29
29
  print(f"[UserService] Notifying for scanner: {scannerID} with notification: {notification}")
30
30
  # Publish the event
31
31
  globalEventsSignal.send(self, scannerID=scannerID,notification=notification)
32
+
33
+ def send_event(self, event_name, event_params=None):
34
+ """Send a custom event to Google Analytics."""
35
+ # Publish the event
36
+ globalEventsSignal.send(self, eventType="ga",event_name=event_name,event_params=event_params)
@@ -0,0 +1,87 @@
1
+ """
2
+ The MIT License (MIT)
3
+
4
+ Copyright (c) 2023 pkjmesra
5
+
6
+ Permission is hereby granted, free of charge, to any person obtaining a copy
7
+ of this software and associated documentation files (the "Software"), to deal
8
+ in the Software without restriction, including without limitation the rights
9
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
+ copies of the Software, and to permit persons to whom the Software is
11
+ furnished to do so, subject to the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be included in all
14
+ copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
+ SOFTWARE.
23
+
24
+ """
25
+ import uuid
26
+ import requests
27
+ from PKDevTools.classes.pubsub.events import globalEventsSignal
28
+ from PKDevTools.classes.DBManager import DBManager
29
+ from PKDevTools.classes.Telegram import send_message
30
+
31
+ from PKDevTools.classes.Singleton import SingletonType, SingletonMixin
32
+
33
+ class PKNotificationService(SingletonMixin, metaclass=SingletonType):
34
+ def __init__(self):
35
+ super(PKNotificationService, self).__init__()
36
+ # Subscribe to the event
37
+ globalEventsSignal.connect(self.notify)
38
+
39
+ def notify(self, sender, **kwargs):
40
+ if 'eventType' in kwargs:
41
+ if kwargs['eventType'] == "ga":
42
+ # Capture GA event
43
+ event_name = kwargs['event_name']
44
+ event_params = kwargs['event_params']
45
+ if event_params is None:
46
+ event_params = {}
47
+
48
+ payload = {
49
+ "client_id": str(uuid.uuid4()), # Unique client ID for GA
50
+ "events": [{
51
+ "name": event_name,
52
+ "params": event_params
53
+ }]
54
+ }
55
+ # Google Analytics API Details
56
+ MEASUREMENT_ID = "G-T0TLV56Y0C"
57
+ API_SECRET = "2dD6iqHQQl2EzhCvHXA7EQ"
58
+ GA_ENDPOINT = f"https://www.google-analytics.com/mp/collect?measurement_id={MEASUREMENT_ID}&api_secret={API_SECRET}"
59
+
60
+ try:
61
+ response = requests.post(GA_ENDPOINT, json=payload)
62
+ # if response.status_code == 204:
63
+ # print(f"Event '{event_name}' sent successfully")
64
+ # else:
65
+ # print(f"Error sending event: {response.text}")
66
+ except Exception as e:
67
+ # print(f"Failed to send event: {e}")
68
+ pass
69
+ else:
70
+ notificationText = kwargs['notification'] if 'notification' in kwargs else ""
71
+ scannerID = kwargs['scannerID'] if 'scannerID' in kwargs else ""
72
+ print(f"[Notification] Notifying for {scannerID} with data: {notificationText}")
73
+ dbManager = DBManager()
74
+ try:
75
+ if len(str(scannerID)) > 0:
76
+ userIDs = dbManager.usersForScannerJobId(scannerJobId=scannerID)
77
+ if len(userIDs) > 0:
78
+ for userID in userIDs:
79
+ send_message(message=notificationText,userID=userID,parse_type="HTML",)
80
+ else:
81
+ print(f"Error encountered:\n0 length scannerID passed for {notificationText}")
82
+ except Exception as e:
83
+ print(f"Error encountered:\n{e}")
84
+ pass
85
+
86
+ # Ensure the subscriber is instantiated so it listens to events
87
+ notification_service = PKNotificationService()
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PKDevTools
3
- Version: 0.13.20250218.236
3
+ Version: 0.13.20250221.238
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.20250218.236.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250221.238.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -0,0 +1,48 @@
1
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/requirements.txt,sha256=9jmqyzA5fSuYakmU3g3jNrUvSc7sM0tTKt4z9yVGNTw,369
6
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/DBManager.py,sha256=RQCDrZE0hfWz_mtnunqqntpzNAkqxvpk_5G9qPidqJ0,30642
11
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/GmailReader.py,sha256=brgcUCfk-8DApUWuqgqIVp5sC5G_pq7iONEPV3kYbCw,7426
15
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=fpWLKod5HxgJIilu1G5a7FcSwmuGq1DmwBx2k-MDHs0,5552
18
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=P52b-a-UzFWKpQsT4zQFyfKcXhAZS6uyQ2yeIUqHWeQ,11067
31
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/__init__.py,sha256=cK92vyOT1Yoh3Kh8tI7MwV77t7Ti3ypKxB-GcQlJ5Z0,28
34
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/pubsub/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
40
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/pubsub/events.py,sha256=hjkGmZF51WmR9dQ81vZPAoiVuCKGwNABvYbcFKB3FKA,1236
41
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/pubsub/publisher.py,sha256=h7LQIrKDaMxSgJUSmrMXVuWY6QUGDgVKfP-Y2aRMNQA,1756
42
+ PKDevTools-0.13.20250221.238.data/purelib/PKDevTools/classes/pubsub/subscriber.py,sha256=5EViaZcYlqT3-LJjL0sUeKF7XWrqI0qt0Q2ehIxXWJE,3971
43
+ PKDevTools-0.13.20250221.238.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
44
+ PKDevTools-0.13.20250221.238.dist-info/METADATA,sha256=9EDgtuKftcSBJPVKYPKBmTHaDefc_qinLPOxqJpfIfU,5776
45
+ PKDevTools-0.13.20250221.238.dist-info/WHEEL,sha256=qW9xlwewyQBufEUzmM-8CIjZ7fR659LOSrcgouui4Z4,111
46
+ PKDevTools-0.13.20250221.238.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
47
+ PKDevTools-0.13.20250221.238.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
48
+ PKDevTools-0.13.20250221.238.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.13.20250218.236'
@@ -1,54 +0,0 @@
1
- """
2
- The MIT License (MIT)
3
-
4
- Copyright (c) 2023 pkjmesra
5
-
6
- Permission is hereby granted, free of charge, to any person obtaining a copy
7
- of this software and associated documentation files (the "Software"), to deal
8
- in the Software without restriction, including without limitation the rights
9
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10
- copies of the Software, and to permit persons to whom the Software is
11
- furnished to do so, subject to the following conditions:
12
-
13
- The above copyright notice and this permission notice shall be included in all
14
- copies or substantial portions of the Software.
15
-
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
22
- SOFTWARE.
23
-
24
- """
25
- from PKDevTools.classes.pubsub.events import globalEventsSignal
26
- from PKDevTools.classes.DBManager import DBManager
27
- from PKDevTools.classes.Telegram import send_message
28
-
29
- class PKNotificationService:
30
- def __init__(self):
31
- # Subscribe to the event
32
- globalEventsSignal.connect(self.notify)
33
-
34
- def notify(self, sender, **kwargs):
35
- notificationText = kwargs['notification'] if 'notification' in kwargs else ""
36
- scannerID = kwargs['scannerID'] if 'scannerID' in kwargs else ""
37
- print(f"[Notification] Notifying for {scannerID} with data: {notificationText}")
38
- dbManager = DBManager()
39
- try:
40
- if len(str(scannerID)) > 0:
41
- userIDs = dbManager.usersForScannerJobId(scannerJobId=scannerID)
42
- if len(userIDs) > 0:
43
- for userID in userIDs:
44
- send_message(message=notificationText,userID=userID,parse_type="HTML",)
45
- else:
46
- print(f"Error encountered:\n0 length scannerID passed for {notificationText}")
47
- except Exception as e:
48
- print(f"Error encountered:\n{e}")
49
- pass
50
-
51
-
52
-
53
- # Ensure the subscriber is instantiated so it listens to events
54
- notification_service = PKNotificationService()
@@ -1,48 +0,0 @@
1
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/requirements.txt,sha256=9jmqyzA5fSuYakmU3g3jNrUvSc7sM0tTKt4z9yVGNTw,369
6
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/DBManager.py,sha256=RQCDrZE0hfWz_mtnunqqntpzNAkqxvpk_5G9qPidqJ0,30642
11
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/GmailReader.py,sha256=brgcUCfk-8DApUWuqgqIVp5sC5G_pq7iONEPV3kYbCw,7426
15
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=fpWLKod5HxgJIilu1G5a7FcSwmuGq1DmwBx2k-MDHs0,5552
18
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=P52b-a-UzFWKpQsT4zQFyfKcXhAZS6uyQ2yeIUqHWeQ,11067
31
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/__init__.py,sha256=DpzW3Iz2oAF9dbp-LZmWra4eBwu2dxX-4AgKLGWV9zE,28
34
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/pubsub/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
40
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/pubsub/events.py,sha256=hjkGmZF51WmR9dQ81vZPAoiVuCKGwNABvYbcFKB3FKA,1236
41
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/pubsub/publisher.py,sha256=08wlR55GRCtLAt4uSuz78XqS6_2O70FGTFJmnvOFnko,1513
42
- PKDevTools-0.13.20250218.236.data/purelib/PKDevTools/classes/pubsub/subscriber.py,sha256=ucDZbJal3iUzEfiA6UlcZIOKVtN5YvYRISiqWJ4753w,2407
43
- PKDevTools-0.13.20250218.236.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
44
- PKDevTools-0.13.20250218.236.dist-info/METADATA,sha256=uWXCApxFM7myB-TGl1Usyn8ZKjZCHMAnfY8wXX1SE24,5776
45
- PKDevTools-0.13.20250218.236.dist-info/WHEEL,sha256=qW9xlwewyQBufEUzmM-8CIjZ7fR659LOSrcgouui4Z4,111
46
- PKDevTools-0.13.20250218.236.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
47
- PKDevTools-0.13.20250218.236.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
48
- PKDevTools-0.13.20250218.236.dist-info/RECORD,,