PKDevTools 0.13.20250211.223__cp310-cp310-macosx_13_0_arm64.whl → 0.13.20250212.225__cp310-cp310-macosx_13_0_arm64.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/DBManager.py +29 -7
  2. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/UserSubscriptions.py +26 -26
  3. PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/__init__.py +1 -0
  4. {PKDevTools-0.13.20250211.223.dist-info → PKDevTools-0.13.20250212.225.dist-info}/METADATA +2 -2
  5. PKDevTools-0.13.20250212.225.dist-info/RECORD +44 -0
  6. PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/__init__.py +0 -1
  7. PKDevTools-0.13.20250211.223.dist-info/RECORD +0 -44
  8. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/LICENSE.txt +0 -0
  9. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/README.txt +0 -0
  10. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/__init__.py +0 -0
  11. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Archiver.py +0 -0
  12. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/ColorText.py +0 -0
  13. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Committer.py +0 -0
  14. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/CookieHelper.py +0 -0
  15. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Environment.py +0 -0
  16. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Fetcher.py +0 -0
  17. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/FunctionTimeouts.py +0 -0
  18. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/GmailReader.py +0 -0
  19. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/MarketHours.py +0 -0
  20. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/MenuOptions.py +0 -0
  21. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/NSEMarketStatus.py +0 -0
  22. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/OutputControls.py +0 -0
  23. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKDateUtilities.py +0 -0
  24. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  25. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKJoinableQueue.py +0 -0
  26. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  27. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKPickler.py +0 -0
  28. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/PKTimer.py +0 -0
  29. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Pikey.py +0 -0
  30. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Singleton.py +0 -0
  31. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/SuppressOutput.py +0 -0
  32. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/System.py +0 -0
  33. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Telegram.py +0 -0
  34. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/Utils.py +0 -0
  35. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/WorkflowManager.py +0 -0
  36. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/githubutilities.py +0 -0
  37. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/log.py +0 -0
  38. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/multiprocessing_logging.py +0 -0
  39. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/squash.py +0 -0
  40. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/classes/updater.py +0 -0
  41. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/release.md +0 -0
  42. {PKDevTools-0.13.20250211.223.data → PKDevTools-0.13.20250212.225.data}/purelib/PKDevTools/requirements.txt +0 -0
  43. {PKDevTools-0.13.20250211.223.dist-info → PKDevTools-0.13.20250212.225.dist-info}/LICENSE +0 -0
  44. {PKDevTools-0.13.20250211.223.dist-info → PKDevTools-0.13.20250212.225.dist-info}/WHEEL +0 -0
  45. {PKDevTools-0.13.20250211.223.dist-info → PKDevTools-0.13.20250212.225.dist-info}/entry_points.txt +0 -0
  46. {PKDevTools-0.13.20250211.223.dist-info → PKDevTools-0.13.20250212.225.dist-info}/top_level.txt +0 -0
@@ -86,9 +86,10 @@ class PKUser:
86
86
  user.lastotp= row[8]
87
87
  return user
88
88
 
89
- def userFromAlertsRecord(row):
90
- user = PKUser()
91
- user.userid= row[0]
89
+ def userFromAlertsRecord(row,user=None):
90
+ if user is None:
91
+ user = PKUser()
92
+ user.userid= row[0]
92
93
  user.balance= row[1]
93
94
  user.scannerJobs = []
94
95
  for job in row[2].split(";"):
@@ -172,6 +173,7 @@ class DBManager:
172
173
  def getOTP(self,userID,username=None,name=None,retry=False,validityIntervalInSeconds=86400):
173
174
  try:
174
175
  otpValue = 0
176
+ user = None
175
177
  dbUsers = self.getUserByID(int(userID))
176
178
  if len(dbUsers) > 0:
177
179
  dbUser = dbUsers[0]
@@ -211,7 +213,8 @@ class DBManager:
211
213
  print(f"Could not get/update (getOTP) OTP for user: {user.userid}\n{e}")
212
214
  default_logger().debug(e, exc_info=True)
213
215
  pass
