PKDevTools 0.13.20250213.232__cp310-cp310-macosx_10_9_x86_64.whl → 0.13.20250214.234__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 (50) hide show
  1. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/GmailReader.py +18 -8
  2. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/NSEMarketStatus.py +1 -1
  3. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/UserSubscriptions.py +7 -1
  4. PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/__init__.py +1 -0
  5. {PKDevTools-0.13.20250213.232.dist-info → PKDevTools-0.13.20250214.234.dist-info}/METADATA +2 -2
  6. PKDevTools-0.13.20250214.234.dist-info/RECORD +48 -0
  7. PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/__init__.py +0 -1
  8. PKDevTools-0.13.20250213.232.dist-info/RECORD +0 -48
  9. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/LICENSE.txt +0 -0
  10. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/README.txt +0 -0
  11. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/__init__.py +0 -0
  12. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Archiver.py +0 -0
  13. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/ColorText.py +0 -0
  14. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Committer.py +0 -0
  15. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/CookieHelper.py +0 -0
  16. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/DBManager.py +0 -0
  17. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Environment.py +0 -0
  18. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Fetcher.py +0 -0
  19. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/FunctionTimeouts.py +0 -0
  20. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/MarketHours.py +0 -0
  21. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/MenuOptions.py +0 -0
  22. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/OutputControls.py +0 -0
  23. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKDateUtilities.py +0 -0
  24. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  25. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKJoinableQueue.py +0 -0
  26. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  27. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKPickler.py +0 -0
  28. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/PKTimer.py +0 -0
  29. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Pikey.py +0 -0
  30. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Singleton.py +0 -0
  31. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/SuppressOutput.py +0 -0
  32. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/System.py +0 -0
  33. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Telegram.py +0 -0
  34. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/Utils.py +0 -0
  35. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/WorkflowManager.py +0 -0
  36. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/githubutilities.py +0 -0
  37. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/log.py +0 -0
  38. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/multiprocessing_logging.py +0 -0
  39. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/pubsub/__init__.py +0 -0
  40. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/pubsub/events.py +0 -0
  41. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/pubsub/publisher.py +0 -0
  42. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/pubsub/subscriber.py +0 -0
  43. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/squash.py +0 -0
  44. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/classes/updater.py +0 -0
  45. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/release.md +0 -0
  46. {PKDevTools-0.13.20250213.232.data → PKDevTools-0.13.20250214.234.data}/purelib/PKDevTools/requirements.txt +0 -0
  47. {PKDevTools-0.13.20250213.232.dist-info → PKDevTools-0.13.20250214.234.dist-info}/LICENSE +0 -0
  48. {PKDevTools-0.13.20250213.232.dist-info → PKDevTools-0.13.20250214.234.dist-info}/WHEEL +0 -0
  49. {PKDevTools-0.13.20250213.232.dist-info → PKDevTools-0.13.20250214.234.dist-info}/entry_points.txt +0 -0
  50. {PKDevTools-0.13.20250213.232.dist-info → PKDevTools-0.13.20250214.234.dist-info}/top_level.txt +0 -0
@@ -31,26 +31,30 @@ from PKDevTools.classes.Environment import PKEnvironment
31
31
  class PKGmailReader:
32
32
 
33
33
  @classmethod
34
- def getTransactions(self,user=None, password=None, label=None,senderEmail=None,forNthDayFromToday=0):
34
+ def getTransactions(self,user=None, password=None, label=None,senderEmail=None,forNthDayFromToday=0,utr=None):
35
35
  imap_url = 'imap.gmail.com'
36
36
  try:
37
37
  mail = imaplib.IMAP4_SSL(imap_url)
38
38
  mail.login(user, password)
39
- mail.select(label,readonly=True) # Connect to the labeled inbox.
39
+ ## Make sure emails can be modified (not read-only)
40
+ mail.select(label,readonly=False) # Connect to the labeled inbox.
40
41
  today = datetime.date.today()
41
42
  pastDate = (today - datetime.timedelta(forNthDayFromToday))
42
43
  date = pastDate.strftime("%d-%b-%Y")
43
44
 
44
45
  # result, data = mail.search(None,f'FROM "{senderEmail}"',"UNSEEN")
45
46
  # result, data = mail.uid('search', None, "UNSEEN") # (ALL/UNSEEN)
46
- result, data = mail.uid('search', None, f'FROM "{senderEmail}" (SENTON %s)' % date)
47
+ # Search for UNSEEN emails from the sender on a specific date
48
+ result, data = mail.uid('search', None, f'UNSEEN FROM "{senderEmail}" (SENTON %s)' % date)
47
49
 
