PKDevTools 0.13.20250208.218__cp310-cp310-macosx_13_0_arm64.whl → 0.13.20250208.220__cp310-cp310-macosx_13_0_arm64.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.
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/DBManager.py +117 -0
- PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/__init__.py +1 -0
- {PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/METADATA +2 -2
- PKDevTools-0.13.20250208.220.dist-info/RECORD +44 -0
- PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/__init__.py +0 -1
- PKDevTools-0.13.20250208.218.dist-info/RECORD +0 -44
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/LICENSE.txt +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/README.txt +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/__init__.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Archiver.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/ColorText.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Committer.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/CookieHelper.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Environment.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Fetcher.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/FunctionTimeouts.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/GmailReader.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/MarketHours.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/MenuOptions.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/NSEMarketStatus.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/OutputControls.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKDateUtilities.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKGitFolderDownloader.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKJoinableQueue.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKMultiProcessorClient.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKPickler.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/PKTimer.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Pikey.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Singleton.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/SuppressOutput.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/System.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Telegram.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/UserSubscriptions.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/Utils.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/WorkflowManager.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/githubutilities.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/log.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/multiprocessing_logging.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/squash.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/classes/updater.py +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/release.md +0 -0
- {PKDevTools-0.13.20250208.218.data → PKDevTools-0.13.20250208.220.data}/purelib/PKDevTools/requirements.txt +0 -0
- {PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/LICENSE +0 -0
- {PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/WHEEL +0 -0
- {PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/entry_points.txt +0 -0
- {PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/top_level.txt +0 -0
@@ -410,3 +410,120 @@ class DBManager:
|
|
410
410
|
self.conn.close()
|
411
411
|
self.conn = None
|
412
412
|
return scanners[0].userIds if len(scanners) > 0 else []
|
413
|
+
|
414
|
+
def updateAlertSubscriptionModel(self,userID,charge:float,scanId:str):
|
415
|
+
try:
|
416
|
+
success = False
|
417
|
+
result = self.connection().execute("""
|
418
|
+
UPDATE alertsubscriptions
|
419
|
+
SET
|
420
|
+
balance = balance - ?,
|
421
|
+
scannerJobs = scannerJobs || ';' || ?
|
422
|
+
WHERE userId = ?;
|
423
|
+
""", (charge, scanId, userID))
|
424
|
+
if result.rows_affected > 0:
|
425
|
+
default_logger().debug(f"User: {userID} updated with balance and scannerJobs!")
|
426
|
+
success = self.topUpScannerJobs(scanId,userID)
|
427
|
+
except Exception as e: # pragma: no cover
|
428
|
+
print(f"Could not updateAlertSubscriptionModel UserID: {userID}\n{e}")
|
429
|
+
default_logger().debug(e, exc_info=True)
|
430
|
+
pass
|
431
|
+
finally:
|
432
|
+
if self.conn is not None:
|
433
|
+
self.conn.close()
|
434
|
+
self.conn = None
|
435
|
+
return success
|
436
|
+
|
437
|
+
def topUpAlertSubscriptionBalance(self,userID,topup:float):
|
438
|
+
"""
|
439
|
+
Handles a new user insertion as well as update.
|
440
|
+
|
441
|
+
If UserID does not exist, a new row is inserted with the given Balance.
|
442
|
+
If UserID already exists, only the Balance is updated by adding the new amount
|
443
|
+
(Balance + excluded.Balance).
|
444
|
+
"""
|
445
|
+
try:
|
446
|
+
success = False
|
447
|
+
result = self.connection().execute("""
|
448
|
+
INSERT INTO alertsubscriptions (userId, balance)
|
449
|
+
VALUES (?, ?)
|
450
|
+
ON CONFLICT(userId) DO UPDATE
|
451
|
+
SET balance = balance + excluded.balance;
|
452
|
+
""", (userID,topup))
|
453
|
+
if result.rows_affected > 0:
|
454
|
+
default_logger().debug(f"User: {userID} topped up with balance !")
|
455
|
+
success = True
|
456
|
+
except Exception as e: # pragma: no cover
|
457
|
+
print(f"Could not topUpAlertSubscriptionBalance UserID: {userID}\n{e}")
|
458
|
+
default_logger().debug(e, exc_info=True)
|
459
|
+
pass
|
460
|
+
finally:
|
461
|
+
if self.conn is not None:
|
462
|
+
self.conn.close()
|
463
|
+
self.conn = None
|
464
|
+
return success
|
465
|
+
|
466
|
+
def topUpScannerJobs(self,scanId,userID):
|
467
|
+
"""
|
468
|
+
Handles a new user insertion as well as update for a given scanId.
|
469
|
+
|
470
|
+
If scanId does not exist, a new row is inserted with the given userId.
|
471
|
+
If scanId already exists, only the users is updated by adding the new userId
|
472
|
+
"""
|
473
|
+
try:
|
474
|
+
success = False
|
475
|
+
result = self.connection().execute("""
|
476
|
+
INSERT INTO scannerjobs (scannerId, users)
|
477
|
+
VALUES (?, ?)
|
478
|
+
ON CONFLICT(scannerId) DO UPDATE
|
479
|
+
SET users = users || ';' || excluded.users;
|
480
|
+
""", (scanId,userID))
|
481
|
+
if result.rows_affected > 0:
|
482
|
+
default_logger().debug(f"User: {userID} added to scanId !")
|
483
|
+
success = True
|
484
|
+
except Exception as e: # pragma: no cover
|
485
|
+
print(f"Could not topUpScannerJobs UserID: {userID}\n{e}")
|
486
|
+
default_logger().debug(e, exc_info=True)
|
487
|
+
pass
|
488
|
+
finally:
|
489
|
+
if self.conn is not None:
|
490
|
+
self.conn.close()
|
491
|
+
self.conn = None
|
492
|
+
return success
|
493
|
+
|
494
|
+
def resetScannerJobs(self):
|
495
|
+
"""
|
496
|
+
Truncates scannerJobs and clears all jobs from users' alert subscriptions
|
497
|
+
"""
|
498
|
+
try:
|
499
|
+
success1 = False
|
500
|
+
result = self.connection().execute("DELETE from scannerjobs")
|
501
|
+
if result.rows_affected > 0:
|
502
|
+
default_logger().debug(f"scannerJobs truncated !")
|
503
|
+
success1 = True
|
504
|
+
except Exception as e: # pragma: no cover
|
505
|
+
print(f"Could not deleteScannerJobs \n{e}")
|
506
|
+
default_logger().debug(e, exc_info=True)
|
507
|
+
pass
|
508
|
+
finally:
|
509
|
+
if self.conn is not None:
|
510
|
+
self.conn.close()
|
511
|
+
self.conn = None
|
512
|
+
try:
|
513
|
+
success2 = False
|
514
|
+
result = self.connection().execute("""
|
515
|
+
UPDATE alertsubscriptions
|
516
|
+
SET scannerJobs = ''
|
517
|
+
""")
|
518
|
+
if result.rows_affected > 0:
|
519
|
+
default_logger().debug(f"alertsubscriptions updated with cleaned up scannerJobs!")
|
520
|
+
success2 = True
|
521
|
+
except Exception as e: # pragma: no cover
|
522
|
+
print(f"Could not deleteScannerJobs \n{e}")
|
523
|
+
default_logger().debug(e, exc_info=True)
|
524
|
+
pass
|
525
|
+
finally:
|
526
|
+
if self.conn is not None:
|
527
|
+
self.conn.close()
|
528
|
+
self.conn = None
|
529
|
+
return success1 and success2
|
@@ -0,0 +1 @@
|
|
1
|
+
VERSION='0.13.20250208.220'
|
@@ -1,9 +1,9 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: PKDevTools
|
3
|
-
Version: 0.13.20250208.
|
3
|
+
Version: 0.13.20250208.220
|
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.
|
6
|
+
Download-URL: https://github.com/pkjmesra/PKDevTools/archive/v0.13.20250208.220.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.220.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
|
2
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
|
3
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
|
4
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
|
5
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
|
6
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
|
7
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
|
8
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
|
9
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
|
10
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/DBManager.py,sha256=G-5ErANdlYG6v7wTa_2Kj27dmlM_5mcYdGUiGkTfbsM,23728
|
11
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
|
12
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
|
13
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
|
14
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/GmailReader.py,sha256=6iOTXNzOBqXPeGwNnq853N1zOaHIcAY0EozisjhSOTE,6856
|
15
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
|
16
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
|
17
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
|
18
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
|
19
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
|
20
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
|
21
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
|
22
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
|
23
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
|
24
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
|
25
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
|
26
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
|
27
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
|
28
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
|
29
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
|
30
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=MX2NR8kNZIkno2DUcJa00N3dPSkSNXruOGmxm9YvZmw,9075
|
31
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
|
32
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
|
33
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/__init__.py,sha256=BoiDBQscr1f1DzdbHTLRc_QbmrlKlFUYqaPm3YCjDFU,28
|
34
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
|
35
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
|
36
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
|
37
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
|
38
|
+
PKDevTools-0.13.20250208.220.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
|
39
|
+
PKDevTools-0.13.20250208.220.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
|
40
|
+
PKDevTools-0.13.20250208.220.dist-info/METADATA,sha256=wb0euID0DRtmQgHTUZQ5k8nmgK7ICx-bWqwlp2vK_04,5753
|
41
|
+
PKDevTools-0.13.20250208.220.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
|
42
|
+
PKDevTools-0.13.20250208.220.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
|
43
|
+
PKDevTools-0.13.20250208.220.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
|
44
|
+
PKDevTools-0.13.20250208.220.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
VERSION='0.13.20250208.218'
|
@@ -1,44 +0,0 @@
|
|
1
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/LICENSE.txt,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
|
2
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/README.txt,sha256=xw2oGRJ1M9lmJqEYw3VBh7ZjlNx7hIZw6fcDzC0shu8,4233
|
3
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/__init__.py,sha256=QyaxuW4OGDxF6KXLC5avvZyLhfMt9KnKAb4m9j1XUls,1152
|
4
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/release.md,sha256=NcfNPeUU9uaz8mRiRZRqPWkSpwoHVShdrXJqOJdKbnQ,1729
|
5
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/requirements.txt,sha256=Ob-LG6adhp05gxoZty8PWnWxqLS5L1ZUi88lf07HvUI,361
|
6
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Archiver.py,sha256=0D2wMp3a913QOsPXc0K_frtvpldDU7uIsP8DRAvaIQ0,6301
|
7
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/ColorText.py,sha256=sIsXd75jMtA44mdZQd6EO1MdFYQaH2IYukLEH9fZuEw,8585
|
8
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Committer.py,sha256=cHsIe9DonzQULOZwrXGuodatFSDNm5UiQafjVlWn-BE,4536
|
9
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/CookieHelper.py,sha256=PxW1_VanZ7AY7o7jMYxISBj9yhs69L0Sd8wvXYCRXAo,6212
|
10
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/DBManager.py,sha256=dUP2TkHZAs_UIUVgn_VTaZ_F_rvGJtaZPDTv4fmRaas,18545
|
11
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Environment.py,sha256=hvQwkjz9QunX0-3Dcuw5E76fjaejmHvrmiAOME9TqE4,1978
|
12
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Fetcher.py,sha256=W-yCSSujFie58lYAZ4HVo1gZey9R3Qpe3JL16F-eo9I,9011
|
13
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/FunctionTimeouts.py,sha256=xbxp-txDqiQOzVjazbrEPITMGvUIXQ0HqfFh8vYr4WU,2541
|
14
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/GmailReader.py,sha256=6iOTXNzOBqXPeGwNnq853N1zOaHIcAY0EozisjhSOTE,6856
|
15
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/MarketHours.py,sha256=2aRzd8JfCmxc3UryvrpUS7DvHuctpz_U-E0nv72gEaY,2159
|
16
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/MenuOptions.py,sha256=MC_OblDzSMCENVEZCQQX4whmY3vQAhE2oBZOL69JzyA,11606
|
17
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/NSEMarketStatus.py,sha256=DQ9VZ9Pl17rYnvK6x4M8s9LIPxGf9RUuUtmn2eBu5JE,5411
|
18
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/OutputControls.py,sha256=cXI8l2ZIJAZbTbVbG7wu7iNgMBFfs51XapCS27lNjmU,3472
|
19
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKDateUtilities.py,sha256=QIjCGyTMkax5mv0qGC9gjLxaz4zTFX2oRqDhXAbQ8Gk,17873
|
20
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKGitFolderDownloader.py,sha256=RM7ZQCERKl_ttlAoo5Nt9FKuWWUirQxCxL1thZ12_hE,2936
|
21
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKJoinableQueue.py,sha256=8eWkWiOaqGCAegV30-bgpPsfmhVVpuxLHdyrJNY3_OY,5122
|
22
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKMultiProcessorClient.py,sha256=Y5t_f14z6ygzPUHDH6YJIqLrm9s7TFk5ayLxK8MeTgw,13214
|
23
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKPickler.py,sha256=M2F2_Z7XAmo7qfzOEiVLq3RzpldfU8Y-MfMPrMZbNGU,14082
|
24
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/PKTimer.py,sha256=Y0jmvrXKLkwNH3j5qIwpL_th-Nf26oCHnxsZ7_AuV8U,3345
|
25
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Pikey.py,sha256=wDiOUIRSxYOIO7GGUw1eGrbDuVvJ-YAU6_dfQWRp2Fk,2744
|
26
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Singleton.py,sha256=tBIFCgVKqs5-K6w_wx0FNNT5aks1QmOLjE_xTMHbb10,4432
|
27
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/SuppressOutput.py,sha256=yAsdxsVJCbVi-irsxa_ClY7JutbRU_eAEMhw4NW4QdE,1951
|
28
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/System.py,sha256=tMNnGUQdhUjkysJ2b9EI8dy8iXdaHkshRXpeKZlyPf8,4005
|
29
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Telegram.py,sha256=_BnnsgUZL1pYZdcJensbUcvW6bi_tqvt6miTQf6OCY8,15505
|
30
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/UserSubscriptions.py,sha256=MX2NR8kNZIkno2DUcJa00N3dPSkSNXruOGmxm9YvZmw,9075
|
31
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/Utils.py,sha256=P_kJnTgMK6fA6SwIvNLThvHxYVcazhD5Zo5WL_kpC3Y,24264
|
32
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/WorkflowManager.py,sha256=rDamQR0fF-YSzOQTjMJnksJ6dxKs-PazW6fVFlAQ_Sk,9759
|
33
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/__init__.py,sha256=7Sgmf-ESD9ipt6sGba_cr_KiHnp9mYGv4NoiClMBMbw,28
|
34
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/githubutilities.py,sha256=UNSJzx8Ybn_x6zaSk497KQsMyDX7MYnQjjV-F0KP_Z0,3650
|
35
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/log.py,sha256=r-KBSGYXJ67Uzw51cNisB3x3uB5mlQWSOO_E6c_m1F8,15616
|
36
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/multiprocessing_logging.py,sha256=8W4fHL1Kstp2FIML6N6ghT--8HE4bmak3sZ1fsWF52U,7212
|
37
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/squash.py,sha256=iZ4MsOW_evD4VoWjO9pEHd2gWeswthM7uWSgVRpFvDw,2782
|
38
|
-
PKDevTools-0.13.20250208.218.data/purelib/PKDevTools/classes/updater.py,sha256=NQ46ulqswdXkjljFwPiwufgGoCZB-Fc7DdYYh9LyS-0,4709
|
39
|
-
PKDevTools-0.13.20250208.218.dist-info/LICENSE,sha256=5kDneOnQ4s9IktVsbcPcs6o0GhW7Rw_ySDac6TA2Cw4,1065
|
40
|
-
PKDevTools-0.13.20250208.218.dist-info/METADATA,sha256=IhFvFHrBovLpFAPuHLU2SNmAerNe0cdX8vZdcAoMgVw,5753
|
41
|
-
PKDevTools-0.13.20250208.218.dist-info/WHEEL,sha256=e371LA3b7MNA0F-VeyIqNDak9eYypgZ6oD_mcY6JoTQ,110
|
42
|
-
PKDevTools-0.13.20250208.218.dist-info/entry_points.txt,sha256=itdAnPuy8DO45uGuAEms0UJcoa2nGJVAUwm7NIL4-Yw,353
|
43
|
-
PKDevTools-0.13.20250208.218.dist-info/top_level.txt,sha256=WTig-LzPiEcyuyhbNRhJz1mX_RB-fojodPK48k3NmPg,11
|
44
|
-
PKDevTools-0.13.20250208.218.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/entry_points.txt
RENAMED
File without changes
|
{PKDevTools-0.13.20250208.218.dist-info → PKDevTools-0.13.20250208.220.dist-info}/top_level.txt
RENAMED
File without changes
|