PKDevTools 0.13.20250208.215__cp312-cp312-manylinux2014_x86_64.whl → 0.13.20250208.217__cp312-cp312-manylinux2014_x86_64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/DBManager.py +87 -0
  2. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Telegram.py +13 -5
  3. PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/__init__.py +1 -0
  4. {PKDevTools-0.13.20250208.215.dist-info → PKDevTools-0.13.20250208.217.dist-info}/METADATA +2 -2
  5. PKDevTools-0.13.20250208.217.dist-info/RECORD +44 -0
  6. PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/__init__.py +0 -1
  7. PKDevTools-0.13.20250208.215.dist-info/RECORD +0 -44
  8. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/LICENSE.txt +0 -0
  9. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/README.txt +0 -0
  10. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/__init__.py +0 -0
  11. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Archiver.py +0 -0
  12. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/ColorText.py +0 -0
  13. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Committer.py +0 -0
  14. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/CookieHelper.py +0 -0
  15. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Environment.py +0 -0
  16. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Fetcher.py +0 -0
  17. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/FunctionTimeouts.py +0 -0
  18. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/GmailReader.py +0 -0
  19. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/MarketHours.py +0 -0
  20. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/MenuOptions.py +0 -0
  21. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/NSEMarketStatus.py +0 -0
  22. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/OutputControls.py +0 -0
  23. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKDateUtilities.py +0 -0
  24. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
  25. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKJoinableQueue.py +0 -0
  26. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
  27. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKPickler.py +0 -0
  28. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/PKTimer.py +0 -0
  29. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Pikey.py +0 -0
  30. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Singleton.py +0 -0
  31. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/SuppressOutput.py +0 -0
  32. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/System.py +0 -0
  33. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/UserSubscriptions.py +0 -0
  34. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/Utils.py +0 -0
  35. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/WorkflowManager.py +0 -0
  36. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/githubutilities.py +0 -0
  37. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/log.py +0 -0
  38. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/multiprocessing_logging.py +0 -0
  39. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/squash.py +0 -0
  40. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/classes/updater.py +0 -0
  41. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/release.md +0 -0
  42. {PKDevTools-0.13.20250208.215.data → PKDevTools-0.13.20250208.217.data}/purelib/PKDevTools/requirements.txt +0 -0
  43. {PKDevTools-0.13.20250208.215.dist-info → PKDevTools-0.13.20250208.217.dist-info}/LICENSE +0 -0
  44. {PKDevTools-0.13.20250208.215.dist-info → PKDevTools-0.13.20250208.217.dist-info}/WHEEL +0 -0
  45. {PKDevTools-0.13.20250208.215.dist-info → PKDevTools-0.13.20250208.217.dist-info}/entry_points.txt +0 -0
  46. {PKDevTools-0.13.20250208.215.dist-info → PKDevTools-0.13.20250208.217.dist-info}/top_level.txt +0 -0
@@ -45,6 +45,21 @@ class PKUserModel(Enum):
45
45
  subscriptionmodel = 7
46
46
  lastotp = 8
47
47
 
48
+ class PKScannerJob:
49
+ scannerId=''
50
+ userIds=[]
51
+
52
+ def scannerJobFromRecord(row):
53
+ scanner = PKScannerJob()
54
+ scanner.scannerId= row[0]
55
+ scanner.userIds = []
56
+ for user in row[1].split(";"):
57
+ scanner.userIds.append(user)
58
+ if len(scanner.userIds) > 0:
59
+ # Only unique values
60
+ scanner.userIds = list(set(scanner.userIds))
61
+ return scanner
62
+
48
63
  class PKUser:
49
64
  userid=0
50
65
  username=""
@@ -55,6 +70,8 @@ class PKUser:
55
70
  totptoken=""
56
71
  subscriptionmodel=""
57
72
  lastotp=""
73
+ balance = 0
74
+ scannerJobs = []
58
75
 
59
76
  def userFromDBRecord(row):
60
77
  user = PKUser()
@@ -68,6 +85,18 @@ class PKUser:
68
85
  user.subscriptionmodel= row[7]
