PKDevTools 0.13.20250208.218__cp312-cp312-manylinux2014_x86_64.whl → 0.13.20250208.220__cp312-cp312-manylinux2014_x86_64.whl
Sign up to get free protection for your applications and to get access to all the features.
- {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.2
|
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=wbCNK9VTSKQyFPQS1trbFZshLQ2dVPvMptdJVo5Kmg8,5981
|
41
|
+
PKDevTools-0.13.20250208.220.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
|
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=HoTT-X7uWx8ctC45teJqOU2CGX0DCMt7UU7sOgIFG9Y,5981
|
41
|
-
PKDevTools-0.13.20250208.218.dist-info/WHEEL,sha256=aDUArjEbIuDQzblE24IvdIsBzRhJEjiXmuNUYQ-gpaA,104
|
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
|