214
- return otpValue, subscriptionModel, subscriptionValidity
216
+ alertUser = self.alertsForUser(userID,user=user)
217
+ return otpValue, subscriptionModel, subscriptionValidity, alertUser
215
218
 
216
219
  def getUserByID(self,userID):
217
220
  try:
@@ -333,6 +336,9 @@ class DBManager:
333
336
  self.conn = None
334
337
 
335
338
  def getUsers(self):
339
+ """
340
+ Returns all active PKUser instances in the database or an empty list if none is found.
341
+ """
336
342
  try:
337
343
  users = []
338
344
  cursor = self.connection() #.cursor()
@@ -353,13 +359,17 @@ class DBManager:
353
359
  self.conn = None
354
360
  return users
355
361
 
356
- def alertsForUser(self,userID:int):
362
+ def alertsForUser(self,userID:int,user:PKUser=None):
363
+ """
364
+ Returns a PKUser instance with user's updated balance for daily alerts
365
+ and relevant subscribed scannerJobs for a given userID or None.
366
+ """
357
367
  try:
358
368
  users = []
359
369
  cursor = self.connection()
360
- records = cursor.execute(f"SELECT * FROM alertsubscriptions where userId={self.sanitisedIntValue(userID)}")
370
+ records = cursor.execute(f"SELECT * FROM alertsubscriptions where userId={self.sanitisedIntValue(userID if user is None else user.userid)}")
361
371
  for row in records.rows:
362
- users.append(PKUser.userFromAlertsRecord(row))
372
+ users.append(PKUser.userFromAlertsRecord(row,user=user))
363
373
  # cursor.close()
364
374
  if len(records.columns) > 0 and len(records.rows) <= 0:
365
375
  default_logger().debug(f"Users not found!")
@@ -374,6 +384,10 @@ class DBManager:
374
384
  return users[0] if len(users) > 0 else None
375
385
 
376
386
  def scannerJobsWithActiveUsers(self):
387
+ """
388
+ Returns all such PKScannerJob instances with (scannerIDs and subscribed userIds)
389
+ where there's at least one subscribed user.
390
+ """
377
391
  try:
378
392
  scanners = []
379
393
  cursor = self.connection()
@@ -393,6 +407,10 @@ class DBManager:
393
407
  return scanners
394
408
 
395
409
  def usersForScannerJobId(self,scannerJobId:str):
410
+ """
411
+ Returns userIds that are subscribed to a given scannerJobId or an
412
+ empty list if that scannerJobId is not found.
413
+ """
396
414
  try:
397
415
  scanners = []
398
416
  cursor = self.connection()
@@ -412,6 +430,10 @@ class DBManager:
412
430
  return scanners[0].userIds if len(scanners) > 0 else []
413
431
 
414
432
  def updateAlertSubscriptionModel(self,userID,charge:float,scanId:str):
433
+ """
434
+ Updates alertsubscriptions with balance update as well as scanner jobs
435
+ for a given user in the same table
436
+ """
415
437
  try:
416
438
  success = False