69
86
  user.lastotp= row[8]
70
87
  return user
88
+
89
+ def userFromAlertsRecord(row):
90
+ user = PKUser()
91
+ user.userid= row[0]
92
+ user.balance= row[1]
93
+ user.scannerJobs = []
94
+ for job in row[2].split(";"):
95
+ user.scannerJobs.append(str(job).upper())
96
+ if len(user.scannerJobs) > 0:
97
+ # Only unique values
98
+ user.scannerJobs = list(set(user.scannerJobs))
99
+ return user
71
100
 
72
101
  class DBManager:
73
102
 
@@ -323,3 +352,61 @@ class DBManager:
323
352
  self.conn.close()
324
353
  self.conn = None
325
354
  return users
355
+
356
+ def alertsForUser(self,userID:int):
357
+ try:
358
+ users = []
359
+ cursor = self.connection()
360
+ records = cursor.execute(f"SELECT * FROM alertsubscriptions where userId={self.sanitisedIntValue(userID)}")
361
+ for row in records.rows:
362
+ users.append(PKUser.userFromAlertsRecord(row))
363
+ # cursor.close()
364
+ if len(records.columns) > 0 and len(records.rows) <= 0:
365
+ default_logger().debug(f"Users not found!")
366
+ except Exception as e: # pragma: no cover
367
+ print(f"Could not get alertsForUser\n{e}")
368
+ default_logger().debug(e, exc_info=True)
369
+ pass
370
+ finally:
371
+ if self.conn is not None:
372
+ self.conn.close()
373
+ self.conn = None
374
+ return users[0] if len(users) > 0 else None
375
+
376
+ def scannerJobsWithActiveUsers(self):
377
+ try:
378
+ scanners = []
379
+ cursor = self.connection()
380
+ records = cursor.execute(f"SELECT * FROM scannerjobs where users != ''")
381
+ for row in records.rows:
382
+ scanners.append(PKScannerJob.scannerJobFromRecord(row))
383
+ if len(records.columns) > 0 and len(records.rows) <= 0:
384
+ default_logger().debug(f"Scanners not found!")
385
+ except Exception as e: # pragma: no cover
386
+ print(f"Could not get scannerJobsWithActiveUsers\n{e}")
387
+ default_logger().debug(e, exc_info=True)
388
+ pass
389
+ finally:
390
+ if self.conn is not None:
391
+ self.conn.close()
392
+ self.conn = None
393
+ return scanners
394
+
395
+ def usersForScannerJobId(self,scannerJobId:str):
396
+ try:
397
+ scanners = []
398
+ cursor = self.connection()
399
+ records = cursor.execute(f"SELECT * FROM scannerjobs where scannerId = {self.sanitisedStrValue(str(scannerJobId).upper())}")
400
+ for row in records.rows:
401
+ scanners.append(PKScannerJob.scannerJobFromRecord(row))
402
+ if len(records.columns) > 0 and len(records.rows) <= 0:
403
+ default_logger().debug(f"Scanners not found!")
404
+ except Exception as e: # pragma: no cover
405
+ print(f"Could not get scannerJobsWithActiveUsers\n{e}")
406
+ default_logger().debug(e, exc_info=True)
407
+ pass
408
+ finally:
409
+ if self.conn is not None:
410
+ self.conn.close()
411
+ self.conn = None
412
+ return scanners[0].userIds if len(scanners) > 0 else []
@@ -187,12 +187,20 @@ def send_message(message, userID=None, parse_type="HTML", list_png=None, retrial
187
187
  if list_png is None or any(elem is None for elem in list_png):
188
188
  resp = None
189
189
  for people_id in LIST_PEOPLE_IDS_CHAT:
190
- url = (
191
- botsUrl
192
- + "/sendMessage?chat_id={}&text={}&parse_mode={parse_mode}&reply_markup={reply_markup_encoded}".format(
193
- people_id, escaped_text[:MAX_MSG_LENGTH], parse_mode=parse_type, reply_markup_encoded=reply_markup_encoded
190
+ if len(reply_markup_encoded) > 0:
191
+ url = (
192
+ botsUrl
193
+ + "/sendMessage?chat_id={}&text={}&reply_markup={reply_markup_encoded}".format(
194
+ people_id, escaped_text[:MAX_MSG_LENGTH], reply_markup_encoded=reply_markup_encoded
195
+ )
196
+ )
197
+ else:
198
+ url = (
199
+ botsUrl
200
+ + "/sendMessage?chat_id={}&text={}&parse_mode={parse_mode}".format(
201
+ people_id, escaped_text[:MAX_MSG_LENGTH], parse_mode=parse_type
202
+ )
194
203
  )
195
- )
196
204
  try:
197
205
  resp = requests.get(
198
206
  url, timeout=2 # 2 sec timeout
@@ -0,0 +1 @@
1
+ VERSION='0.13.20250208.217'
@@ -1,9 +1,9 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: PKDevTools
3
- Version: 0.13.20250208.215
3
+ Version: 0.13.20250208.217
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.20250208.215.zip
6
+ Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250208.217.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.20250208.217.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
6
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/DBManager.py,sha256=dUP2TkHZAs_UIUVgn_VTaZ_F_rvGJtaZPDTv4fmRaas,18545
11
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/GmailReader.py,sha256=6iOTXNzOBqXPeGwNnq853N1zOaHIcAY0EozisjhSOTE,6856
15
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
18
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Telegram.py,sha256=NWuMNtvkmURRdvPpgjfWh_uVoOGNNSrf0p_SgBpiB94,15459
30
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=MX2NR8kNZIkno2DUcJa00N3dPSkSNXruOGmxm9YvZmw,9075
31
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/__init__.py,sha256=NbOqJCq-rKzjBh_61-m79k9WB0ToaTAcWXUdEVEaprw,28
34
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
+ PKDevTools-0.13.20250208.217.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
+ PKDevTools-0.13.20250208.217.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
40
+ PKDevTools-0.13.20250208.217.dist-info/METADATA,sha256=5a2rRLhCCnp7kS2bWLr136y9f8BibG-ogymAsGzJMPc,5981
41
+ PKDevTools-0.13.20250208.217.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
42
+ PKDevTools-0.13.20250208.217.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
43
+ PKDevTools-0.13.20250208.217.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
44
+ PKDevTools-0.13.20250208.217.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- VERSION='0.13.20250208.215'
@@ -1,44 +0,0 @@
1
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
2
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
3
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
4
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
5
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
6
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
7
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
8
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
9
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
10
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/DBManager.py,sha256=c9tLfLq9RdvntghvI1MxyN981qHzvNrTFDm31QuurFk,15187
11
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
12
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
13
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
14
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/GmailReader.py,sha256=6iOTXNzOBqXPeGwNnq853N1zOaHIcAY0EozisjhSOTE,6856
15
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
16
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
17
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
18
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
19
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
20
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
21
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
22
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
23
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
24
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
25
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
26
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
27
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
28
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
29
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Telegram.py,sha256=ZK3b1vBnSN7AYRhaMCNAcJuCmMSfFpLGlU3fPn7YEyk,15150
30
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=MX2NR8kNZIkno2DUcJa00N3dPSkSNXruOGmxm9YvZmw,9075
31
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
32
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
33
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/__init__.py,sha256=QWEbMCI_4zfmEKriNTxsQNggGWeb0hykF3_EOYh16lc,28
34
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
35
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
36
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
37
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
38
- PKDevTools-0.13.20250208.215.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
39
- PKDevTools-0.13.20250208.215.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
40
- PKDevTools-0.13.20250208.215.dist-info/METADATA,sha256=lkWTRGGD02un_axEcQl200HOHmxASwyvCHbXJDuZNKM,5981
41
- PKDevTools-0.13.20250208.215.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
42
- PKDevTools-0.13.20250208.215.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
43
- PKDevTools-0.13.20250208.215.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
44
- PKDevTools-0.13.20250208.215.dist-info/RECORD,,