48
50
  i = len(data[0].split())
49
51
  transactions = {}
52
+ # if result == "OK":
50
53
  for x in range(i):
51
54
  latest_email_uid = data[0].split()[x]
52
55
  result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')
53
- # result, email_data = conn.store(num,'-FLAGS','\\Seen')
56
+ # if result == "OK":
57
+ # result, email_data = conn.store(num,'+FLAGS','\\Seen')
54
58
  # this might work to set flag to seen, if it doesn't already
55
59
  raw_email = email_data[0][1]
56
60
  raw_email_string = raw_email.decode('utf-8')
@@ -80,6 +84,11 @@ class PKGmailReader:
80
84
  # that identifies each Unified Payments Interface (UPI) transaction.
81
85
  # It's also known as the Unique Transaction Reference (UTR) number.
82
86
  transactionNumber = transactionInfo.split("/")[2]
87
+
88
+ if utr is not None and str(transactionNumber) == str(utr):
89
+ # Mark email as read if UTR matches
90
+ mail.uid('store', latest_email_uid, '+FLAGS', '\\Seen')
91
+
83
92
  senderName = transactionInfo.split("/")[3]
84
93
  senderBank = transactionInfo.split("/")[-1]
85
94
  transactions[transactionNumber] = {"UTR":transactionNumber,"dateAndTime":dateAndTime,"amountPaid":amountCredited,
@@ -100,22 +109,23 @@ class PKGmailReader:
100
109
  return transactions
101
110
 
102
111
  @classmethod
103
- def getTransactionsDict(self,forNthDayFromToday=0):
112
+ def getTransactionsDict(self,forNthDayFromToday=0,utr=None):
104
113
  secrets = PKEnvironment().allSecrets
105
114
  trans = PKGmailReader.getTransactions(secrets["MCU"],
106
115
  secrets["MCAP"],
107
116
  secrets["MCL"],
108
117
  secrets["MS"],
109
- forNthDayFromToday=forNthDayFromToday)
118
+ forNthDayFromToday=forNthDayFromToday,
119
+ utr=utr)
110
120
  return trans
111
121
 
112
122
  @classmethod
113
123
  def matchUTR(self,utr=None):
114
124
  if utr is not None and len(str(utr)) > 1:
115
125
  foundTransaction = None
116
- for days in [0,1]:
126
+ for days in [0,1,2,3]:
117
127
  try:
118
- transactions = PKGmailReader.getTransactionsDict(forNthDayFromToday=days)
128
+ transactions = PKGmailReader.getTransactionsDict(forNthDayFromToday=days,utr=utr)
119
129
  if str(utr) in transactions.keys():
120
130
  foundTransaction = transactions.get(str(utr))
121
131
  break
@@ -86,7 +86,7 @@ class NSEMarketStatus(SingletonMixin, metaclass=SingletonType):
86
86
  return shouldFetch, next_bell, filePath, modifiedDateTime
87
87
 
88
88
  def getNextBell(self):
89
- if not 'pytest' in sys.modules:
89
+ if 'unittest' in sys.modules or any("pytest" in arg for arg in sys.argv):
90
90
  return '2025-02-14T09:15:00+05:30'
91
91
 
92
92
  next_bell = self.marketStatus.get("next_bell")
@@ -67,12 +67,18 @@ class PKUserSusbscriptions:
67
67
  pass
68
68
 
69
69
  @classmethod
70
- def updateSubscription(self,userID,subscription:PKSubscriptionModel=PKSubscriptionModel.No_Subscription):
70
+ def updateSubscription(self,userID,subscription:PKSubscriptionModel=PKSubscriptionModel.No_Subscription,subValue=0):
71
71
  dbManager = DBManager()
72
72
  user = None
73
73
  dbUsers = dbManager.getUserByID(userID=userID)
74
74
  if len(dbUsers) > 0:
75
75
  user = dbUsers[0]
76
+ if subValue > 0 and (subscription.value != subValue or subscription.value < PKSubscriptionModel.All_Scans_1_Day.value):
77
+ # Update the balance instead of the standard subscription
78
+ toppedUp = dbManager.topUpAlertSubscriptionBalance(userID=userID,topup=subValue)
79
+ if not toppedUp:
80
+ print(f"Could not top-up alert balance {subValue} for user:{userID}")
81
+ return
76
82
  user.subscriptionmodel = str(subscription.value)