417
439
  result = self.connection().execute("""
@@ -29,13 +29,13 @@ from PKDevTools.classes.PKDateUtilities import PKDateUtilities
29
29
 
30
30
  class PKSubscriptionModel(Enum):
31
31
  No_Subscription = 0
32
- One_Regular_Scan_Unlimited_Alerts_One_Day = 31
33
- One_Piped_Scan_Unlimited_Alerts_One_Day = 40
34
- All_Scans_One_Day = 130
35
- All_Scans_One_Week = 600
36
- All_Scans_One_Month = 2000
37
- All_Scans_Six_Months = 11000
38
- All_Scans_One_Year = 22000
32
+ One_Reg_Scan_Alerts_1_Day = 31
33
+ One_Piped_Scan_Alerts_1_Day = 40
34
+ All_Scans_1_Day = 130
35
+ All_Scans_1_Week = 600
36
+ All_Scans_1_Month = 2000
37
+ All_Scans_6_Months = 11000
38
+ All_Scans_1_Year = 22000
39
39
 
40
40
  class PKUserSusbscriptions:
41
41
 
@@ -126,15 +126,15 @@ class PKUserSusbscriptions:
126
126
  # the subscription validity has not been updated so far
127
127
  # Update validity of subscription
128
128
  n = 1
129
- if user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Day.value):
129
+ if user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Day.value):
130
130
  n = 1
131
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Week.value):
131
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Week.value):
132
132
  n = 6
133
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Month.value):
133
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Month.value):
134
134
  n = 29
135
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_Six_Months.value):
135
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_6_Months.value):
136
136
  n = 179
137
- elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_One_Year.value):
137
+ elif user.subscriptionmodel == str(PKSubscriptionModel.All_Scans_1_Year.value):
138
138
  n = 364
139
139
  user.otpvaliduntil = PKDateUtilities.YmdStringFromDate(PKDateUtilities.currentDateTime(),n=n)
140
140
  created, fileKey = dbManager.refreshOTPForUser(user)
@@ -170,24 +170,24 @@ class PKUserSusbscriptions:
170
170
  def subscriptionKeyValuePairs(self):
171
171
  return {
172
172
  f"{PKSubscriptionModel.No_Subscription.name}":f"{str(PKSubscriptionModel.No_Subscription.value)}",
173
- f"{PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.name}":f"{str(PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.value)}",
174
- f"{PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.name}":f"{str(PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.value)}",
175
- f"{PKSubscriptionModel.All_Scans_One_Day.name}":f"{str(PKSubscriptionModel.All_Scans_One_Day.value)}",
176
- f"{PKSubscriptionModel.All_Scans_One_Week.name}":f"{str(PKSubscriptionModel.All_Scans_One_Week.value)}",
177
- f"{PKSubscriptionModel.All_Scans_One_Month.name}":f"{str(PKSubscriptionModel.All_Scans_One_Month.value)}",
178
- f"{PKSubscriptionModel.All_Scans_Six_Months.name}":f"{str(PKSubscriptionModel.All_Scans_Six_Months.value)}",
179
- f"{PKSubscriptionModel.All_Scans_One_Year.name}":f"{str(PKSubscriptionModel.All_Scans_One_Year.value)}"
173
+ f"{PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.name}":f"{str(PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.value)}",
174
+ f"{PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.name}":f"{str(PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.value)}",
175
+ f"{PKSubscriptionModel.All_Scans_1_Day.name}":f"{str(PKSubscriptionModel.All_Scans_1_Day.value)}",
176
+ f"{PKSubscriptionModel.All_Scans_1_Week.name}":f"{str(PKSubscriptionModel.All_Scans_1_Week.value)}",
177
+ f"{PKSubscriptionModel.All_Scans_1_Month.name}":f"{str(PKSubscriptionModel.All_Scans_1_Month.value)}",
178
+ f"{PKSubscriptionModel.All_Scans_6_Months.name}":f"{str(PKSubscriptionModel.All_Scans_6_Months.value)}",
179
+ f"{PKSubscriptionModel.All_Scans_1_Year.name}":f"{str(PKSubscriptionModel.All_Scans_1_Year.value)}"
180
180
  }
181
181
 
182
182
  @property
183
183
  def subscriptionValueKeyPairs(self):
184
184
  return {
185
185
  f"{PKSubscriptionModel.No_Subscription.value}":f"{str(PKSubscriptionModel.No_Subscription.name)}",
186
- f"{PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.value}":f"{str(PKSubscriptionModel.One_Regular_Scan_Unlimited_Alerts_One_Day.name)}",
187
- f"{PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.value}":f"{str(PKSubscriptionModel.One_Piped_Scan_Unlimited_Alerts_One_Day.name)}",
188
- f"{PKSubscriptionModel.All_Scans_One_Day.value}":f"{str(PKSubscriptionModel.All_Scans_One_Day.name)}",
189
- f"{PKSubscriptionModel.All_Scans_One_Week.value}":f"{str(PKSubscriptionModel.All_Scans_One_Week.name)}",
190
- f"{PKSubscriptionModel.All_Scans_One_Month.value}":f"{str(PKSubscriptionModel.All_Scans_One_Month.name)}",
191
- f"{PKSubscriptionModel.All_Scans_Six_Months.value}":f"{str(PKSubscriptionModel.All_Scans_Six_Months.name)}",
192
- f"{PKSubscriptionModel.All_Scans_One_Year.value}":f"{str(PKSubscriptionModel.All_Scans_One_Year.name)}"
186
+ f"{PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.value}":f"{str(PKSubscriptionModel.One_Reg_Scan_Alerts_1_Day.name)}",
187
+ f"{PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.value}":f"{str(PKSubscriptionModel.One_Piped_Scan_Alerts_1_Day.name)}",
188
+ f"{PKSubscriptionModel.All_Scans_1_Day.value}":f"{str(PKSubscriptionModel.All_Scans_1_Day.name)}",
189
+ f"{PKSubscriptionModel.All_Scans_1_Week.value}":f"{str(PKSubscriptionModel.All_Scans_1_Week.name)}",
190
+ f"{PKSubscriptionModel.All_Scans_1_Month.value}":f"{str(PKSubscriptionModel.All_Scans_1_Month.name)}",
191
+ f"{PKSubscriptionModel.All_Scans_6_Months.value}":f"{str(PKSubscriptionModel.All_Scans_6_Months.name)}",
192
+ f"{PKSubscriptionModel.All_Scans_1_Year.value}":f"{str(PKSubscriptionModel.All_Scans_1_Year.name)}"
193
193
  }
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250212.225'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PKDevTools
3
- Version: 0.13.20250211.223
3
+ Version: 0.13.20250212.225
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.20250211.223.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250212.225.zip
7
7
  Author: pkjmesra
8
8
  Author-email: pkjmesra@gmail.com
9
9
  License: OSI Approved (MIT)
@@ -0,0 +1,44 @@
1
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
6
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/DBManager.py,sha256=50znXwDpKsmzaHFRkgiKrbAQWfLGeoq-BbQUDp-w4t8,24683
11
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/GmailReader.py,sha256=y9t3wwRlY37N9sT6DYS4A_cwmZ10ne0gx8BGnzcpQ04,6852
15
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
18
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=T1h9_utgQJMD9FvpxKKDV4aEHtMaNjQCvl5pUo7Pogo,10607
31
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/__init__.py,sha256=_bf6Nrili7HQ58pm31FmPx2WrxxofHv0EiUDWKO8zhQ,28
34
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
+ PKDevTools-0.13.20250212.225.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
+ PKDevTools-0.13.20250212.225.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
40
+ PKDevTools-0.13.20250212.225.dist-info/METADATA,sha256=Jbs0haTWiOmqbZbtUjR2sFyk2eeF9aFNFouyp5qMWMg,5753
41
+ PKDevTools-0.13.20250212.225.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
42
+ PKDevTools-0.13.20250212.225.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
43
+ PKDevTools-0.13.20250212.225.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
44
+ PKDevTools-0.13.20250212.225.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.13.20250211.223'
@@ -1,44 +0,0 @@
1
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
6
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/DBManager.py,sha256=G-5ErANdlYG6v7wTa_2Kj27dmlM_5mcYdGUiGkTfbsM,23728
11
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/GmailReader.py,sha256=y9t3wwRlY37N9sT6DYS4A_cwmZ10ne0gx8BGnzcpQ04,6852
15
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
18
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
30
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=w67hi7ANkZvXliywIGT3TbbBYxxr4xw4bTf95xMfoZI,10807
31
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/__init__.py,sha256=MMN-e0dgrdznzr-jTRiW4mqqvBIQmo_Rmv2hy-ETZi0,28
34
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
- PKDevTools-0.13.20250211.223.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
- PKDevTools-0.13.20250211.223.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
40
- PKDevTools-0.13.20250211.223.dist-info/METADATA,sha256=k1GMfNIgJPZZ5kbeAQXVUOtSP1ItzduM28JqHhIct5c,5753
41
- PKDevTools-0.13.20250211.223.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
42
- PKDevTools-0.13.20250211.223.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
43
- PKDevTools-0.13.20250211.223.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
44
- PKDevTools-0.13.20250211.223.dist-info/RECORD,,