77
83
  else:
78
84
  user = PKUser.userFromDBRecord([userID,"","","","","","",str(subscription.value),0])
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250214.234'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PKDevTools
3
- Version: 0.13.20250213.232
3
+ Version: 0.13.20250214.234
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.20250213.232.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250214.234.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.20250214.234.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/requirements.txt,sha256=9jmqyzA5fSuYakmU3g3jNrUvSc7sM0tTKt4z9yVGNTw,369
6
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/DBManager.py,sha256=aAkRZWvU6q8ngLuffy7jY4s9XCvpipjziH2qy6iiz3Y,25301
11
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/GmailReader.py,sha256=brgcUCfk-8DApUWuqgqIVp5sC5G_pq7iONEPV3kYbCw,7426
15
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=fpWLKod5HxgJIilu1G5a7FcSwmuGq1DmwBx2k-MDHs0,5552
18
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=P52b-a-UzFWKpQsT4zQFyfKcXhAZS6uyQ2yeIUqHWeQ,11067
31
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/__init__.py,sha256=j_LpS1WuZSxHWhLlpkBTMGWisE_BZAPAjGtiZ3ZrH-Y,28
34
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/pubsub/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
40
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/pubsub/events.py,sha256=hjkGmZF51WmR9dQ81vZPAoiVuCKGwNABvYbcFKB3FKA,1236
41
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/pubsub/publisher.py,sha256=08wlR55GRCtLAt4uSuz78XqS6_2O70FGTFJmnvOFnko,1513
42
+ PKDevTools-0.13.20250214.234.data/purelib/PKDevTools/classes/pubsub/subscriber.py,sha256=ucDZbJal3iUzEfiA6UlcZIOKVtN5YvYRISiqWJ4753w,2407
43
+ PKDevTools-0.13.20250214.234.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
44
+ PKDevTools-0.13.20250214.234.dist-info/METADATA,sha256=nYnXSqJVUw_9LjjhHynCZQrT4_2X3UTBLyh5LEOt988,5776
45
+ PKDevTools-0.13.20250214.234.dist-info/WHEEL,sha256=qW9xlwewyQBufEUzmM-8CIjZ7fR659LOSrcgouui4Z4,111
46
+ PKDevTools-0.13.20250214.234.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
47
+ PKDevTools-0.13.20250214.234.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
48
+ PKDevTools-0.13.20250214.234.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.13.20250213.232'
@@ -1,48 +0,0 @@
1
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/requirements.txt,sha256=9jmqyzA5fSuYakmU3g3jNrUvSc7sM0tTKt4z9yVGNTw,369
6
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/DBManager.py,sha256=aAkRZWvU6q8ngLuffy7jY4s9XCvpipjziH2qy6iiz3Y,25301
11
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/GmailReader.py,sha256=y9t3wwRlY37N9sT6DYS4A_cwmZ10ne0gx8BGnzcpQ04,6852
15
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=2d_kcYTlnKesIPxEyiIcvT_WZnd8NL0v541IeFLsV4I,5510
18
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=T1h9_utgQJMD9FvpxKKDV4aEHtMaNjQCvl5pUo7Pogo,10607
31
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/__init__.py,sha256=LxqcdQI_-SJEuwY-dLpbynzv_1y1lIeR2d6Ksrz4Zxg,28
34
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/pubsub/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
40
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/pubsub/events.py,sha256=hjkGmZF51WmR9dQ81vZPAoiVuCKGwNABvYbcFKB3FKA,1236
41
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/pubsub/publisher.py,sha256=08wlR55GRCtLAt4uSuz78XqS6_2O70FGTFJmnvOFnko,1513
42
- PKDevTools-0.13.20250213.232.data/purelib/PKDevTools/classes/pubsub/subscriber.py,sha256=ucDZbJal3iUzEfiA6UlcZIOKVtN5YvYRISiqWJ4753w,2407
43
- PKDevTools-0.13.20250213.232.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
44
- PKDevTools-0.13.20250213.232.dist-info/METADATA,sha256=G8v-dIGSgX6-l7A7F3ObxrHdvBF7TwootZ9mSQbcYuU,5776
45
- PKDevTools-0.13.20250213.232.dist-info/WHEEL,sha256=qW9xlwewyQBufEUzmM-8CIjZ7fR659LOSrcgouui4Z4,111
46
- PKDevTools-0.13.20250213.232.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
47
- PKDevTools-0.13.20250213.232.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
48
- PKDevTools-0.13.20250213.232.dist-info/RECORD,,